You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by as...@apache.org on 2019/11/27 19:10:13 UTC

[airflow-site] branch asf-site updated (661f189 -> e4db016)

This is an automated email from the ASF dual-hosted git repository.

ash pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git.


    from 661f189  Docs for 1.10.6
     new f18ad1c  Add new website - AIP-11
     new 00ed176  Setup redirects from old docs urls to new
     new fa7badd  Add /objects.inv to redirects
     new e4db016  Merge pull request #198 from PolideaInternal/new-website-first-release

The 30 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .buildinfo                                         |     4 -
 .htaccess                                          |     4 +
 .keep                                              |    16 +
 1.10.1/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.1/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.1/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.1/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.1/_static/js/modernizr.min.js                 |     4 -
 1.10.2/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.2/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.2/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.2/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.2/_static/js/modernizr.min.js                 |     4 -
 1.10.3/_static/css/badge_only.css                  |     1 -
 1.10.3/_static/css/theme.css                       |     6 -
 1.10.3/_static/js/theme.js                         |     3 -
 1.10.4/_static/css/badge_only.css                  |     1 -
 1.10.4/_static/css/theme.css                       |     6 -
 1.10.4/_static/js/theme.js                         |     3 -
 1.10.6/_api/airflow/contrib/executors/index.html   |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   421 -
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 .../airflow/contrib/hooks/datadog_hook/index.html  |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   413 -
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   414 -
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   715 --
 .../airflow/contrib/hooks/grpc_hook/index.html     |   419 -
 .../airflow/contrib/hooks/imap_hook/index.html     |   657 --
 1.10.6/_api/airflow/contrib/hooks/index.html       |   481 -
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   403 -
 .../airflow/contrib/hooks/jira_hook/index.html     |   408 -
 .../airflow/contrib/hooks/mongo_hook/index.html    |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 .../airflow/contrib/hooks/pinot_hook/index.html    |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 .../airflow/contrib/hooks/qubole_hook/index.html   |   514 -
 .../airflow/contrib/hooks/redis_hook/index.html    |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 .../airflow/contrib/hooks/segment_hook/index.html  |   416 -
 .../airflow/contrib/hooks/sftp_hook/index.html     |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   557 -
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   461 -
 .../airflow/contrib/hooks/vertica_hook/index.html  |   419 -
 .../airflow/contrib/hooks/wasb_hook/index.html     |   542 -
 .../airflow/contrib/hooks/winrm_hook/index.html    |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 1.10.6/_api/airflow/contrib/operators/index.html   |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 1.10.6/_api/airflow/contrib/sensors/index.html     |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 .../airflow/executors/base_executor/index.html     |   510 -
 .../airflow/executors/celery_executor/index.html   |   527 -
 .../airflow/executors/dask_executor/index.html     |   428 -
 1.10.6/_api/airflow/executors/index.html           |   747 --
 .../airflow/executors/local_executor/index.html    |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 1.10.6/_api/airflow/hooks/S3_hook/index.html       |   722 --
 1.10.6/_api/airflow/hooks/base_hook/index.html     |   452 -
 1.10.6/_api/airflow/hooks/dbapi_hook/index.html    |   597 --
 1.10.6/_api/airflow/hooks/docker_hook/index.html   |   414 -
 1.10.6/_api/airflow/hooks/druid_hook/index.html    |   472 -
 1.10.6/_api/airflow/hooks/hdfs_hook/index.html     |   424 -
 1.10.6/_api/airflow/hooks/hive_hooks/index.html    |   880 --
 1.10.6/_api/airflow/hooks/http_hook/index.html     |   493 -
 1.10.6/_api/airflow/hooks/index.html               |   433 -
 1.10.6/_api/airflow/hooks/jdbc_hook/index.html     |   435 -
 1.10.6/_api/airflow/hooks/mssql_hook/index.html    |   429 -
 1.10.6/_api/airflow/hooks/mysql_hook/index.html    |   490 -
 1.10.6/_api/airflow/hooks/oracle_hook/index.html   |   485 -
 1.10.6/_api/airflow/hooks/pig_hook/index.html      |   418 -
 1.10.6/_api/airflow/hooks/postgres_hook/index.html |   486 -
 1.10.6/_api/airflow/hooks/presto_hook/index.html   |   477 -
 1.10.6/_api/airflow/hooks/samba_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/slack_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/sqlite_hook/index.html   |   419 -
 1.10.6/_api/airflow/hooks/webhdfs_hook/index.html  |   479 -
 1.10.6/_api/airflow/hooks/zendesk_hook/index.html  |   432 -
 1.10.6/_api/airflow/models/base/index.html         |   411 -
 1.10.6/_api/airflow/models/baseoperator/index.html |   993 --
 1.10.6/_api/airflow/models/chart/index.html        |   487 -
 1.10.6/_api/airflow/models/connection/index.html   |   532 -
 1.10.6/_api/airflow/models/crypto/index.html       |   445 -
 1.10.6/_api/airflow/models/dag/index.html          |  1242 ---
 1.10.6/_api/airflow/models/dagbag/index.html       |   518 -
 1.10.6/_api/airflow/models/dagpickle/index.html    |   429 -
 1.10.6/_api/airflow/models/dagrun/index.html       |   616 --
 1.10.6/_api/airflow/models/errors/index.html       |   422 -
 1.10.6/_api/airflow/models/index.html              |  3767 -------
 1.10.6/_api/airflow/models/knownevent/index.html   |   478 -
 1.10.6/_api/airflow/models/kubernetes/index.html   |   458 -
 1.10.6/_api/airflow/models/log/index.html          |   448 -
 1.10.6/_api/airflow/models/pool/index.html         |   471 -
 1.10.6/_api/airflow/models/skipmixin/index.html    |   421 -
 1.10.6/_api/airflow/models/slamiss/index.html      |   450 -
 1.10.6/_api/airflow/models/taskfail/index.html     |   445 -
 1.10.6/_api/airflow/models/taskinstance/index.html |   931 --
 .../_api/airflow/models/taskreschedule/index.html  |   467 -
 1.10.6/_api/airflow/models/user/index.html         |   437 -
 1.10.6/_api/airflow/models/variable/index.html     |   488 -
 1.10.6/_api/airflow/models/xcom/index.html         |   507 -
 .../airflow/operators/bash_operator/index.html     |   453 -
 .../airflow/operators/branch_operator/index.html   |   433 -
 .../airflow/operators/check_operator/index.html    |   599 --
 .../airflow/operators/dagrun_operator/index.html   |   444 -
 .../airflow/operators/docker_operator/index.html   |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 .../airflow/operators/dummy_operator/index.html    |   417 -
 .../airflow/operators/email_operator/index.html    |   442 -
 .../airflow/operators/generic_transfer/index.html  |   442 -
 .../airflow/operators/hive_operator/index.html     |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 .../airflow/operators/hive_to_druid/index.html     |   467 -
 .../airflow/operators/hive_to_mysql/index.html     |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 .../airflow/operators/http_operator/index.html     |   448 -
 1.10.6/_api/airflow/operators/index.html           |  1006 --
 .../airflow/operators/jdbc_operator/index.html     |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 .../airflow/operators/mssql_operator/index.html    |   439 -
 .../airflow/operators/mssql_to_hive/index.html     |   460 -
 .../airflow/operators/mysql_operator/index.html    |   441 -
 .../airflow/operators/mysql_to_hive/index.html     |   459 -
 .../airflow/operators/oracle_operator/index.html   |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 .../_api/airflow/operators/pig_operator/index.html |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 .../airflow/operators/presto_to_mysql/index.html   |   443 -
 .../airflow/operators/python_operator/index.html   |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 1.10.6/_api/airflow/operators/sensors/index.html   |   471 -
 .../airflow/operators/slack_operator/index.html    |   472 -
 .../airflow/operators/sqlite_operator/index.html   |   436 -
 .../airflow/operators/subdag_operator/index.html   |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 1.10.6/_api/airflow/sensors/hdfs_sensor/index.html |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 1.10.6/_api/airflow/sensors/http_sensor/index.html |   435 -
 1.10.6/_api/airflow/sensors/index.html             |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   448 -
 .../airflow/sensors/s3_prefix_sensor/index.html    |   450 -
 1.10.6/_api/airflow/sensors/sql_sensor/index.html  |   456 -
 .../airflow/sensors/time_delta_sensor/index.html   |   419 -
 1.10.6/_api/airflow/sensors/time_sensor/index.html |   416 -
 .../airflow/sensors/web_hdfs_sensor/index.html     |   416 -
 1.10.6/_api/index.html                             |   521 -
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 1.10.6/_modules/airflow/configuration.html         |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 1.10.6/_modules/airflow/contrib/hooks.html         |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 .../airflow/contrib/hooks/aws_logs_hook.html       |   446 -
 .../airflow/contrib/hooks/aws_sns_hook.html        |   407 -
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 .../airflow/contrib/hooks/bigquery_hook.html       |  2615 -----
 .../airflow/contrib/hooks/cassandra_hook.html      |   543 -
 .../airflow/contrib/hooks/cloudant_hook.html       |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 .../airflow/contrib/hooks/datadog_hook.html        |   501 -
 .../airflow/contrib/hooks/datastore_hook.html      |   682 --
 .../airflow/contrib/hooks/dingding_hook.html       |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   400 -
 1.10.6/_modules/airflow/contrib/hooks/fs_hook.html |   389 -
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   938 --
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   478 -
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   659 --
 .../airflow/contrib/hooks/jenkins_hook.html        |   391 -
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   429 -
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   640 --
 .../airflow/contrib/hooks/openfaas_hook.html       |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 .../airflow/contrib/hooks/qubole_hook.html         |   627 --
 .../_modules/airflow/contrib/hooks/redis_hook.html |   409 -
 .../airflow/contrib/hooks/redshift_hook.html       |   456 -
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 .../airflow/contrib/hooks/segment_hook.html        |   433 -
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 .../airflow/contrib/hooks/snowflake_hook.html      |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 .../airflow/contrib/hooks/spark_sql_hook.html      |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   698 --
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   606 --
 .../airflow/contrib/hooks/vertica_hook.html        |   396 -
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   534 -
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   577 --
 1.10.6/_modules/airflow/contrib/operators.html     |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 .../airflow/contrib/operators/gcs_to_bq.html       |   635 --
 .../airflow/contrib/operators/gcs_to_gcs.html      |   542 -
 .../airflow/contrib/operators/gcs_to_s3.html       |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 .../airflow/contrib/operators/sql_to_gcs.html      |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 .../airflow/contrib/sensors/bash_sensor.html       |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 .../airflow/contrib/sensors/file_sensor.html       |   412 -
 .../airflow/contrib/sensors/ftp_sensor.html        |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 .../airflow/contrib/sensors/gcs_sensor.html        |   655 --
 .../airflow/contrib/sensors/hdfs_sensor.html       |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 .../airflow/contrib/sensors/jira_sensor.html       |   492 -
 .../airflow/contrib/sensors/mongo_sensor.html      |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 .../airflow/contrib/sensors/sftp_sensor.html       |   393 -
 .../airflow/contrib/sensors/wasb_sensor.html       |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 1.10.6/_modules/airflow/exceptions.html            |   456 -
 1.10.6/_modules/airflow/executors.html             |   440 -
 .../_modules/airflow/executors/base_executor.html  |   555 -
 .../airflow/executors/celery_executor.html         |   637 --
 .../_modules/airflow/executors/dask_executor.html  |   440 -
 .../_modules/airflow/executors/local_executor.html |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 1.10.6/_modules/airflow/hooks.html                 |   437 -
 1.10.6/_modules/airflow/hooks/S3_hook.html         |   886 --
 1.10.6/_modules/airflow/hooks/base_hook.html       |   445 -
 1.10.6/_modules/airflow/hooks/dbapi_hook.html      |   648 --
 1.10.6/_modules/airflow/hooks/docker_hook.html     |   431 -
 1.10.6/_modules/airflow/hooks/druid_hook.html      |   508 -
 1.10.6/_modules/airflow/hooks/hdfs_hook.html       |   441 -
 1.10.6/_modules/airflow/hooks/hive_hooks.html      |  1347 ---
 1.10.6/_modules/airflow/hooks/http_hook.html       |   556 -
 1.10.6/_modules/airflow/hooks/jdbc_hook.html       |   404 -
 1.10.6/_modules/airflow/hooks/mssql_hook.html      |   398 -
 1.10.6/_modules/airflow/hooks/mysql_hook.html      |   517 -
 1.10.6/_modules/airflow/hooks/oracle_hook.html     |   574 --
 1.10.6/_modules/airflow/hooks/pig_hook.html        |   443 -
 1.10.6/_modules/airflow/hooks/postgres_hook.html   |   505 -
 1.10.6/_modules/airflow/hooks/presto_hook.html     |   483 -
 1.10.6/_modules/airflow/hooks/samba_hook.html      |   395 -
 1.10.6/_modules/airflow/hooks/slack_hook.html      |   405 -
 1.10.6/_modules/airflow/hooks/sqlite_hook.html     |   384 -
 1.10.6/_modules/airflow/hooks/webhdfs_hook.html    |   475 -
 1.10.6/_modules/airflow/hooks/zendesk_hook.html    |   455 -
 1.10.6/_modules/airflow/macros.html                |   451 -
 1.10.6/_modules/airflow/macros/hive.html           |   465 -
 1.10.6/_modules/airflow/models.html                |   383 -
 1.10.6/_modules/airflow/models/base.html           |   378 -
 1.10.6/_modules/airflow/models/baseoperator.html   |  1458 ---
 1.10.6/_modules/airflow/models/chart.html          |   393 -
 1.10.6/_modules/airflow/models/connection.html     |   642 --
 1.10.6/_modules/airflow/models/crypto.html         |   440 -
 1.10.6/_modules/airflow/models/dag.html            |  1980 ----
 1.10.6/_modules/airflow/models/dagbag.html         |   766 --
 1.10.6/_modules/airflow/models/dagpickle.html      |   395 -
 1.10.6/_modules/airflow/models/dagrun.html         |   790 --
 1.10.6/_modules/airflow/models/errors.html         |   374 -
 1.10.6/_modules/airflow/models/knownevent.html     |   397 -
 1.10.6/_modules/airflow/models/kubernetes.html     |   422 -
 1.10.6/_modules/airflow/models/log.html            |   411 -
 1.10.6/_modules/airflow/models/pool.html           |   452 -
 1.10.6/_modules/airflow/models/skipmixin.html      |   445 -
 1.10.6/_modules/airflow/models/slamiss.html        |   391 -
 1.10.6/_modules/airflow/models/taskfail.html       |   398 -
 1.10.6/_modules/airflow/models/taskinstance.html   |  1753 ----
 1.10.6/_modules/airflow/models/taskreschedule.html |   428 -
 1.10.6/_modules/airflow/models/user.html           |   383 -
 1.10.6/_modules/airflow/models/variable.html       |   495 -
 1.10.6/_modules/airflow/models/xcom.html           |   577 --
 1.10.6/_modules/airflow/operators.html             |   464 -
 .../_modules/airflow/operators/bash_operator.html  |   486 -
 .../airflow/operators/branch_operator.html         |   395 -
 .../_modules/airflow/operators/check_operator.html |   677 --
 .../airflow/operators/dagrun_operator.html         |   440 -
 .../airflow/operators/docker_operator.html         |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 .../_modules/airflow/operators/dummy_operator.html |   380 -
 .../_modules/airflow/operators/email_operator.html |   421 -
 .../airflow/operators/generic_transfer.html        |   424 -
 .../_modules/airflow/operators/hive_operator.html  |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 .../_modules/airflow/operators/hive_to_druid.html  |   589 --
 .../_modules/airflow/operators/hive_to_mysql.html  |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 .../_modules/airflow/operators/http_operator.html  |   442 -
 .../_modules/airflow/operators/jdbc_operator.html  |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 .../_modules/airflow/operators/mssql_operator.html |   406 -
 .../_modules/airflow/operators/mssql_to_hive.html  |   482 -
 .../_modules/airflow/operators/mysql_operator.html |   410 -
 .../_modules/airflow/operators/mysql_to_hive.html  |   487 -
 .../airflow/operators/oracle_operator.html         |   406 -
 .../airflow/operators/papermill_operator.html      |   401 -
 .../_modules/airflow/operators/pig_operator.html   |   420 -
 .../airflow/operators/postgres_operator.html       |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 .../airflow/operators/presto_to_mysql.html         |   423 -
 .../airflow/operators/python_operator.html         |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 1.10.6/_modules/airflow/operators/sensors.html     |   437 -
 .../_modules/airflow/operators/slack_operator.html |   481 -
 .../airflow/operators/sqlite_operator.html         |   397 -
 .../airflow/operators/subdag_operator.html         |   445 -
 1.10.6/_modules/airflow/sensors.html               |   406 -
 .../airflow/sensors/base_sensor_operator.html      |   484 -
 .../airflow/sensors/external_task_sensor.html      |   497 -
 1.10.6/_modules/airflow/sensors/hdfs_sensor.html   |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 1.10.6/_modules/airflow/sensors/http_sensor.html   |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 1.10.6/_modules/airflow/sensors/s3_key_sensor.html |   436 -
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   425 -
 1.10.6/_modules/airflow/sensors/sql_sensor.html    |   445 -
 .../airflow/sensors/time_delta_sensor.html         |   389 -
 1.10.6/_modules/airflow/sensors/time_sensor.html   |   383 -
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   387 -
 .../_modules/airflow/utils/log/logging_mixin.html  |   547 -
 1.10.6/_modules/index.html                         |   677 --
 1.10.6/api.html                                    |   525 -
 1.10.6/changelog.html                              |  3653 -------
 1.10.6/cli.html                                    |  1689 ---
 1.10.6/concepts.html                               |  1450 ---
 1.10.6/errors.html                                 |   437 -
 1.10.6/faq.html                                    |   538 -
 1.10.6/genindex.html                               |  9776 ------------------
 1.10.6/howto/check-health.html                     |   410 -
 1.10.6/howto/cli-completion.html                   |   401 -
 1.10.6/howto/connection/aws.html                   |   440 -
 1.10.6/howto/connection/gcp.html                   |   484 -
 1.10.6/howto/connection/gcp_sql.html               |   445 -
 1.10.6/howto/connection/grpc.html                  |   447 -
 1.10.6/howto/connection/index.html                 |   461 -
 1.10.6/howto/connection/mysql.html                 |   466 -
 1.10.6/howto/connection/oracle.html                |   455 -
 1.10.6/howto/connection/postgres.html              |   451 -
 1.10.6/howto/connection/ssh.html                   |   445 -
 1.10.6/howto/define_extra_link.html                |   478 -
 1.10.6/howto/executor/use-celery.html              |   494 -
 1.10.6/howto/executor/use-dask.html                |   404 -
 1.10.6/howto/executor/use-mesos.html               |   446 -
 1.10.6/howto/index.html                            |   435 -
 1.10.6/howto/initialize-database.html              |   409 -
 1.10.6/howto/operator/bash.html                    |   440 -
 1.10.6/howto/operator/dingding.html                |   516 -
 1.10.6/howto/operator/gcp/bigtable.html            |   624 --
 1.10.6/howto/operator/gcp/cloud_build.html         |   516 -
 1.10.6/howto/operator/gcp/compute.html             |   762 --
 1.10.6/howto/operator/gcp/function.html            |   616 --
 1.10.6/howto/operator/gcp/gcs.html                 |   527 -
 1.10.6/howto/operator/gcp/index.html               |   425 -
 1.10.6/howto/operator/gcp/natural_language.html    |   594 --
 1.10.6/howto/operator/gcp/spanner.html             |   738 --
 1.10.6/howto/operator/gcp/speech.html              |   522 -
 1.10.6/howto/operator/gcp/sql.html                 |  1386 ---
 1.10.6/howto/operator/gcp/transfer.html            |   917 --
 1.10.6/howto/operator/gcp/translate-speech.html    |   466 -
 1.10.6/howto/operator/gcp/translate.html           |   458 -
 1.10.6/howto/operator/gcp/video.html               |   600 --
 1.10.6/howto/operator/gcp/vision.html              |  1570 ---
 1.10.6/howto/operator/index.html                   |   438 -
 1.10.6/howto/operator/papermill.html               |   428 -
 1.10.6/howto/operator/python.html                  |   445 -
 1.10.6/howto/run-behind-proxy.html                 |   444 -
 1.10.6/howto/run-with-systemd.html                 |   394 -
 1.10.6/howto/run-with-upstart.html                 |   404 -
 1.10.6/howto/secure-connections.html               |   422 -
 1.10.6/howto/set-config.html                       |   419 -
 1.10.6/howto/tracking-user-activity.html           |   396 -
 1.10.6/howto/use-test-config.html                  |   389 -
 1.10.6/howto/write-logs.html                       |   548 -
 1.10.6/http-routingtable.html                      |   417 -
 1.10.6/index.html                                  |  1084 --
 1.10.6/installation.html                           |   543 -
 1.10.6/integration.html                            |  1158 ---
 1.10.6/kubernetes.html                             |   501 -
 1.10.6/license.html                                |   535 -
 1.10.6/lineage.html                                |   444 -
 1.10.6/macros.html                                 |   683 --
 1.10.6/metrics.html                                |   516 -
 1.10.6/plugins.html                                |   642 --
 1.10.6/privacy_notice.html                         |   395 -
 1.10.6/profiling.html                              |   396 -
 1.10.6/project.html                                |   426 -
 1.10.6/py-modindex.html                            |  1939 ----
 1.10.6/scheduler.html                              |   537 -
 1.10.6/search.html                                 |   360 -
 1.10.6/security.html                               |   908 --
 1.10.6/start.html                                  |   407 -
 1.10.6/timezone.html                               |   489 -
 1.10.6/tutorial.html                               |   790 --
 1.10.6/ui.html                                     |   442 -
 404.html                                           |   557 +
 _api/airflow/contrib/executors/index.html          |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 _api/airflow/contrib/hooks/aws_hook/index.html     |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |   421 -
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 _api/airflow/contrib/hooks/datadog_hook/index.html |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 _api/airflow/contrib/hooks/emr_hook/index.html     |   413 -
 _api/airflow/contrib/hooks/fs_hook/index.html      |   414 -
 _api/airflow/contrib/hooks/ftp_hook/index.html     |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 _api/airflow/contrib/hooks/gcs_hook/index.html     |   715 --
 _api/airflow/contrib/hooks/grpc_hook/index.html    |   419 -
 _api/airflow/contrib/hooks/imap_hook/index.html    |   657 --
 _api/airflow/contrib/hooks/index.html              |   481 -
 _api/airflow/contrib/hooks/jenkins_hook/index.html |   403 -
 _api/airflow/contrib/hooks/jira_hook/index.html    |   408 -
 _api/airflow/contrib/hooks/mongo_hook/index.html   |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 _api/airflow/contrib/hooks/pinot_hook/index.html   |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 _api/airflow/contrib/hooks/qubole_hook/index.html  |   514 -
 _api/airflow/contrib/hooks/redis_hook/index.html   |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 _api/airflow/contrib/hooks/segment_hook/index.html |   416 -
 _api/airflow/contrib/hooks/sftp_hook/index.html    |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |   557 -
 _api/airflow/contrib/hooks/ssh_hook/index.html     |   461 -
 _api/airflow/contrib/hooks/vertica_hook/index.html |   419 -
 _api/airflow/contrib/hooks/wasb_hook/index.html    |   542 -
 _api/airflow/contrib/hooks/winrm_hook/index.html   |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 _api/airflow/contrib/operators/index.html          |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 _api/airflow/contrib/sensors/ftp_sensor/index.html |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 _api/airflow/contrib/sensors/gcs_sensor/index.html |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 _api/airflow/contrib/sensors/index.html            |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 _api/airflow/executors/base_executor/index.html    |   510 -
 _api/airflow/executors/celery_executor/index.html  |   527 -
 _api/airflow/executors/dask_executor/index.html    |   428 -
 _api/airflow/executors/index.html                  |   747 --
 _api/airflow/executors/local_executor/index.html   |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 _api/airflow/hooks/S3_hook/index.html              |   722 --
 _api/airflow/hooks/base_hook/index.html            |   452 -
 _api/airflow/hooks/dbapi_hook/index.html           |   597 --
 _api/airflow/hooks/docker_hook/index.html          |   414 -
 _api/airflow/hooks/druid_hook/index.html           |   472 -
 _api/airflow/hooks/hdfs_hook/index.html            |   424 -
 _api/airflow/hooks/hive_hooks/index.html           |   880 --
 _api/airflow/hooks/http_hook/index.html            |   493 -
 _api/airflow/hooks/index.html                      |   433 -
 _api/airflow/hooks/jdbc_hook/index.html            |   435 -
 _api/airflow/hooks/mssql_hook/index.html           |   429 -
 _api/airflow/hooks/mysql_hook/index.html           |   490 -
 _api/airflow/hooks/oracle_hook/index.html          |   485 -
 _api/airflow/hooks/pig_hook/index.html             |   418 -
 _api/airflow/hooks/postgres_hook/index.html        |   486 -
 _api/airflow/hooks/presto_hook/index.html          |   477 -
 _api/airflow/hooks/samba_hook/index.html           |   408 -
 _api/airflow/hooks/slack_hook/index.html           |   408 -
 _api/airflow/hooks/sqlite_hook/index.html          |   419 -
 _api/airflow/hooks/webhdfs_hook/index.html         |   479 -
 _api/airflow/hooks/zendesk_hook/index.html         |   432 -
 _api/airflow/models/base/index.html                |   411 -
 _api/airflow/models/baseoperator/index.html        |   993 --
 _api/airflow/models/chart/index.html               |   487 -
 _api/airflow/models/connection/index.html          |   532 -
 _api/airflow/models/crypto/index.html              |   445 -
 _api/airflow/models/dag/index.html                 |  1242 ---
 _api/airflow/models/dagbag/index.html              |   518 -
 _api/airflow/models/dagpickle/index.html           |   429 -
 _api/airflow/models/dagrun/index.html              |   616 --
 _api/airflow/models/errors/index.html              |   422 -
 _api/airflow/models/index.html                     |  3767 -------
 _api/airflow/models/knownevent/index.html          |   478 -
 _api/airflow/models/kubernetes/index.html          |   458 -
 _api/airflow/models/log/index.html                 |   448 -
 _api/airflow/models/pool/index.html                |   471 -
 _api/airflow/models/skipmixin/index.html           |   421 -
 _api/airflow/models/slamiss/index.html             |   450 -
 _api/airflow/models/taskfail/index.html            |   445 -
 _api/airflow/models/taskinstance/index.html        |   931 --
 _api/airflow/models/taskreschedule/index.html      |   467 -
 _api/airflow/models/user/index.html                |   437 -
 _api/airflow/models/variable/index.html            |   488 -
 _api/airflow/models/xcom/index.html                |   507 -
 _api/airflow/operators/bash_operator/index.html    |   453 -
 _api/airflow/operators/branch_operator/index.html  |   433 -
 _api/airflow/operators/check_operator/index.html   |   599 --
 _api/airflow/operators/dagrun_operator/index.html  |   444 -
 _api/airflow/operators/docker_operator/index.html  |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 _api/airflow/operators/dummy_operator/index.html   |   417 -
 _api/airflow/operators/email_operator/index.html   |   442 -
 _api/airflow/operators/generic_transfer/index.html |   442 -
 _api/airflow/operators/hive_operator/index.html    |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 _api/airflow/operators/hive_to_druid/index.html    |   467 -
 _api/airflow/operators/hive_to_mysql/index.html    |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 _api/airflow/operators/http_operator/index.html    |   448 -
 _api/airflow/operators/index.html                  |  1006 --
 _api/airflow/operators/jdbc_operator/index.html    |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 _api/airflow/operators/mssql_operator/index.html   |   439 -
 _api/airflow/operators/mssql_to_hive/index.html    |   460 -
 _api/airflow/operators/mysql_operator/index.html   |   441 -
 _api/airflow/operators/mysql_to_hive/index.html    |   459 -
 _api/airflow/operators/oracle_operator/index.html  |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 _api/airflow/operators/pig_operator/index.html     |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 _api/airflow/operators/presto_to_mysql/index.html  |   443 -
 _api/airflow/operators/python_operator/index.html  |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 _api/airflow/operators/sensors/index.html          |   471 -
 _api/airflow/operators/slack_operator/index.html   |   472 -
 _api/airflow/operators/sqlite_operator/index.html  |   436 -
 _api/airflow/operators/subdag_operator/index.html  |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 _api/airflow/sensors/hdfs_sensor/index.html        |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 _api/airflow/sensors/http_sensor/index.html        |   435 -
 _api/airflow/sensors/index.html                    |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 _api/airflow/sensors/s3_key_sensor/index.html      |   448 -
 _api/airflow/sensors/s3_prefix_sensor/index.html   |   450 -
 _api/airflow/sensors/sql_sensor/index.html         |   456 -
 _api/airflow/sensors/time_delta_sensor/index.html  |   419 -
 _api/airflow/sensors/time_sensor/index.html        |   416 -
 _api/airflow/sensors/web_hdfs_sensor/index.html    |   416 -
 _api/index.html                                    |   521 -
 _gen/docs-docs-index.json                          |    11 +
 _gen/docs-index.json                               |    11 +
 _gen/indexes/.keep                                 |    16 +
 _gen/indexes/en/blog-index.json                    |     1 +
 _gen/indexes/en/blog-posts.json                    |     1 +
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 _modules/airflow/configuration.html                |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 _modules/airflow/contrib/hooks.html                |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 _modules/airflow/contrib/hooks/aws_hook.html       |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |   446 -
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |   407 -
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  2615 -----
 _modules/airflow/contrib/hooks/cassandra_hook.html |   543 -
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 _modules/airflow/contrib/hooks/datadog_hook.html   |   501 -
 _modules/airflow/contrib/hooks/datastore_hook.html |   682 --
 _modules/airflow/contrib/hooks/dingding_hook.html  |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 _modules/airflow/contrib/hooks/emr_hook.html       |   400 -
 _modules/airflow/contrib/hooks/fs_hook.html        |   389 -
 _modules/airflow/contrib/hooks/ftp_hook.html       |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 _modules/airflow/contrib/hooks/gcs_hook.html       |   938 --
 _modules/airflow/contrib/hooks/grpc_hook.html      |   478 -
 _modules/airflow/contrib/hooks/imap_hook.html      |   659 --
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   391 -
 _modules/airflow/contrib/hooks/jira_hook.html      |   429 -
 _modules/airflow/contrib/hooks/mongo_hook.html     |   640 --
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 _modules/airflow/contrib/hooks/pinot_hook.html     |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 _modules/airflow/contrib/hooks/qubole_hook.html    |   627 --
 _modules/airflow/contrib/hooks/redis_hook.html     |   409 -
 _modules/airflow/contrib/hooks/redshift_hook.html  |   456 -
 _modules/airflow/contrib/hooks/sagemaker_hook.html |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 _modules/airflow/contrib/hooks/segment_hook.html   |   433 -
 _modules/airflow/contrib/hooks/sftp_hook.html      |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 _modules/airflow/contrib/hooks/snowflake_hook.html |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   698 --
 _modules/airflow/contrib/hooks/ssh_hook.html       |   606 --
 _modules/airflow/contrib/hooks/vertica_hook.html   |   396 -
 _modules/airflow/contrib/hooks/wasb_hook.html      |   534 -
 _modules/airflow/contrib/hooks/winrm_hook.html     |   577 --
 _modules/airflow/contrib/operators.html            |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   635 --
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   542 -
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 _modules/airflow/contrib/operators/sql_to_gcs.html |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 _modules/airflow/contrib/sensors/bash_sensor.html  |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 _modules/airflow/contrib/sensors/file_sensor.html  |   412 -
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   655 --
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 _modules/airflow/contrib/sensors/jira_sensor.html  |   492 -
 _modules/airflow/contrib/sensors/mongo_sensor.html |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   393 -
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 _modules/airflow/exceptions.html                   |   456 -
 _modules/airflow/executors.html                    |   440 -
 _modules/airflow/executors/base_executor.html      |   555 -
 _modules/airflow/executors/celery_executor.html    |   637 --
 _modules/airflow/executors/dask_executor.html      |   440 -
 _modules/airflow/executors/local_executor.html     |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 _modules/airflow/hooks.html                        |   437 -
 _modules/airflow/hooks/S3_hook.html                |   886 --
 _modules/airflow/hooks/base_hook.html              |   445 -
 _modules/airflow/hooks/dbapi_hook.html             |   648 --
 _modules/airflow/hooks/docker_hook.html            |   431 -
 _modules/airflow/hooks/druid_hook.html             |   508 -
 _modules/airflow/hooks/hdfs_hook.html              |   441 -
 _modules/airflow/hooks/hive_hooks.html             |  1347 ---
 _modules/airflow/hooks/http_hook.html              |   556 -
 _modules/airflow/hooks/jdbc_hook.html              |   404 -
 _modules/airflow/hooks/mssql_hook.html             |   398 -
 _modules/airflow/hooks/mysql_hook.html             |   517 -
 _modules/airflow/hooks/oracle_hook.html            |   574 --
 _modules/airflow/hooks/pig_hook.html               |   443 -
 _modules/airflow/hooks/postgres_hook.html          |   505 -
 _modules/airflow/hooks/presto_hook.html            |   483 -
 _modules/airflow/hooks/samba_hook.html             |   395 -
 _modules/airflow/hooks/slack_hook.html             |   405 -
 _modules/airflow/hooks/sqlite_hook.html            |   384 -
 _modules/airflow/hooks/webhdfs_hook.html           |   475 -
 _modules/airflow/hooks/zendesk_hook.html           |   455 -
 _modules/airflow/macros.html                       |   451 -
 _modules/airflow/macros/hive.html                  |   465 -
 _modules/airflow/models.html                       |   383 -
 _modules/airflow/models/base.html                  |   378 -
 _modules/airflow/models/baseoperator.html          |  1458 ---
 _modules/airflow/models/chart.html                 |   393 -
 _modules/airflow/models/connection.html            |   642 --
 _modules/airflow/models/crypto.html                |   440 -
 _modules/airflow/models/dag.html                   |  1980 ----
 _modules/airflow/models/dagbag.html                |   766 --
 _modules/airflow/models/dagpickle.html             |   395 -
 _modules/airflow/models/dagrun.html                |   790 --
 _modules/airflow/models/errors.html                |   374 -
 _modules/airflow/models/knownevent.html            |   397 -
 _modules/airflow/models/kubernetes.html            |   422 -
 _modules/airflow/models/log.html                   |   411 -
 _modules/airflow/models/pool.html                  |   452 -
 _modules/airflow/models/skipmixin.html             |   445 -
 _modules/airflow/models/slamiss.html               |   391 -
 _modules/airflow/models/taskfail.html              |   398 -
 _modules/airflow/models/taskinstance.html          |  1753 ----
 _modules/airflow/models/taskreschedule.html        |   428 -
 _modules/airflow/models/user.html                  |   383 -
 _modules/airflow/models/variable.html              |   495 -
 _modules/airflow/models/xcom.html                  |   577 --
 _modules/airflow/operators.html                    |   464 -
 _modules/airflow/operators/bash_operator.html      |   486 -
 _modules/airflow/operators/branch_operator.html    |   395 -
 _modules/airflow/operators/check_operator.html     |   677 --
 _modules/airflow/operators/dagrun_operator.html    |   440 -
 _modules/airflow/operators/docker_operator.html    |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 _modules/airflow/operators/dummy_operator.html     |   380 -
 _modules/airflow/operators/email_operator.html     |   421 -
 _modules/airflow/operators/generic_transfer.html   |   424 -
 _modules/airflow/operators/hive_operator.html      |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 _modules/airflow/operators/hive_to_druid.html      |   589 --
 _modules/airflow/operators/hive_to_mysql.html      |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 _modules/airflow/operators/http_operator.html      |   442 -
 _modules/airflow/operators/jdbc_operator.html      |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 _modules/airflow/operators/mssql_operator.html     |   406 -
 _modules/airflow/operators/mssql_to_hive.html      |   482 -
 _modules/airflow/operators/mysql_operator.html     |   410 -
 _modules/airflow/operators/mysql_to_hive.html      |   487 -
 _modules/airflow/operators/oracle_operator.html    |   406 -
 _modules/airflow/operators/papermill_operator.html |   401 -
 _modules/airflow/operators/pig_operator.html       |   420 -
 _modules/airflow/operators/postgres_operator.html  |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 _modules/airflow/operators/presto_to_mysql.html    |   423 -
 _modules/airflow/operators/python_operator.html    |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 _modules/airflow/operators/sensors.html            |   437 -
 _modules/airflow/operators/slack_operator.html     |   481 -
 _modules/airflow/operators/sqlite_operator.html    |   397 -
 _modules/airflow/operators/subdag_operator.html    |   445 -
 _modules/airflow/sensors.html                      |   406 -
 _modules/airflow/sensors/base_sensor_operator.html |   484 -
 _modules/airflow/sensors/external_task_sensor.html |   497 -
 _modules/airflow/sensors/hdfs_sensor.html          |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 _modules/airflow/sensors/http_sensor.html          |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 _modules/airflow/sensors/s3_key_sensor.html        |   436 -
 _modules/airflow/sensors/s3_prefix_sensor.html     |   425 -
 _modules/airflow/sensors/sql_sensor.html           |   445 -
 _modules/airflow/sensors/time_delta_sensor.html    |   389 -
 _modules/airflow/sensors/time_sensor.html          |   383 -
 _modules/airflow/sensors/web_hdfs_sensor.html      |   387 -
 _modules/airflow/utils/log/logging_mixin.html      |   547 -
 _modules/index.html                                |   677 --
 api.html                                           |   525 -
 .../index.html                                     |   672 ++
 blog/index.html                                    |   649 ++
 blog/index.xml                                     |    57 +
 .../index.html                                     |   711 ++
 blog/tags/community/index.html                     |   624 ++
 blog/tags/community/index.xml                      |    36 +
 blog/tags/development/index.html                   |   624 ++
 blog/tags/development/index.xml                    |    40 +
 browserconfig.xml                                  |     2 +
 categories/index.html                              |   553 +
 categories/index.xml                               |    17 +
 changelog.html                                     |  3653 -------
 chunk-1.b2992.js                                   |     1 +
 chunk-3.b2992.js                                   |     1 +
 chunk-4.b2992.js                                   |    19 +
 chunk-5.b2992.js                                   |    51 +
 cli.html                                           |  1689 ---
 community/index.html                               |  1671 +++
 community/index.xml                                |    17 +
 concepts.html                                      |  1450 ---
 css/swagger-ui.css                                 |     4 +
 docs.b2992.js                                      |     1 +
 {_images => docs/1.10.1/_images}/adhoc.png         |   Bin
 {_images => docs/1.10.1/_images}/airflow.gif       |   Bin
 {_images => docs/1.10.1/_images}/apache.jpg        |   Bin
 {_images => docs/1.10.1/_images}/branch_bad.png    |   Bin
 {_images => docs/1.10.1/_images}/branch_good.png   |   Bin
 {_images => docs/1.10.1/_images}/chart.png         |   Bin
 {_images => docs/1.10.1/_images}/chart_form.png    |   Bin
 {1.10.1 => docs/1.10.1}/_images/code.png           |   Bin
 .../1.10.1/_images}/connection_create.png          |   Bin
 .../1.10.1/_images}/connection_edit.png            |   Bin
 {_images => docs/1.10.1/_images}/connections.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/context.png        |   Bin
 {1.10.1 => docs/1.10.1}/_images/dags.png           |   Bin
 {1.10.1 => docs/1.10.1}/_images/duration.png       |   Bin
 {1.10.1 => docs/1.10.1}/_images/gantt.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/graph.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/incubator.jpg      |   Bin
 .../1.10.1}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.5 => docs/1.10.1}/_images/pin_large.png      |   Bin
 {_images => docs/1.10.1/_images}/subdag_after.png  |   Bin
 {_images => docs/1.10.1/_images}/subdag_before.png |   Bin
 {_images => docs/1.10.1/_images}/subdag_zoom.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/tree.png           |   Bin
 .../1.10.1/_images}/variable_hidden.png            |   Bin
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../airflow/contrib/sensors/cassandra_sensor.html  |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.1}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.1}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.1}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.1}/_modules/airflow/macros.html           |     0
 .../1.10.1}/_modules/airflow/macros/hive.html      |     0
 .../1.10.1}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.1 => docs/1.10.1}/_modules/index.html        |     0
 {1.10.1 => docs/1.10.1}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.1}/_sources/cli.rst.txt       |     0
 {1.10.1 => docs/1.10.1}/_sources/code.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/concepts.rst.txt  |     0
 {1.10.3 => docs/1.10.1}/_sources/faq.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.1}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.1}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.1}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/index.rst.txt     |     0
 .../1.10.1}/_sources/installation.rst.txt          |     0
 .../1.10.1}/_sources/integration.rst.txt           |     0
 .../1.10.1}/_sources/kubernetes.rst.txt            |     0
 {1.10.4 => docs/1.10.1}/_sources/license.rst.txt   |     0
 {1.10.2 => docs/1.10.1}/_sources/lineage.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/plugins.rst.txt   |     0
 {1.10.4 => docs/1.10.1}/_sources/profiling.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/project.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/scheduler.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/security.rst.txt  |     0
 {1.10.2 => docs/1.10.1}/_sources/start.rst.txt     |     0
 {1.10.2 => docs/1.10.1}/_sources/timezone.rst.txt  |     0
 {1.10.1 => docs/1.10.1}/_sources/tutorial.rst.txt  |     0
 {1.10.4 => docs/1.10.1}/_sources/ui.rst.txt        |     0
 {1.10.2 => docs/1.10.1}/_static/ajax-loader.gif    |   Bin
 {1.10.2 => docs/1.10.1}/_static/basic.css          |     0
 {1.10.2 => docs/1.10.1}/_static/comment-bright.png |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment-close.png  |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment.png        |   Bin
 {1.10.2 => docs/1.10.1}/_static/css/badge_only.css |     0
 {1.10.2 => docs/1.10.1}/_static/css/theme.css      |     0
 {1.10.2 => docs/1.10.1}/_static/doctools.js        |     0
 .../1.10.1}/_static/documentation_options.js       |     0
 {1.10.2 => docs/1.10.1}/_static/down-pressed.png   |   Bin
 {1.10.2 => docs/1.10.1}/_static/down.png           |   Bin
 {_static => docs/1.10.1/_static}/file.png          |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.1/_static}/fonts/Inconsolata.ttf          |   Bin
 .../1.10.1/_static}/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.1/_static}/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff       |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff2      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.svg  |     0
 .../1.10.1/_static}/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.woff |   Bin
 .../_static}/fonts/fontawesome-webfont.woff2       |   Bin
 {1.10.4 => docs/1.10.1}/_static/jquery-3.2.1.js    |     0
 {1.10.4 => docs/1.10.1}/_static/jquery.js          |     0
 .../1.10.1/_static}/js/modernizr.min.js            |     0
 {1.10.2 => docs/1.10.1}/_static/js/theme.js        |     0
 {_static => docs/1.10.1/_static}/minus.png         |   Bin
 {_static => docs/1.10.1/_static}/plus.png          |   Bin
 {_static => docs/1.10.1/_static}/pygments.css      |     0
 {1.10.1 => docs/1.10.1}/_static/searchtools.js     |     0
 .../1.10.1/_static}/underscore-1.3.1.js            |     0
 {_static => docs/1.10.1/_static}/underscore.js     |     0
 {1.10.2 => docs/1.10.1}/_static/up-pressed.png     |   Bin
 {1.10.2 => docs/1.10.1}/_static/up.png             |   Bin
 {1.10.2 => docs/1.10.1}/_static/websupport.js      |     0
 {1.10.1 => docs/1.10.1}/api.html                   |     0
 {1.10.1 => docs/1.10.1}/cli.html                   |     0
 {1.10.1 => docs/1.10.1}/code.html                  |     0
 {1.10.1 => docs/1.10.1}/concepts.html              |     0
 {1.10.1 => docs/1.10.1}/faq.html                   |     0
 {1.10.1 => docs/1.10.1}/genindex.html              |     0
 .../1.10.1}/howto/executor/use-celery.html         |     0
 .../1.10.1}/howto/executor/use-dask.html           |     0
 .../1.10.1}/howto/executor/use-mesos.html          |     0
 {1.10.1 => docs/1.10.1}/howto/index.html           |     0
 .../1.10.1}/howto/initialize-database.html         |     0
 .../1.10.1}/howto/manage-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/operator.html        |     0
 .../1.10.1}/howto/run-with-systemd.html            |     0
 .../1.10.1}/howto/run-with-upstart.html            |     0
 .../1.10.1}/howto/secure-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/set-config.html      |     0
 {1.10.1 => docs/1.10.1}/howto/use-test-config.html |     0
 {1.10.1 => docs/1.10.1}/howto/write-logs.html      |     0
 {1.10.1 => docs/1.10.1}/index.html                 |     0
 {1.10.1 => docs/1.10.1}/installation.html          |     0
 {1.10.1 => docs/1.10.1}/integration.html           |     0
 {1.10.1 => docs/1.10.1}/kubernetes.html            |     0
 {1.10.1 => docs/1.10.1}/license.html               |     0
 {1.10.1 => docs/1.10.1}/lineage.html               |     0
 {1.10.1 => docs/1.10.1}/objects.inv                |   Bin
 {1.10.1 => docs/1.10.1}/plugins.html               |     0
 {1.10.1 => docs/1.10.1}/profiling.html             |     0
 {1.10.1 => docs/1.10.1}/project.html               |     0
 {1.10.1 => docs/1.10.1}/py-modindex.html           |     0
 {1.10.1 => docs/1.10.1}/scheduler.html             |     0
 {1.10.1 => docs/1.10.1}/search.html                |     0
 {1.10.1 => docs/1.10.1}/searchindex.js             |     0
 {1.10.1 => docs/1.10.1}/security.html              |     0
 {1.10.1 => docs/1.10.1}/start.html                 |     0
 {1.10.1 => docs/1.10.1}/timezone.html              |     0
 {1.10.1 => docs/1.10.1}/tutorial.html              |     0
 {1.10.1 => docs/1.10.1}/ui.html                    |     0
 {1.10.2 => docs/1.10.2}/.buildinfo                 |     0
 {1.10.6 => docs/1.10.2}/_images/adhoc.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/airflow.gif        |   Bin
 {1.10.6 => docs/1.10.2}/_images/apache.jpg         |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_bad.png     |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_good.png    |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart_form.png     |   Bin
 {_images => docs/1.10.2/_images}/code.png          |   Bin
 .../1.10.2}/_images/connection_create.png          |   Bin
 .../1.10.2}/_images/connection_edit.png            |   Bin
 {1.10.6 => docs/1.10.2}/_images/connections.png    |   Bin
 {_images => docs/1.10.2/_images}/context.png       |   Bin
 {_images => docs/1.10.2/_images}/dags.png          |   Bin
 {_images => docs/1.10.2/_images}/duration.png      |   Bin
 {_images => docs/1.10.2/_images}/gantt.png         |   Bin
 {_images => docs/1.10.2/_images}/graph.png         |   Bin
 .../1.10.2}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.4 => docs/1.10.2}/_images/pin_large.png      |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_after.png   |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_before.png  |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_zoom.png    |   Bin
 {_images => docs/1.10.2/_images}/tree.png          |   Bin
 .../1.10.2}/_images/variable_hidden.png            |   Bin
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../operators/gcs_to_gcs_transfer_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../operators/s3_to_gcs_transfer_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.2}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.2}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.2}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/mysql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.2}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.2}/_modules/airflow/macros.html           |     0
 .../1.10.2}/_modules/airflow/macros/hive.html      |     0
 .../1.10.2}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.2 => docs/1.10.2}/_modules/index.html        |     0
 {1.10.4 => docs/1.10.2}/_sources/api.rst.txt       |     0
 {1.10.4 => docs/1.10.2}/_sources/changelog.rst.txt |     0
 {1.10.1 => docs/1.10.2}/_sources/cli.rst.txt       |     0
 {1.10.2 => docs/1.10.2}/_sources/code.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/concepts.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/faq.rst.txt       |     0
 .../1.10.2}/_sources/howto/check-health.rst.txt    |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.2}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.2}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.2}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/index.rst.txt     |     0
 .../1.10.2}/_sources/installation.rst.txt          |     0
 .../1.10.2}/_sources/integration.rst.txt           |     0
 .../1.10.2}/_sources/kubernetes.rst.txt            |     0
 {1.10.3 => docs/1.10.2}/_sources/license.rst.txt   |     0
 {1.10.1 => docs/1.10.2}/_sources/lineage.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/metrics.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/plugins.rst.txt   |     0
 {1.10.3 => docs/1.10.2}/_sources/profiling.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/project.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/scheduler.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/security.rst.txt  |     0
 {1.10.1 => docs/1.10.2}/_sources/start.rst.txt     |     0
 {1.10.1 => docs/1.10.2}/_sources/timezone.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/tutorial.rst.txt  |     0
 {1.10.3 => docs/1.10.2}/_sources/ui.rst.txt        |     0
 {1.10.1 => docs/1.10.2}/_static/ajax-loader.gif    |   Bin
 {1.10.1 => docs/1.10.2}/_static/basic.css          |     0
 {1.10.1 => docs/1.10.2}/_static/comment-bright.png |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment-close.png  |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment.png        |   Bin
 {1.10.1 => docs/1.10.2}/_static/css/badge_only.css |     0
 {1.10.1 => docs/1.10.2}/_static/css/theme.css      |     0
 {1.10.1 => docs/1.10.2}/_static/doctools.js        |     0
 .../1.10.2}/_static/documentation_options.js       |     0
 {1.10.1 => docs/1.10.2}/_static/down-pressed.png   |   Bin
 {1.10.1 => docs/1.10.2}/_static/down.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/file.png           |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.2}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.2}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.2}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.2}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.3 => docs/1.10.2}/_static/jquery-3.2.1.js    |     0
 {1.10.3 => docs/1.10.2}/_static/jquery.js          |     0
 .../1.10.2}/_static/js/modernizr.min.js            |     0
 {1.10.1 => docs/1.10.2}/_static/js/theme.js        |     0
 {1.10.2 => docs/1.10.2}/_static/language_data.js   |     0
 {1.10.6 => docs/1.10.2}/_static/minus.png          |   Bin
 {1.10.6 => docs/1.10.2}/_static/plus.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/pygments.css       |     0
 {1.10.2 => docs/1.10.2}/_static/searchtools.js     |     0
 .../1.10.2}/_static/underscore-1.3.1.js            |     0
 {1.10.6 => docs/1.10.2}/_static/underscore.js      |     0
 {1.10.1 => docs/1.10.2}/_static/up-pressed.png     |   Bin
 {1.10.1 => docs/1.10.2}/_static/up.png             |   Bin
 {1.10.1 => docs/1.10.2}/_static/websupport.js      |     0
 {1.10.2 => docs/1.10.2}/api.html                   |     0
 {1.10.2 => docs/1.10.2}/changelog.html             |     0
 {1.10.2 => docs/1.10.2}/cli.html                   |     0
 {1.10.2 => docs/1.10.2}/code.html                  |     0
 {1.10.2 => docs/1.10.2}/concepts.html              |     0
 {1.10.2 => docs/1.10.2}/faq.html                   |     0
 {1.10.2 => docs/1.10.2}/genindex.html              |     0
 {1.10.2 => docs/1.10.2}/howto/check-health.html    |     0
 .../1.10.2}/howto/executor/use-celery.html         |     0
 .../1.10.2}/howto/executor/use-dask.html           |     0
 .../1.10.2}/howto/executor/use-mesos.html          |     0
 {1.10.2 => docs/1.10.2}/howto/index.html           |     0
 .../1.10.2}/howto/initialize-database.html         |     0
 .../1.10.2}/howto/manage-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/operator.html        |     0
 .../1.10.2}/howto/run-with-systemd.html            |     0
 .../1.10.2}/howto/run-with-upstart.html            |     0
 .../1.10.2}/howto/secure-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/set-config.html      |     0
 {1.10.2 => docs/1.10.2}/howto/use-test-config.html |     0
 {1.10.2 => docs/1.10.2}/howto/write-logs.html      |     0
 {1.10.2 => docs/1.10.2}/http-routingtable.html     |     0
 {1.10.2 => docs/1.10.2}/index.html                 |     0
 {1.10.2 => docs/1.10.2}/installation.html          |     0
 {1.10.2 => docs/1.10.2}/integration.html           |     0
 {1.10.2 => docs/1.10.2}/kubernetes.html            |     0
 {1.10.2 => docs/1.10.2}/license.html               |     0
 {1.10.2 => docs/1.10.2}/lineage.html               |     0
 {1.10.2 => docs/1.10.2}/metrics.html               |     0
 {1.10.2 => docs/1.10.2}/objects.inv                |   Bin
 {1.10.2 => docs/1.10.2}/plugins.html               |     0
 {1.10.2 => docs/1.10.2}/profiling.html             |     0
 {1.10.2 => docs/1.10.2}/project.html               |     0
 {1.10.2 => docs/1.10.2}/py-modindex.html           |     0
 {1.10.2 => docs/1.10.2}/scheduler.html             |     0
 {1.10.2 => docs/1.10.2}/search.html                |     0
 {1.10.2 => docs/1.10.2}/searchindex.js             |     0
 {1.10.2 => docs/1.10.2}/security.html              |     0
 {1.10.2 => docs/1.10.2}/start.html                 |     0
 {1.10.2 => docs/1.10.2}/timezone.html              |     0
 {1.10.2 => docs/1.10.2}/tutorial.html              |     0
 {1.10.2 => docs/1.10.2}/ui.html                    |     0
 {1.10.3 => docs/1.10.3}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.3}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.3}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.3}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.3}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.3}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.3}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.3}/_api/airflow/models/errors/index.html  |     0
 .../1.10.3}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.3}/_api/airflow/models/log/index.html     |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.3}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.3}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.3}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.3 => docs/1.10.3}/_api/index.html            |     0
 {1.10.5 => docs/1.10.3}/_images/adhoc.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/airflow.gif        |   Bin
 {1.10.5 => docs/1.10.3}/_images/apache.jpg         |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_bad.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_good.png    |   Bin
 .../1.10.3/_images}/branch_with_trigger.png        |   Bin
 .../1.10.3/_images}/branch_without_trigger.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/1.10.3}/_images/code.png           |   Bin
 .../1.10.3}/_images/connection_create.png          |   Bin
 .../1.10.3}/_images/connection_edit.png            |   Bin
 {1.10.5 => docs/1.10.3}/_images/connections.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/context.png        |   Bin
 {1.10.6 => docs/1.10.3}/_images/dags.png           |   Bin
 {1.10.6 => docs/1.10.3}/_images/duration.png       |   Bin
 {1.10.6 => docs/1.10.3}/_images/gantt.png          |   Bin
 {1.10.6 => docs/1.10.3}/_images/graph.png          |   Bin
 .../1.10.3/_images}/latest_only_with_trigger.png   |   Bin
 {1.10.3 => docs/1.10.3}/_images/pin_large.png      |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_after.png   |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_before.png  |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/tree.png           |   Bin
 .../1.10.3}/_images/variable_hidden.png            |   Bin
 .../example_gcp_bigtable_operators.html            |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.3}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../1.10.3}/_modules/airflow/dag/base_dag.html     |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.3}/_modules/airflow/exceptions.html       |     0
 .../1.10.3}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.3}/_modules/airflow/hooks.html            |     0
 .../1.10.3}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.3}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.3}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.3}/_modules/airflow/lineage.html          |     0
 .../1.10.3}/_modules/airflow/macros.html           |     0
 .../1.10.3}/_modules/airflow/macros/hive.html      |     0
 .../1.10.3}/_modules/airflow/models.html           |     0
 .../1.10.3}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.3}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.3}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.3}/_modules/airflow/models/log.html       |     0
 .../1.10.3}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.3}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.3}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.3}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.3}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/ti_deps/dep_context.html      |     0
 .../ti_deps/deps/not_in_retry_period_dep.html      |     0
 .../airflow/ti_deps/deps/prev_dagrun_dep.html      |     0
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |     0
 .../_modules/airflow/utils/dag_processing.html     |     0
 .../1.10.3}/_modules/airflow/utils/dates.html      |     0
 .../1.10.3}/_modules/airflow/utils/db.html         |     0
 .../1.10.3}/_modules/airflow/utils/decorators.html |     0
 .../1.10.3}/_modules/airflow/utils/email.html      |     0
 .../1.10.3}/_modules/airflow/utils/helpers.html    |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 .../1.10.3}/_modules/airflow/utils/net.html        |     0
 .../_modules/airflow/utils/operator_resources.html |     0
 .../1.10.3}/_modules/airflow/utils/sqlalchemy.html |     0
 .../1.10.3}/_modules/airflow/utils/state.html      |     0
 .../1.10.3}/_modules/airflow/utils/timeout.html    |     0
 .../_modules/airflow/utils/trigger_rule.html       |     0
 .../_modules/airflow/utils/weight_rule.html        |     0
 {1.10.3 => docs/1.10.3}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.3}/_sources/_api/index.rst.txt            |     0
 {1.10.3 => docs/1.10.3}/_sources/api.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/changelog.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/cli.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/concepts.rst.txt  |     0
 {1.10.1 => docs/1.10.3}/_sources/faq.rst.txt       |     0
 .../1.10.3}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.3}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.3}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.3}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.3}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.3}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.3}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.3}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.3}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.4 => docs/1.10.3}/_sources/index.rst.txt     |     0
 .../1.10.3}/_sources/installation.rst.txt          |     0
 .../1.10.3}/_sources/integration.rst.txt           |     0
 .../1.10.3}/_sources/kubernetes.rst.txt            |     0
 {1.10.2 => docs/1.10.3}/_sources/license.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/lineage.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/macros.rst.txt    |     0
 {1.10.3 => docs/1.10.3}/_sources/metrics.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/plugins.rst.txt   |     0
 {1.10.2 => docs/1.10.3}/_sources/profiling.rst.txt |     0
 {1.10.3 => docs/1.10.3}/_sources/project.rst.txt   |     0
 {1.10.4 => docs/1.10.3}/_sources/scheduler.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/security.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/start.rst.txt     |     0
 {1.10.3 => docs/1.10.3}/_sources/timezone.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/tutorial.rst.txt  |     0
 {1.10.2 => docs/1.10.3}/_sources/ui.rst.txt        |     0
 {1.10.3 => docs/1.10.3}/_static/basic.css          |     0
 .../1.10.3/_static}/css/badge_only.css             |     0
 {_static => docs/1.10.3/_static}/css/theme.css     |     0
 {_static => docs/1.10.3/_static}/doctools.js       |     0
 .../1.10.3}/_static/documentation_options.js       |     0
 {1.10.5 => docs/1.10.3}/_static/file.png           |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.3}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.3}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.3}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.3}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.2 => docs/1.10.3}/_static/jquery-3.2.1.js    |     0
 {1.10.2 => docs/1.10.3}/_static/jquery.js          |     0
 .../1.10.3}/_static/js/modernizr.min.js            |     0
 {_static => docs/1.10.3/_static}/js/theme.js       |     0
 {_static => docs/1.10.3/_static}/language_data.js  |     0
 {1.10.5 => docs/1.10.3}/_static/minus.png          |   Bin
 {1.10.5 => docs/1.10.3}/_static/plus.png           |   Bin
 {1.10.5 => docs/1.10.3}/_static/pygments.css       |     0
 {1.10.3 => docs/1.10.3}/_static/searchtools.js     |     0
 .../1.10.3}/_static/underscore-1.3.1.js            |     0
 {1.10.5 => docs/1.10.3}/_static/underscore.js      |     0
 {1.10.3 => docs/1.10.3}/api.html                   |     0
 {1.10.3 => docs/1.10.3}/changelog.html             |     0
 {1.10.3 => docs/1.10.3}/cli.html                   |     0
 {1.10.3 => docs/1.10.3}/concepts.html              |     0
 {1.10.3 => docs/1.10.3}/faq.html                   |     0
 {1.10.3 => docs/1.10.3}/genindex.html              |     0
 {1.10.3 => docs/1.10.3}/howto/check-health.html    |     0
 {1.10.3 => docs/1.10.3}/howto/connection/aws.html  |     0
 {1.10.3 => docs/1.10.3}/howto/connection/gcp.html  |     0
 .../1.10.3}/howto/connection/gcp_sql.html          |     0
 .../1.10.3}/howto/connection/index.html            |     0
 .../1.10.3}/howto/connection/mysql.html            |     0
 .../1.10.3}/howto/connection/oracle.html           |     0
 .../1.10.3}/howto/connection/postgres.html         |     0
 {1.10.3 => docs/1.10.3}/howto/connection/ssh.html  |     0
 .../1.10.3}/howto/executor/use-celery.html         |     0
 .../1.10.3}/howto/executor/use-dask.html           |     0
 .../1.10.3}/howto/executor/use-mesos.html          |     0
 {1.10.3 => docs/1.10.3}/howto/index.html           |     0
 .../1.10.3}/howto/initialize-database.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/bash.html   |     0
 .../1.10.3}/howto/operator/dingding.html           |     0
 .../1.10.3}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.3}/howto/operator/gcp/compute.html        |     0
 .../1.10.3}/howto/operator/gcp/function.html       |     0
 .../1.10.3}/howto/operator/gcp/gcs.html            |     0
 .../1.10.3}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.3}/howto/operator/gcp/spanner.html        |     0
 .../1.10.3}/howto/operator/gcp/sql.html            |     0
 .../1.10.3}/howto/operator/gcp/transfer.html       |     0
 .../1.10.3}/howto/operator/gcp/translate.html      |     0
 .../1.10.3}/howto/operator/gcp/vision.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/index.html  |     0
 {1.10.3 => docs/1.10.3}/howto/operator/python.html |     0
 .../1.10.3}/howto/run-behind-proxy.html            |     0
 .../1.10.3}/howto/run-with-systemd.html            |     0
 .../1.10.3}/howto/run-with-upstart.html            |     0
 .../1.10.3}/howto/secure-connections.html          |     0
 {1.10.3 => docs/1.10.3}/howto/set-config.html      |     0
 {1.10.3 => docs/1.10.3}/howto/use-test-config.html |     0
 {1.10.3 => docs/1.10.3}/howto/write-logs.html      |     0
 {1.10.3 => docs/1.10.3}/http-routingtable.html     |     0
 {1.10.3 => docs/1.10.3}/index.html                 |     0
 {1.10.3 => docs/1.10.3}/installation.html          |     0
 {1.10.3 => docs/1.10.3}/integration.html           |     0
 {1.10.3 => docs/1.10.3}/kubernetes.html            |     0
 {1.10.3 => docs/1.10.3}/license.html               |     0
 {1.10.3 => docs/1.10.3}/lineage.html               |     0
 {1.10.3 => docs/1.10.3}/macros.html                |     0
 {1.10.3 => docs/1.10.3}/metrics.html               |     0
 {1.10.3 => docs/1.10.3}/objects.inv                |   Bin
 {1.10.3 => docs/1.10.3}/plugins.html               |     0
 {1.10.3 => docs/1.10.3}/profiling.html             |     0
 {1.10.3 => docs/1.10.3}/project.html               |     0
 {1.10.3 => docs/1.10.3}/py-modindex.html           |     0
 {1.10.3 => docs/1.10.3}/scheduler.html             |     0
 {1.10.3 => docs/1.10.3}/search.html                |     0
 {1.10.3 => docs/1.10.3}/searchindex.js             |     0
 {1.10.3 => docs/1.10.3}/security.html              |     0
 {1.10.3 => docs/1.10.3}/start.html                 |     0
 {1.10.3 => docs/1.10.3}/timezone.html              |     0
 {1.10.3 => docs/1.10.3}/tutorial.html              |     0
 {1.10.3 => docs/1.10.3}/ui.html                    |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.4}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.4}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.4}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.4}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.4}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.4}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.4}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.4}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.4}/_api/airflow/models/dag/index.html     |     0
 .../1.10.4}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.4}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.4}/_api/airflow/models/errors/index.html  |     0
 .../1.10.4}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.4}/_api/airflow/models/log/index.html     |     0
 .../1.10.4}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.4}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.4}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.4}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.4}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.4}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.4 => docs/1.10.4}/_api/index.html            |     0
 {1.10.4 => docs/1.10.4}/_images/adhoc.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/airflow.gif        |   Bin
 {1.10.4 => docs/1.10.4}/_images/apache.jpg         |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_bad.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_good.png    |   Bin
 .../1.10.4}/_images/branch_with_trigger.png        |   Bin
 .../1.10.4}/_images/branch_without_trigger.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart_form.png     |   Bin
 {1.10.5 => docs/1.10.4}/_images/code.png           |   Bin
 .../1.10.4}/_images/connection_create.png          |   Bin
 .../1.10.4}/_images/connection_edit.png            |   Bin
 {1.10.4 => docs/1.10.4}/_images/connections.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/context.png        |   Bin
 {1.10.5 => docs/1.10.4}/_images/dags.png           |   Bin
 {1.10.5 => docs/1.10.4}/_images/duration.png       |   Bin
 {1.10.5 => docs/1.10.4}/_images/gantt.png          |   Bin
 {1.10.5 => docs/1.10.4}/_images/graph.png          |   Bin
 .../1.10.4}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.4/_images}/operator_extra_link.png        |   Bin
 {1.10.2 => docs/1.10.4}/_images/pin_large.png      |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_after.png   |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_before.png  |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_zoom.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/tree.png           |   Bin
 .../1.10.4}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.4}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.4}/_modules/airflow/exceptions.html       |     0
 .../1.10.4}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.4}/_modules/airflow/hooks.html            |     0
 .../1.10.4}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.4}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.4}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.4}/_modules/airflow/macros.html           |     0
 .../1.10.4}/_modules/airflow/macros/hive.html      |     0
 .../1.10.4}/_modules/airflow/models.html           |     0
 .../1.10.4}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.4}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.4}/_modules/airflow/models/crypto.html    |     0
 .../1.10.4}/_modules/airflow/models/dag.html       |     0
 .../1.10.4}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.4}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.4}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.4}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.4}/_modules/airflow/models/log.html       |     0
 .../1.10.4}/_modules/airflow/models/pool.html      |     0
 .../1.10.4}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.4}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.4}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.4}/_modules/airflow/models/user.html      |     0
 .../1.10.4}/_modules/airflow/models/variable.html  |     0
 .../1.10.4}/_modules/airflow/models/xcom.html      |     0
 .../1.10.4}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.4}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.4 => docs/1.10.4}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources}/_api/airflow/hooks/index.rst.txt     |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_api/airflow/models/log/index.rst.txt          |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources}/_api/airflow/sensors/index.rst.txt   |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.4}/_sources/_api/index.rst.txt            |     0
 {1.10.2 => docs/1.10.4}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.4}/_sources/changelog.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/cli.rst.txt       |     0
 {1.10.4 => docs/1.10.4}/_sources/concepts.rst.txt  |     0
 {1.10.4 => docs/1.10.4}/_sources/faq.rst.txt       |     0
 .../1.10.4}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.4}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.4}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.4}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.4}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.4}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.4}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.4}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.4}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.4}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.3 => docs/1.10.4}/_sources/index.rst.txt     |     0
 .../1.10.4}/_sources/installation.rst.txt          |     0
 .../1.10.4}/_sources/integration.rst.txt           |     0
 .../1.10.4}/_sources/kubernetes.rst.txt            |     0
 {1.10.1 => docs/1.10.4}/_sources/license.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/lineage.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/macros.rst.txt    |     0
 {1.10.4 => docs/1.10.4}/_sources/metrics.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/plugins.rst.txt   |     0
 {1.10.1 => docs/1.10.4}/_sources/profiling.rst.txt |     0
 {1.10.4 => docs/1.10.4}/_sources/project.rst.txt   |     0
 {1.10.3 => docs/1.10.4}/_sources/scheduler.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/security.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/start.rst.txt     |     0
 {1.10.4 => docs/1.10.4}/_sources/timezone.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/tutorial.rst.txt  |     0
 {1.10.1 => docs/1.10.4}/_sources/ui.rst.txt        |     0
 {1.10.4 => docs/1.10.4}/_static/basic.css          |     0
 {1.10.6 => docs/1.10.4}/_static/css/badge_only.css |     0
 {1.10.6 => docs/1.10.4}/_static/css/theme.css      |     0
 {1.10.6 => docs/1.10.4}/_static/doctools.js        |     0
 .../1.10.4}/_static/documentation_options.js       |     0
 {1.10.4 => docs/1.10.4}/_static/file.png           |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.4}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.4}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.4}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.4}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.1 => docs/1.10.4}/_static/jquery-3.2.1.js    |     0
 {1.10.1 => docs/1.10.4}/_static/jquery.js          |     0
 .../1.10.4}/_static/js/modernizr.min.js            |     0
 {1.10.6 => docs/1.10.4}/_static/js/theme.js        |     0
 {1.10.6 => docs/1.10.4}/_static/language_data.js   |     0
 {1.10.4 => docs/1.10.4}/_static/minus.png          |   Bin
 {1.10.4 => docs/1.10.4}/_static/plus.png           |   Bin
 {1.10.4 => docs/1.10.4}/_static/pygments.css       |     0
 {_static => docs/1.10.4/_static}/searchtools.js    |     0
 .../1.10.4}/_static/underscore-1.3.1.js            |     0
 {1.10.4 => docs/1.10.4}/_static/underscore.js      |     0
 {1.10.4 => docs/1.10.4}/api.html                   |     0
 {1.10.4 => docs/1.10.4}/changelog.html             |     0
 {1.10.4 => docs/1.10.4}/cli.html                   |     0
 {1.10.4 => docs/1.10.4}/concepts.html              |     0
 {1.10.4 => docs/1.10.4}/faq.html                   |     0
 {1.10.4 => docs/1.10.4}/genindex.html              |     0
 {1.10.4 => docs/1.10.4}/howto/check-health.html    |     0
 {1.10.4 => docs/1.10.4}/howto/connection/aws.html  |     0
 {1.10.4 => docs/1.10.4}/howto/connection/gcp.html  |     0
 .../1.10.4}/howto/connection/gcp_sql.html          |     0
 {1.10.4 => docs/1.10.4}/howto/connection/grpc.html |     0
 .../1.10.4}/howto/connection/index.html            |     0
 .../1.10.4}/howto/connection/mysql.html            |     0
 .../1.10.4}/howto/connection/oracle.html           |     0
 .../1.10.4}/howto/connection/postgres.html         |     0
 {1.10.4 => docs/1.10.4}/howto/connection/ssh.html  |     0
 .../1.10.4}/howto/define_extra_link.html           |     0
 .../1.10.4}/howto/executor/use-celery.html         |     0
 .../1.10.4}/howto/executor/use-dask.html           |     0
 .../1.10.4}/howto/executor/use-mesos.html          |     0
 {1.10.4 => docs/1.10.4}/howto/index.html           |     0
 .../1.10.4}/howto/initialize-database.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/bash.html   |     0
 .../1.10.4}/howto/operator/dingding.html           |     0
 .../1.10.4}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.4}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.4}/howto/operator/gcp/compute.html        |     0
 .../1.10.4}/howto/operator/gcp/function.html       |     0
 .../1.10.4}/howto/operator/gcp/gcs.html            |     0
 .../1.10.4}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.4}/howto/operator/gcp/spanner.html        |     0
 .../1.10.4}/howto/operator/gcp/speech.html         |     0
 .../1.10.4}/howto/operator/gcp/sql.html            |     0
 .../1.10.4}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.4}/howto/operator/gcp/translate.html      |     0
 .../1.10.4}/howto/operator/gcp/video.html          |     0
 .../1.10.4}/howto/operator/gcp/vision.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/index.html  |     0
 {1.10.4 => docs/1.10.4}/howto/operator/python.html |     0
 .../1.10.4}/howto/run-behind-proxy.html            |     0
 .../1.10.4}/howto/run-with-systemd.html            |     0
 .../1.10.4}/howto/run-with-upstart.html            |     0
 .../1.10.4}/howto/secure-connections.html          |     0
 {1.10.4 => docs/1.10.4}/howto/set-config.html      |     0
 {1.10.4 => docs/1.10.4}/howto/use-test-config.html |     0
 {1.10.4 => docs/1.10.4}/howto/write-logs.html      |     0
 {1.10.4 => docs/1.10.4}/http-routingtable.html     |     0
 {1.10.4 => docs/1.10.4}/index.html                 |     0
 {1.10.4 => docs/1.10.4}/installation.html          |     0
 {1.10.4 => docs/1.10.4}/integration.html           |     0
 {1.10.4 => docs/1.10.4}/kubernetes.html            |     0
 {1.10.4 => docs/1.10.4}/license.html               |     0
 {1.10.4 => docs/1.10.4}/lineage.html               |     0
 {1.10.4 => docs/1.10.4}/macros.html                |     0
 {1.10.4 => docs/1.10.4}/metrics.html               |     0
 {1.10.4 => docs/1.10.4}/objects.inv                |   Bin
 {1.10.4 => docs/1.10.4}/plugins.html               |     0
 {1.10.4 => docs/1.10.4}/profiling.html             |     0
 {1.10.4 => docs/1.10.4}/project.html               |     0
 {1.10.4 => docs/1.10.4}/py-modindex.html           |     0
 {1.10.4 => docs/1.10.4}/scheduler.html             |     0
 {1.10.4 => docs/1.10.4}/search.html                |     0
 {1.10.4 => docs/1.10.4}/searchindex.js             |     0
 {1.10.4 => docs/1.10.4}/security.html              |     0
 {1.10.4 => docs/1.10.4}/start.html                 |     0
 {1.10.4 => docs/1.10.4}/timezone.html              |     0
 {1.10.4 => docs/1.10.4}/tutorial.html              |     0
 {1.10.4 => docs/1.10.4}/ui.html                    |     0
 {1.10.5 => docs/1.10.5}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_logs_hook/index.html |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.5}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.5}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.5}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.5}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.5}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.5}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.5}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.5}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.5}/_api/airflow/models/dag/index.html     |     0
 .../1.10.5}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.5}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.5}/_api/airflow/models/errors/index.html  |     0
 .../1.10.5}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.5}/_api/airflow/models/log/index.html     |     0
 .../1.10.5}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.5}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.5}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.5}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.5}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.5}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.5 => docs/1.10.5}/_api/index.html            |     0
 {1.10.3 => docs/1.10.5}/_images/adhoc.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/airflow.gif        |   Bin
 {1.10.3 => docs/1.10.5}/_images/apache.jpg         |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_bad.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_good.png    |   Bin
 .../1.10.5}/_images/branch_with_trigger.png        |   Bin
 .../1.10.5}/_images/branch_without_trigger.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart_form.png     |   Bin
 {1.10.4 => docs/1.10.5}/_images/code.png           |   Bin
 .../1.10.5}/_images/connection_create.png          |   Bin
 .../1.10.5}/_images/connection_edit.png            |   Bin
 {1.10.3 => docs/1.10.5}/_images/connections.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/context.png        |   Bin
 {1.10.4 => docs/1.10.5}/_images/dags.png           |   Bin
 {1.10.4 => docs/1.10.5}/_images/duration.png       |   Bin
 {1.10.4 => docs/1.10.5}/_images/gantt.png          |   Bin
 {1.10.4 => docs/1.10.5}/_images/graph.png          |   Bin
 .../1.10.5}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.5}/_images/operator_extra_link.png        |   Bin
 {1.10.1 => docs/1.10.5}/_images/pin_large.png      |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_after.png   |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_before.png  |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_zoom.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/tree.png           |   Bin
 .../1.10.5}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.5}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_logs_hook.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.5}/_modules/airflow/exceptions.html       |     0
 .../1.10.5}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.5}/_modules/airflow/hooks.html            |     0
 .../1.10.5}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.5}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.5}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.5}/_modules/airflow/macros.html           |     0
 .../1.10.5}/_modules/airflow/macros/hive.html      |     0
 .../1.10.5}/_modules/airflow/models.html           |     0
 .../1.10.5}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.5}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.5}/_modules/airflow/models/crypto.html    |     0
 .../1.10.5}/_modules/airflow/models/dag.html       |     0
 .../1.10.5}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.5}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.5}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.5}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.5}/_modules/airflow/models/log.html       |     0
 .../1.10.5}/_modules/airflow/models/pool.html      |     0
 .../1.10.5}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.5}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.5}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.5}/_modules/airflow/models/user.html      |     0
 .../1.10.5}/_modules/airflow/models/variable.html  |     0
 .../1.10.5}/_modules/airflow/models/xcom.html      |     0
 .../1.10.5}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.5}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.5 => docs/1.10.5}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.5/_sources}/_api/index.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/api.rst.txt     |     0
 .../1.10.5/_sources}/changelog.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/cli.rst.txt     |     0
 {1.10.5 => docs/1.10.5}/_sources/concepts.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/faq.rst.txt       |     0
 .../1.10.5/_sources}/howto/check-health.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.5}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources}/howto/connection/gcp_sql.rst.txt     |     0
 .../1.10.5}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources}/howto/connection/mysql.rst.txt       |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources}/howto/connection/postgres.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources}/howto/executor/use-dask.rst.txt      |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.5}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources}/howto/operator/gcp/bigtable.rst.txt  |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources}/howto/operator/gcp/compute.rst.txt   |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources}/howto/operator/gcp/gcs.rst.txt       |     0
 .../_sources}/howto/operator/gcp/index.rst.txt     |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources}/howto/operator/gcp/speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources}/howto/operator/gcp/transfer.rst.txt  |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources}/howto/operator/gcp/translate.rst.txt |     0
 .../_sources}/howto/operator/gcp/video.rst.txt     |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.5/_sources}/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.5}/_sources/howto/set-config.rst.txt      |     0
 .../_sources}/howto/tracking-user-activity.rst.txt |     0
 .../1.10.5}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.5}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.5 => docs/1.10.5}/_sources/index.rst.txt     |     0
 .../1.10.5/_sources}/installation.rst.txt          |     0
 .../1.10.5}/_sources/integration.rst.txt           |     0
 .../1.10.5/_sources}/kubernetes.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/license.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/lineage.rst.txt   |     0
 {_sources => docs/1.10.5/_sources}/macros.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/metrics.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/plugins.rst.txt   |     0
 .../1.10.5/_sources}/privacy_notice.rst.txt        |     0
 .../1.10.5/_sources}/profiling.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/project.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/scheduler.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/security.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/start.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/timezone.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/tutorial.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/ui.rst.txt      |     0
 {_static => docs/1.10.5/_static}/basic.css         |     0
 {1.10.5 => docs/1.10.5}/_static/css/badge_only.css |     0
 {1.10.5 => docs/1.10.5}/_static/css/theme.css      |     0
 {1.10.5 => docs/1.10.5}/_static/doctools.js        |     0
 .../1.10.5}/_static/documentation_options.js       |     0
 {1.10.3 => docs/1.10.5}/_static/file.png           |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.5}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.5}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.5}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.5}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {_static => docs/1.10.5/_static}/jquery-3.4.1.js   |     0
 {_static => docs/1.10.5/_static}/jquery.js         |     0
 .../1.10.5}/_static/js/modernizr.min.js            |     0
 {1.10.5 => docs/1.10.5}/_static/js/theme.js        |     0
 {1.10.5 => docs/1.10.5}/_static/language_data.js   |     0
 {1.10.3 => docs/1.10.5}/_static/minus.png          |   Bin
 {1.10.3 => docs/1.10.5}/_static/plus.png           |   Bin
 {1.10.3 => docs/1.10.5}/_static/pygments.css       |     0
 {1.10.6 => docs/1.10.5}/_static/searchtools.js     |     0
 .../1.10.5}/_static/underscore-1.3.1.js            |     0
 {1.10.3 => docs/1.10.5}/_static/underscore.js      |     0
 {1.10.5 => docs/1.10.5}/api.html                   |     0
 {1.10.5 => docs/1.10.5}/changelog.html             |     0
 {1.10.5 => docs/1.10.5}/cli.html                   |     0
 {1.10.5 => docs/1.10.5}/concepts.html              |     0
 {1.10.5 => docs/1.10.5}/faq.html                   |     0
 {1.10.5 => docs/1.10.5}/genindex.html              |     0
 {1.10.5 => docs/1.10.5}/howto/check-health.html    |     0
 {1.10.5 => docs/1.10.5}/howto/connection/aws.html  |     0
 {1.10.5 => docs/1.10.5}/howto/connection/gcp.html  |     0
 .../1.10.5}/howto/connection/gcp_sql.html          |     0
 {1.10.5 => docs/1.10.5}/howto/connection/grpc.html |     0
 .../1.10.5}/howto/connection/index.html            |     0
 .../1.10.5}/howto/connection/mysql.html            |     0
 .../1.10.5}/howto/connection/oracle.html           |     0
 .../1.10.5}/howto/connection/postgres.html         |     0
 {1.10.5 => docs/1.10.5}/howto/connection/ssh.html  |     0
 .../1.10.5}/howto/define_extra_link.html           |     0
 .../1.10.5}/howto/executor/use-celery.html         |     0
 .../1.10.5}/howto/executor/use-dask.html           |     0
 .../1.10.5}/howto/executor/use-mesos.html          |     0
 {1.10.5 => docs/1.10.5}/howto/index.html           |     0
 .../1.10.5}/howto/initialize-database.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/bash.html   |     0
 .../1.10.5}/howto/operator/dingding.html           |     0
 .../1.10.5}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.5}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.5}/howto/operator/gcp/compute.html        |     0
 .../1.10.5}/howto/operator/gcp/function.html       |     0
 .../1.10.5}/howto/operator/gcp/gcs.html            |     0
 .../1.10.5}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.5}/howto/operator/gcp/spanner.html        |     0
 .../1.10.5}/howto/operator/gcp/speech.html         |     0
 .../1.10.5}/howto/operator/gcp/sql.html            |     0
 .../1.10.5}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.5}/howto/operator/gcp/translate.html      |     0
 .../1.10.5}/howto/operator/gcp/video.html          |     0
 .../1.10.5}/howto/operator/gcp/vision.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/index.html  |     0
 {1.10.5 => docs/1.10.5}/howto/operator/python.html |     0
 .../1.10.5}/howto/run-behind-proxy.html            |     0
 .../1.10.5}/howto/run-with-systemd.html            |     0
 .../1.10.5}/howto/run-with-upstart.html            |     0
 .../1.10.5}/howto/secure-connections.html          |     0
 {1.10.5 => docs/1.10.5}/howto/set-config.html      |     0
 .../1.10.5}/howto/tracking-user-activity.html      |     0
 {1.10.5 => docs/1.10.5}/howto/use-test-config.html |     0
 {1.10.5 => docs/1.10.5}/howto/write-logs.html      |     0
 {1.10.5 => docs/1.10.5}/http-routingtable.html     |     0
 {1.10.5 => docs/1.10.5}/index.html                 |     0
 {1.10.5 => docs/1.10.5}/installation.html          |     0
 {1.10.5 => docs/1.10.5}/integration.html           |     0
 {1.10.5 => docs/1.10.5}/kubernetes.html            |     0
 {1.10.5 => docs/1.10.5}/license.html               |     0
 {1.10.5 => docs/1.10.5}/lineage.html               |     0
 {1.10.5 => docs/1.10.5}/macros.html                |     0
 {1.10.5 => docs/1.10.5}/metrics.html               |     0
 {1.10.5 => docs/1.10.5}/objects.inv                |   Bin
 {1.10.5 => docs/1.10.5}/plugins.html               |     0
 {1.10.5 => docs/1.10.5}/privacy_notice.html        |     0
 {1.10.5 => docs/1.10.5}/profiling.html             |     0
 {1.10.5 => docs/1.10.5}/project.html               |     0
 {1.10.5 => docs/1.10.5}/py-modindex.html           |     0
 {1.10.5 => docs/1.10.5}/scheduler.html             |     0
 {1.10.5 => docs/1.10.5}/search.html                |     0
 {1.10.5 => docs/1.10.5}/searchindex.js             |     0
 {1.10.5 => docs/1.10.5}/security.html              |     0
 {1.10.5 => docs/1.10.5}/start.html                 |     0
 {1.10.5 => docs/1.10.5}/timezone.html              |     0
 {1.10.5 => docs/1.10.5}/tutorial.html              |     0
 {1.10.5 => docs/1.10.5}/ui.html                    |     0
 docs/1.10.6/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/1.10.6/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../1.10.6/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/1.10.6/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/1.10.6/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../1.10.6/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../1.10.6/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../1.10.6/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/1.10.6/_api/airflow/hooks/index.html          |   966 ++
 .../1.10.6/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/1.10.6/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/1.10.6/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/1.10.6/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/1.10.6/_api/airflow/models/crypto/index.html  |   989 ++
 docs/1.10.6/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/1.10.6/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/1.10.6/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/1.10.6/_api/airflow/models/errors/index.html  |   963 ++
 docs/1.10.6/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/1.10.6/_api/airflow/models/log/index.html     |  1004 ++
 docs/1.10.6/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/1.10.6/_api/airflow/models/slamiss/index.html |  1006 ++
 .../1.10.6/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/1.10.6/_api/airflow/models/user/index.html    |   987 ++
 .../1.10.6/_api/airflow/models/variable/index.html |  1059 ++
 docs/1.10.6/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/1.10.6/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/1.10.6/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/1.10.6/_api/index.html                        |  1059 ++
 {1.10.2 => docs/1.10.6}/_images/adhoc.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/airflow.gif        |   Bin
 {1.10.2 => docs/1.10.6}/_images/apache.jpg         |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_bad.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_good.png    |   Bin
 .../1.10.6}/_images/branch_with_trigger.png        |   Bin
 .../1.10.6}/_images/branch_without_trigger.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart_form.png     |   Bin
 .../1.10.6/_images}/cli_completion.gif             |   Bin
 {1.10.3 => docs/1.10.6}/_images/code.png           |   Bin
 .../1.10.6}/_images/connection_create.png          |   Bin
 .../1.10.6}/_images/connection_edit.png            |   Bin
 {1.10.2 => docs/1.10.6}/_images/connections.png    |   Bin
 {1.10.3 => docs/1.10.6}/_images/context.png        |   Bin
 {1.10.3 => docs/1.10.6}/_images/dags.png           |   Bin
 {1.10.3 => docs/1.10.6}/_images/duration.png       |   Bin
 {1.10.3 => docs/1.10.6}/_images/gantt.png          |   Bin
 {1.10.3 => docs/1.10.6}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../1.10.6}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.6}/_images/operator_extra_link.png        |   Bin
 {_images => docs/1.10.6/_images}/pin_large.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_after.png   |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_before.png  |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_zoom.png    |   Bin
 .../1.10.6/_images}/task_lifecycle.png             |   Bin
 .../1.10.6/_images}/task_manual_vs_scheduled.png   |   Bin
 {1.10.3 => docs/1.10.6}/_images/tree.png           |   Bin
 .../1.10.6}/_images/variable_hidden.png            |   Bin
 docs/1.10.6/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/1.10.6/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../1.10.6/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/1.10.6/_modules/airflow/exceptions.html       |   962 ++
 docs/1.10.6/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/1.10.6/_modules/airflow/hooks.html            |   943 ++
 docs/1.10.6/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/1.10.6/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/1.10.6/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../1.10.6/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/1.10.6/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/1.10.6/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/1.10.6/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/1.10.6/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/1.10.6/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/1.10.6/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/1.10.6/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../1.10.6/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/1.10.6/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../1.10.6/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/1.10.6/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/1.10.6/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../1.10.6/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/1.10.6/_modules/airflow/macros.html           |   957 ++
 docs/1.10.6/_modules/airflow/macros/hive.html      |   971 ++
 docs/1.10.6/_modules/airflow/models.html           |   889 ++
 docs/1.10.6/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/1.10.6/_modules/airflow/models/chart.html     |   899 ++
 .../1.10.6/_modules/airflow/models/connection.html |  1148 +++
 docs/1.10.6/_modules/airflow/models/crypto.html    |   946 ++
 docs/1.10.6/_modules/airflow/models/dag.html       |  2486 +++++
 docs/1.10.6/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/1.10.6/_modules/airflow/models/dagpickle.html |   901 ++
 docs/1.10.6/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/1.10.6/_modules/airflow/models/errors.html    |   880 ++
 .../1.10.6/_modules/airflow/models/knownevent.html |   903 ++
 .../1.10.6/_modules/airflow/models/kubernetes.html |   928 ++
 docs/1.10.6/_modules/airflow/models/log.html       |   917 ++
 docs/1.10.6/_modules/airflow/models/pool.html      |   958 ++
 docs/1.10.6/_modules/airflow/models/skipmixin.html |   951 ++
 docs/1.10.6/_modules/airflow/models/slamiss.html   |   897 ++
 docs/1.10.6/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/1.10.6/_modules/airflow/models/user.html      |   889 ++
 docs/1.10.6/_modules/airflow/models/variable.html  |  1001 ++
 docs/1.10.6/_modules/airflow/models/xcom.html      |  1083 ++
 docs/1.10.6/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../1.10.6/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/1.10.6/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/1.10.6/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources}/_api/airflow/executors/index.rst.txt |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_api/airflow/models/dag/index.rst.txt          |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources}/_api/airflow/models/index.rst.txt    |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources}/_api/airflow/operators/index.rst.txt |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.6}/_sources/_api/index.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/api.rst.txt       |     0
 {1.10.6 => docs/1.10.6}/_sources/changelog.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/cli.rst.txt       |     0
 .../1.10.6/_sources}/concepts.rst.txt              |     0
 {_sources => docs/1.10.6/_sources}/errors.rst.txt  |     0
 {_sources => docs/1.10.6/_sources}/faq.rst.txt     |     0
 .../1.10.6}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.6/_sources}/howto/cli-completion.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/aws.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.6/_sources}/howto/connection/grpc.rst.txt |     0
 .../_sources}/howto/connection/index.rst.txt       |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources}/howto/connection/oracle.rst.txt      |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.6/_sources}/howto/connection/ssh.rst.txt  |     0
 .../_sources}/howto/define_extra_link.rst.txt      |     0
 .../_sources}/howto/executor/use-celery.rst.txt    |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources}/howto/executor/use-mesos.rst.txt     |     0
 .../1.10.6/_sources}/howto/index.rst.txt           |     0
 .../_sources}/howto/initialize-database.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/bash.rst.txt   |     0
 .../_sources}/howto/operator/dingding.rst.txt      |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources}/howto/operator/gcp/function.rst.txt  |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources}/howto/operator/gcp/spanner.rst.txt   |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources}/howto/operator/gcp/sql.rst.txt       |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources}/howto/operator/gcp/vision.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/index.rst.txt  |     0
 .../_sources}/howto/operator/papermill.rst.txt     |     0
 .../1.10.6}/_sources/howto/operator/python.rst.txt |     0
 .../_sources}/howto/run-behind-proxy.rst.txt       |     0
 .../_sources}/howto/run-with-systemd.rst.txt       |     0
 .../_sources}/howto/run-with-upstart.rst.txt       |     0
 .../_sources}/howto/secure-connections.rst.txt     |     0
 .../1.10.6/_sources}/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../1.10.6/_sources}/howto/use-test-config.rst.txt |     0
 .../1.10.6/_sources}/howto/write-logs.rst.txt      |     0
 {_sources => docs/1.10.6/_sources}/index.rst.txt   |     0
 .../1.10.6}/_sources/installation.rst.txt          |     0
 .../1.10.6/_sources}/integration.rst.txt           |     0
 .../1.10.6}/_sources/kubernetes.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/license.rst.txt   |     0
 {_sources => docs/1.10.6/_sources}/lineage.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/macros.rst.txt    |     0
 {_sources => docs/1.10.6/_sources}/metrics.rst.txt |     0
 {_sources => docs/1.10.6/_sources}/plugins.rst.txt |     0
 .../1.10.6}/_sources/privacy_notice.rst.txt        |     0
 {1.10.6 => docs/1.10.6}/_sources/profiling.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/project.rst.txt   |     0
 .../1.10.6/_sources}/scheduler.rst.txt             |     0
 .../1.10.6/_sources}/security.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/start.rst.txt     |     0
 .../1.10.6/_sources}/timezone.rst.txt              |     0
 .../1.10.6/_sources}/tutorial.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/ui.rst.txt        |     0
 docs/1.10.6/_static/_gen/css/main-custom.min.css   |     1 +
 docs/1.10.6/_static/_gen/css/main.min.css          |     7 +
 docs/1.10.6/_static/_gen/js/docs.js                |     1 +
 {1.10.6 => docs/1.10.6}/_static/basic.css          |     0
 {1.10.4 => docs/1.10.6}/_static/doctools.js        |     0
 .../1.10.6/_static}/documentation_options.js       |     0
 docs/1.10.6/_static/exampleinclude.css             |    79 +
 {1.10.2 => docs/1.10.6}/_static/file.png           |   Bin
 {_static => docs/1.10.6/_static}/graphviz.css      |     0
 docs/1.10.6/_static/jira-links.js                  |    34 +
 {1.10.6 => docs/1.10.6}/_static/jquery-3.4.1.js    |     0
 {1.10.6 => docs/1.10.6}/_static/jquery.js          |     0
 {1.10.4 => docs/1.10.6}/_static/language_data.js   |     0
 {1.10.2 => docs/1.10.6}/_static/minus.png          |   Bin
 {_static => docs/1.10.6/_static}/pin_32.png        |   Bin
 {1.10.2 => docs/1.10.6}/_static/plus.png           |   Bin
 {1.10.2 => docs/1.10.6}/_static/pygments.css       |     0
 {1.10.5 => docs/1.10.6}/_static/searchtools.js     |     0
 .../1.10.6}/_static/underscore-1.3.1.js            |     0
 {1.10.2 => docs/1.10.6}/_static/underscore.js      |     0
 docs/1.10.6/api.html                               |  1127 ++
 docs/1.10.6/changelog.html                         |  4283 ++++++++
 docs/1.10.6/cli.html                               |  2493 +++++
 docs/1.10.6/concepts.html                          |  2058 ++++
 docs/1.10.6/errors.html                            |   967 ++
 docs/1.10.6/faq.html                               |  1082 ++
 docs/1.10.6/genindex.html                          | 10298 +++++++++++++++++++
 docs/1.10.6/howto/check-health.html                |   950 ++
 docs/1.10.6/howto/cli-completion.html              |   941 ++
 docs/1.10.6/howto/connection/aws.html              |  1001 ++
 docs/1.10.6/howto/connection/gcp.html              |  1045 ++
 docs/1.10.6/howto/connection/gcp_sql.html          |  1004 ++
 docs/1.10.6/howto/connection/grpc.html             |  1008 ++
 docs/1.10.6/howto/connection/index.html            |  1023 ++
 docs/1.10.6/howto/connection/mysql.html            |  1025 ++
 docs/1.10.6/howto/connection/oracle.html           |  1014 ++
 docs/1.10.6/howto/connection/postgres.html         |  1010 ++
 docs/1.10.6/howto/connection/ssh.html              |  1004 ++
 docs/1.10.6/howto/define_extra_link.html           |  1024 ++
 docs/1.10.6/howto/executor/use-celery.html         |  1040 ++
 docs/1.10.6/howto/executor/use-dask.html           |   944 ++
 docs/1.10.6/howto/executor/use-mesos.html          |   994 ++
 docs/1.10.6/howto/index.html                       |   975 ++
 docs/1.10.6/howto/initialize-database.html         |   949 ++
 docs/1.10.6/howto/operator/bash.html               |   998 ++
 docs/1.10.6/howto/operator/dingding.html           |  1081 ++
 docs/1.10.6/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/1.10.6/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/1.10.6/howto/operator/gcp/compute.html        |  1364 +++
 docs/1.10.6/howto/operator/gcp/function.html       |  1197 +++
 docs/1.10.6/howto/operator/gcp/gcs.html            |  1108 ++
 docs/1.10.6/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/1.10.6/howto/operator/gcp/spanner.html        |  1339 +++
 docs/1.10.6/howto/operator/gcp/speech.html         |  1103 ++
 docs/1.10.6/howto/operator/gcp/sql.html            |  2019 ++++
 docs/1.10.6/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/1.10.6/howto/operator/gcp/translate.html      |  1030 ++
 docs/1.10.6/howto/operator/gcp/video.html          |  1187 +++
 docs/1.10.6/howto/operator/gcp/vision.html         |  2248 ++++
 docs/1.10.6/howto/operator/index.html              |   985 ++
 docs/1.10.6/howto/operator/papermill.html          |   985 ++
 docs/1.10.6/howto/operator/python.html             |  1000 ++
 docs/1.10.6/howto/run-behind-proxy.html            |   984 ++
 docs/1.10.6/howto/run-with-systemd.html            |   934 ++
 docs/1.10.6/howto/run-with-upstart.html            |   944 ++
 docs/1.10.6/howto/secure-connections.html          |   963 ++
 docs/1.10.6/howto/set-config.html                  |   959 ++
 docs/1.10.6/howto/tracking-user-activity.html      |   936 ++
 docs/1.10.6/howto/use-test-config.html             |   929 ++
 docs/1.10.6/howto/write-logs.html                  |  1116 ++
 docs/1.10.6/http-routingtable.html                 |   923 ++
 docs/1.10.6/index.html                             |  1610 +++
 docs/1.10.6/installation.html                      |  1073 ++
 docs/1.10.6/integration.html                       |  1798 ++++
 docs/1.10.6/kubernetes.html                        |  1031 ++
 docs/1.10.6/license.html                           |  1055 ++
 docs/1.10.6/lineage.html                           |   970 ++
 docs/1.10.6/macros.html                            |  1247 +++
 docs/1.10.6/metrics.html                           |  1048 ++
 objects.inv => docs/1.10.6/objects.inv             |   Bin
 docs/1.10.6/plugins.html                           |  1178 +++
 docs/1.10.6/privacy_notice.html                    |   922 ++
 docs/1.10.6/profiling.html                         |   932 ++
 docs/1.10.6/project.html                           |   958 ++
 docs/1.10.6/py-modindex.html                       |  2445 +++++
 docs/1.10.6/scheduler.html                         |  1069 ++
 docs/1.10.6/search.html                            |   889 ++
 searchindex.js => docs/1.10.6/searchindex.js       |     0
 docs/1.10.6/security.html                          |  1532 +++
 docs/1.10.6/start.html                             |   933 ++
 docs/1.10.6/timezone.html                          |  1037 ++
 docs/1.10.6/tutorial.html                          |  1348 +++
 docs/1.10.6/ui.html                                |   982 ++
 docs/index.html                                    |     5 +
 docs/stable/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/stable/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../stable/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/stable/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/stable/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../stable/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../stable/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../stable/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/stable/_api/airflow/hooks/index.html          |   966 ++
 .../stable/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/stable/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/stable/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/stable/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/stable/_api/airflow/models/crypto/index.html  |   989 ++
 docs/stable/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/stable/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/stable/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/stable/_api/airflow/models/errors/index.html  |   963 ++
 docs/stable/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/stable/_api/airflow/models/log/index.html     |  1004 ++
 docs/stable/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/stable/_api/airflow/models/slamiss/index.html |  1006 ++
 .../stable/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/stable/_api/airflow/models/user/index.html    |   987 ++
 .../stable/_api/airflow/models/variable/index.html |  1059 ++
 docs/stable/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/stable/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/stable/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/stable/_api/index.html                        |  1059 ++
 {1.10.1 => docs/stable}/_images/adhoc.png          |   Bin
 {1.10.1 => docs/stable}/_images/airflow.gif        |   Bin
 {1.10.1 => docs/stable}/_images/apache.jpg         |   Bin
 {1.10.1 => docs/stable}/_images/branch_bad.png     |   Bin
 {1.10.1 => docs/stable}/_images/branch_good.png    |   Bin
 .../stable}/_images/branch_with_trigger.png        |   Bin
 .../stable}/_images/branch_without_trigger.png     |   Bin
 {1.10.1 => docs/stable}/_images/chart.png          |   Bin
 {1.10.1 => docs/stable}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/stable}/_images/cli_completion.gif |   Bin
 {1.10.2 => docs/stable}/_images/code.png           |   Bin
 .../stable}/_images/connection_create.png          |   Bin
 .../stable}/_images/connection_edit.png            |   Bin
 {1.10.1 => docs/stable}/_images/connections.png    |   Bin
 {1.10.2 => docs/stable}/_images/context.png        |   Bin
 {1.10.2 => docs/stable}/_images/dags.png           |   Bin
 {1.10.2 => docs/stable}/_images/duration.png       |   Bin
 {1.10.2 => docs/stable}/_images/gantt.png          |   Bin
 {1.10.2 => docs/stable}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../stable}/_images/latest_only_with_trigger.png   |   Bin
 .../stable}/_images/operator_extra_link.png        |   Bin
 {1.10.6 => docs/stable}/_images/pin_large.png      |   Bin
 {1.10.1 => docs/stable}/_images/subdag_after.png   |   Bin
 {1.10.1 => docs/stable}/_images/subdag_before.png  |   Bin
 {1.10.1 => docs/stable}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/stable}/_images/task_lifecycle.png |   Bin
 .../stable}/_images/task_manual_vs_scheduled.png   |   Bin
 {1.10.2 => docs/stable}/_images/tree.png           |   Bin
 .../stable}/_images/variable_hidden.png            |   Bin
 docs/stable/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/stable/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../stable/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/stable/_modules/airflow/exceptions.html       |   962 ++
 docs/stable/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/stable/_modules/airflow/hooks.html            |   943 ++
 docs/stable/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/stable/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/stable/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../stable/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/stable/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/stable/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/stable/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/stable/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/stable/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/stable/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/stable/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../stable/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/stable/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../stable/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/stable/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/stable/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../stable/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/stable/_modules/airflow/macros.html           |   957 ++
 docs/stable/_modules/airflow/macros/hive.html      |   971 ++
 docs/stable/_modules/airflow/models.html           |   889 ++
 docs/stable/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/stable/_modules/airflow/models/chart.html     |   899 ++
 .../stable/_modules/airflow/models/connection.html |  1148 +++
 docs/stable/_modules/airflow/models/crypto.html    |   946 ++
 docs/stable/_modules/airflow/models/dag.html       |  2486 +++++
 docs/stable/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/stable/_modules/airflow/models/dagpickle.html |   901 ++
 docs/stable/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/stable/_modules/airflow/models/errors.html    |   880 ++
 .../stable/_modules/airflow/models/knownevent.html |   903 ++
 .../stable/_modules/airflow/models/kubernetes.html |   928 ++
 docs/stable/_modules/airflow/models/log.html       |   917 ++
 docs/stable/_modules/airflow/models/pool.html      |   958 ++
 docs/stable/_modules/airflow/models/skipmixin.html |   951 ++
 docs/stable/_modules/airflow/models/slamiss.html   |   897 ++
 docs/stable/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/stable/_modules/airflow/models/user.html      |   889 ++
 docs/stable/_modules/airflow/models/variable.html  |  1001 ++
 docs/stable/_modules/airflow/models/xcom.html      |  1083 ++
 docs/stable/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../stable/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/stable/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/stable/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../stable}/_sources/_api/index.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/api.rst.txt       |     0
 {1.10.5 => docs/stable}/_sources/changelog.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/cli.rst.txt       |     0
 {1.10.6 => docs/stable}/_sources/concepts.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/errors.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/faq.rst.txt       |     0
 .../stable}/_sources/howto/check-health.rst.txt    |     0
 .../stable}/_sources/howto/cli-completion.rst.txt  |     0
 .../stable}/_sources/howto/connection/aws.rst.txt  |     0
 .../stable}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../stable}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../stable}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../stable}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../stable}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../stable}/_sources/howto/operator/index.rst.txt  |     0
 .../_sources/howto/operator/papermill.rst.txt      |     0
 .../stable}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../stable}/_sources/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../stable}/_sources/howto/use-test-config.rst.txt |     0
 .../stable}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.6 => docs/stable}/_sources/index.rst.txt     |     0
 .../stable}/_sources/installation.rst.txt          |     0
 .../stable}/_sources/integration.rst.txt           |     0
 .../stable}/_sources/kubernetes.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/license.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/lineage.rst.txt   |     0
 {1.10.5 => docs/stable}/_sources/macros.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/metrics.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/plugins.rst.txt   |     0
 .../stable}/_sources/privacy_notice.rst.txt        |     0
 {1.10.5 => docs/stable}/_sources/profiling.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/project.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/scheduler.rst.txt |     0
 {1.10.6 => docs/stable}/_sources/security.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/start.rst.txt     |     0
 {1.10.6 => docs/stable}/_sources/timezone.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/tutorial.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/ui.rst.txt        |     0
 docs/stable/_static/_gen/css/main-custom.min.css   |     1 +
 docs/stable/_static/_gen/css/main.min.css          |     7 +
 docs/stable/_static/_gen/js/docs.js                |     1 +
 {1.10.5 => docs/stable}/_static/basic.css          |     0
 {1.10.3 => docs/stable}/_static/doctools.js        |     0
 .../stable}/_static/documentation_options.js       |     0
 docs/stable/_static/exampleinclude.css             |    79 +
 {1.10.1 => docs/stable}/_static/file.png           |   Bin
 {1.10.6 => docs/stable}/_static/graphviz.css       |     0
 docs/stable/_static/jira-links.js                  |    34 +
 {1.10.5 => docs/stable}/_static/jquery-3.4.1.js    |     0
 {1.10.5 => docs/stable}/_static/jquery.js          |     0
 {1.10.3 => docs/stable}/_static/language_data.js   |     0
 {1.10.1 => docs/stable}/_static/minus.png          |   Bin
 {1.10.6 => docs/stable}/_static/pin_32.png         |   Bin
 {1.10.1 => docs/stable}/_static/plus.png           |   Bin
 {1.10.1 => docs/stable}/_static/pygments.css       |     0
 {1.10.4 => docs/stable}/_static/searchtools.js     |     0
 .../stable}/_static/underscore-1.3.1.js            |     0
 {1.10.1 => docs/stable}/_static/underscore.js      |     0
 docs/stable/api.html                               |  1127 ++
 docs/stable/changelog.html                         |  4283 ++++++++
 docs/stable/cli.html                               |  2493 +++++
 docs/stable/concepts.html                          |  2058 ++++
 docs/stable/errors.html                            |   967 ++
 docs/stable/faq.html                               |  1082 ++
 docs/stable/genindex.html                          | 10298 +++++++++++++++++++
 docs/stable/howto/check-health.html                |   950 ++
 docs/stable/howto/cli-completion.html              |   941 ++
 docs/stable/howto/connection/aws.html              |  1001 ++
 docs/stable/howto/connection/gcp.html              |  1045 ++
 docs/stable/howto/connection/gcp_sql.html          |  1004 ++
 docs/stable/howto/connection/grpc.html             |  1008 ++
 docs/stable/howto/connection/index.html            |  1023 ++
 docs/stable/howto/connection/mysql.html            |  1025 ++
 docs/stable/howto/connection/oracle.html           |  1014 ++
 docs/stable/howto/connection/postgres.html         |  1010 ++
 docs/stable/howto/connection/ssh.html              |  1004 ++
 docs/stable/howto/define_extra_link.html           |  1024 ++
 docs/stable/howto/executor/use-celery.html         |  1040 ++
 docs/stable/howto/executor/use-dask.html           |   944 ++
 docs/stable/howto/executor/use-mesos.html          |   994 ++
 docs/stable/howto/index.html                       |   975 ++
 docs/stable/howto/initialize-database.html         |   949 ++
 docs/stable/howto/operator/bash.html               |   998 ++
 docs/stable/howto/operator/dingding.html           |  1081 ++
 docs/stable/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/stable/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/stable/howto/operator/gcp/compute.html        |  1364 +++
 docs/stable/howto/operator/gcp/function.html       |  1197 +++
 docs/stable/howto/operator/gcp/gcs.html            |  1108 ++
 docs/stable/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/stable/howto/operator/gcp/spanner.html        |  1339 +++
 docs/stable/howto/operator/gcp/speech.html         |  1103 ++
 docs/stable/howto/operator/gcp/sql.html            |  2019 ++++
 docs/stable/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/stable/howto/operator/gcp/translate.html      |  1030 ++
 docs/stable/howto/operator/gcp/video.html          |  1187 +++
 docs/stable/howto/operator/gcp/vision.html         |  2248 ++++
 docs/stable/howto/operator/index.html              |   985 ++
 docs/stable/howto/operator/papermill.html          |   985 ++
 docs/stable/howto/operator/python.html             |  1000 ++
 docs/stable/howto/run-behind-proxy.html            |   984 ++
 docs/stable/howto/run-with-systemd.html            |   934 ++
 docs/stable/howto/run-with-upstart.html            |   944 ++
 docs/stable/howto/secure-connections.html          |   963 ++
 docs/stable/howto/set-config.html                  |   959 ++
 docs/stable/howto/tracking-user-activity.html      |   936 ++
 docs/stable/howto/use-test-config.html             |   929 ++
 docs/stable/howto/write-logs.html                  |  1116 ++
 docs/stable/http-routingtable.html                 |   923 ++
 docs/stable/index.html                             |  1610 +++
 docs/stable/installation.html                      |  1073 ++
 docs/stable/integration.html                       |  1798 ++++
 docs/stable/kubernetes.html                        |  1031 ++
 docs/stable/license.html                           |  1055 ++
 docs/stable/lineage.html                           |   970 ++
 docs/stable/macros.html                            |  1247 +++
 docs/stable/metrics.html                           |  1048 ++
 {1.10.6 => docs/stable}/objects.inv                |   Bin
 docs/stable/plugins.html                           |  1178 +++
 docs/stable/privacy_notice.html                    |   922 ++
 docs/stable/profiling.html                         |   932 ++
 docs/stable/project.html                           |   958 ++
 docs/stable/py-modindex.html                       |  2445 +++++
 docs/stable/scheduler.html                         |  1069 ++
 docs/stable/search.html                            |   889 ++
 {1.10.6 => docs/stable}/searchindex.js             |     0
 docs/stable/security.html                          |  1532 +++
 docs/stable/start.html                             |   933 ++
 docs/stable/timezone.html                          |  1037 ++
 docs/stable/tutorial.html                          |  1348 +++
 docs/stable/ui.html                                |   982 ++
 errors.html                                        |   437 -
 faq.html                                           |   538 -
 favicon.ico                                        |   Bin 0 -> 1150 bytes
 favicons/android-144x144.png                       |   Bin 0 -> 4299 bytes
 favicons/android-192x192.png                       |   Bin 0 -> 5264 bytes
 favicons/android-36x36.png                         |   Bin 0 -> 980 bytes
 favicons/android-48x48.png                         |   Bin 0 -> 1071 bytes
 favicons/android-72x72.png                         |   Bin 0 -> 1926 bytes
 favicons/android-96x196.png                        |   Bin 0 -> 2309 bytes
 favicons/android-icon-144x144.png                  |   Bin 0 -> 10032 bytes
 favicons/android-icon-192x192.png                  |   Bin 0 -> 12414 bytes
 favicons/android-icon-36x36.png                    |   Bin 0 -> 2434 bytes
 favicons/android-icon-48x48.png                    |   Bin 0 -> 3166 bytes
 favicons/android-icon-72x72.png                    |   Bin 0 -> 4630 bytes
 favicons/android-icon-96x96.png                    |   Bin 0 -> 6247 bytes
 favicons/apple-icon-114x114.png                    |   Bin 0 -> 7641 bytes
 favicons/apple-icon-120x120.png                    |   Bin 0 -> 8065 bytes
 favicons/apple-icon-144x144.png                    |   Bin 0 -> 10032 bytes
 favicons/apple-icon-152x152.png                    |   Bin 0 -> 10619 bytes
 favicons/apple-icon-180x180.png                    |   Bin 0 -> 13076 bytes
 favicons/apple-icon-57x57.png                      |   Bin 0 -> 3695 bytes
 favicons/apple-icon-60x60.png                      |   Bin 0 -> 3908 bytes
 favicons/apple-icon-72x72.png                      |   Bin 0 -> 4630 bytes
 favicons/apple-icon-76x76.png                      |   Bin 0 -> 4852 bytes
 favicons/apple-icon-precomposed.png                |   Bin 0 -> 12988 bytes
 favicons/apple-icon.png                            |   Bin 0 -> 12988 bytes
 favicons/apple-touch-icon-180x180.png              |   Bin 0 -> 4748 bytes
 favicons/favicon-1024.png                          |   Bin 0 -> 27759 bytes
 favicons/favicon-16x16.png                         |   Bin 0 -> 1675 bytes
 favicons/favicon-256.png                           |   Bin 0 -> 8037 bytes
 favicons/favicon-32x32.png                         |   Bin 0 -> 2203 bytes
 favicons/favicon-96x96.png                         |   Bin 0 -> 6247 bytes
 favicons/favicon.ico                               |   Bin 0 -> 1150 bytes
 favicons/ms-icon-144x144.png                       |   Bin 0 -> 10032 bytes
 favicons/ms-icon-150x150.png                       |   Bin 0 -> 10549 bytes
 favicons/ms-icon-310x310.png                       |   Bin 0 -> 21086 bytes
 favicons/ms-icon-70x70.png                         |   Bin 0 -> 4538 bytes
 favicons/pwa-192x192.png                           |   Bin 0 -> 5264 bytes
 favicons/pwa-512x512.png                           |   Bin 0 -> 20743 bytes
 favicons/tile150x150.png                           |   Bin 0 -> 8985 bytes
 favicons/tile310x150.png                           |   Bin 0 -> 11661 bytes
 favicons/tile310x310.png                           |   Bin 0 -> 23621 bytes
 favicons/tile70x70.png                             |   Bin 0 -> 3592 bytes
 genindex.html                                      |  9776 ------------------
 howto/check-health.html                            |   410 -
 howto/cli-completion.html                          |   401 -
 howto/connection/aws.html                          |   440 -
 howto/connection/gcp.html                          |   484 -
 howto/connection/gcp_sql.html                      |   445 -
 howto/connection/grpc.html                         |   447 -
 howto/connection/index.html                        |   461 -
 howto/connection/mysql.html                        |   466 -
 howto/connection/oracle.html                       |   455 -
 howto/connection/postgres.html                     |   451 -
 howto/connection/ssh.html                          |   445 -
 howto/define_extra_link.html                       |   478 -
 howto/executor/use-celery.html                     |   494 -
 howto/executor/use-dask.html                       |   404 -
 howto/executor/use-mesos.html                      |   446 -
 howto/index.html                                   |   435 -
 howto/initialize-database.html                     |   409 -
 howto/operator/bash.html                           |   440 -
 howto/operator/dingding.html                       |   516 -
 howto/operator/gcp/bigtable.html                   |   624 --
 howto/operator/gcp/cloud_build.html                |   516 -
 howto/operator/gcp/compute.html                    |   762 --
 howto/operator/gcp/function.html                   |   616 --
 howto/operator/gcp/gcs.html                        |   527 -
 howto/operator/gcp/index.html                      |   425 -
 howto/operator/gcp/natural_language.html           |   594 --
 howto/operator/gcp/spanner.html                    |   738 --
 howto/operator/gcp/speech.html                     |   522 -
 howto/operator/gcp/sql.html                        |  1386 ---
 howto/operator/gcp/transfer.html                   |   917 --
 howto/operator/gcp/translate-speech.html           |   466 -
 howto/operator/gcp/translate.html                  |   458 -
 howto/operator/gcp/video.html                      |   600 --
 howto/operator/gcp/vision.html                     |  1570 ---
 howto/operator/index.html                          |   438 -
 howto/operator/papermill.html                      |   428 -
 howto/operator/python.html                         |   445 -
 howto/run-behind-proxy.html                        |   444 -
 howto/run-with-systemd.html                        |   394 -
 howto/run-with-upstart.html                        |   404 -
 howto/secure-connections.html                      |   422 -
 howto/set-config.html                              |   419 -
 howto/tracking-user-activity.html                  |   396 -
 howto/use-test-config.html                         |   389 -
 howto/write-logs.html                              |   548 -
 http-routingtable.html                             |   417 -
 icons/adobe-logo.svg                               |     5 +
 icons/anchor.svg                                   |     4 +
 icons/big-fish-games-logo.svg                      |     3 +
 icons/commiter-placeholder.svg                     |    12 +
 icons/dish-logo.svg                                |    14 +
 icons/docker-logo.png                              |   Bin 0 -> 7297 bytes
 icons/experity-logo.jpg                            |   Bin 0 -> 59400 bytes
 icons/onefootball-logo.svg                         |     3 +
 icons/sidebar-arrow.svg                            |     3 +
 icons/tick.svg                                     |     8 +
 images/feature-image.png                           |   Bin 0 -> 63044 bytes
 index.html                                         |  2585 +++--
 index.xml                                          |    56 +
 install/index.html                                 |   775 ++
 install/index.xml                                  |    17 +
 installation.html                                  |   543 -
 integration-logos/azure-logo.svg                   |    24 +
 integration.html                                   |  1158 ---
 integrations.json                                  |   406 +
 ...4556a9cebc0ac4fe1ce1457a01b22c0a06b329877383.js |     6 +
 js/swagger-ui-bundle.js                            |    93 +
 js/swagger-ui-standalone-preset.js                 |    14 +
 kubernetes.html                                    |   501 -
 license.html                                       |   535 -
 lineage.html                                       |   444 -
 macros.html                                        |   683 --
 main.b2992.js                                      |     1 +
 manifest.json                                      |    41 +
 meetups.json                                       |    80 +
 meetups/index.html                                 |   988 ++
 meetups/index.xml                                  |    17 +
 metrics.html                                       |   516 -
 plugins.html                                       |   642 --
 privacy-notice/index.html                          |   609 ++
 privacy-notice/index.xml                           |    17 +
 privacy_notice.html                                |   395 -
 profiling.html                                     |   396 -
 project.html                                       |   426 -
 py-modindex.html                                   |  1939 ----
 roadmap/index.html                                 |   779 ++
 roadmap/index.xml                                  |    17 +
 robots.txt                                         |     1 +
 scheduler.html                                     |   537 -
 ...e8d0279dae20d66dbd926c7ffe603c986bd9ba480f3.css |     1 +
 ...8b7ddd1a316055cb9c6fc7ff482c3679b51f0369984.css |     7 +
 search.html                                        |   360 -
 search/index.html                                  |   565 +
 security.html                                      |   908 --
 sitemap.xml                                        |   199 +
 start.html                                         |   407 -
 stock-guy.jpg                                      |   Bin 0 -> 45492 bytes
 tags/index.html                                    |   554 +
 tags/index.xml                                     |    18 +
 timezone.html                                      |   489 -
 tutorial.html                                      |   790 --
 ui.html                                            |   442 -
 use-cases/adobe/index.html                         |   610 ++
 use-cases/big-fish-games/index.html                |   610 ++
 use-cases/dish/index.html                          |   610 ++
 use-cases/experity/index.html                      |   613 ++
 use-cases/index.html                               |   677 ++
 use-cases/index.xml                                |   151 +
 use-cases/onefootball/index.html                   |   617 ++
 webfonts/fa-brands-400.eot                         |   Bin 0 -> 129734 bytes
 webfonts/fa-brands-400.svg                         |  3451 +++++++
 webfonts/fa-brands-400.ttf                         |   Bin 0 -> 129428 bytes
 webfonts/fa-brands-400.woff                        |   Bin 0 -> 87644 bytes
 webfonts/fa-brands-400.woff2                       |   Bin 0 -> 74740 bytes
 webfonts/fa-regular-400.eot                        |   Bin 0 -> 34394 bytes
 webfonts/fa-regular-400.svg                        |   803 ++
 webfonts/fa-regular-400.ttf                        |   Bin 0 -> 34096 bytes
 webfonts/fa-regular-400.woff                       |   Bin 0 -> 16804 bytes
 webfonts/fa-regular-400.woff2                      |   Bin 0 -> 13656 bytes
 webfonts/fa-solid-900.eot                          |   Bin 0 -> 192122 bytes
 webfonts/fa-solid-900.svg                          |  4649 +++++++++
 webfonts/fa-solid-900.ttf                          |   Bin 0 -> 191836 bytes
 webfonts/fa-solid-900.woff                         |   Bin 0 -> 98020 bytes
 webfonts/fa-solid-900.woff2                        |   Bin 0 -> 75336 bytes
 8184 files changed, 1612251 insertions(+), 812876 deletions(-)
 delete mode 100644 .buildinfo
 create mode 100644 .htaccess
 create mode 100644 .keep
 delete mode 100644 1.10.1/_static/fonts/Inconsolata-Bold.ttf
 delete mode 100644 1.10.1/_static/fonts/Inconsolata-Regular.ttf
 delete mode 100644 1.10.1/_static/fonts/Inconsolata.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato-Bold.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato-Regular.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bold.eot
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bold.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bold.woff
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bold.woff2
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bolditalic.eot
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bolditalic.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bolditalic.woff
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-bolditalic.woff2
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-italic.eot
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-italic.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-italic.woff
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-italic.woff2
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-regular.eot
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-regular.ttf
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-regular.woff
 delete mode 100644 1.10.1/_static/fonts/Lato/lato-regular.woff2
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab-Bold.ttf
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab-Regular.ttf
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
 delete mode 100644 1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
 delete mode 100644 1.10.1/_static/fonts/fontawesome-webfont.eot
 delete mode 100644 1.10.1/_static/fonts/fontawesome-webfont.svg
 delete mode 100644 1.10.1/_static/fonts/fontawesome-webfont.ttf
 delete mode 100644 1.10.1/_static/fonts/fontawesome-webfont.woff
 delete mode 100644 1.10.1/_static/fonts/fontawesome-webfont.woff2
 delete mode 100644 1.10.1/_static/js/modernizr.min.js
 delete mode 100644 1.10.2/_static/fonts/Inconsolata-Bold.ttf
 delete mode 100644 1.10.2/_static/fonts/Inconsolata-Regular.ttf
 delete mode 100644 1.10.2/_static/fonts/Inconsolata.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato-Bold.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato-Regular.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bold.eot
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bold.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bold.woff
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bold.woff2
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bolditalic.eot
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bolditalic.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bolditalic.woff
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-bolditalic.woff2
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-italic.eot
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-italic.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-italic.woff
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-italic.woff2
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-regular.eot
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-regular.ttf
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-regular.woff
 delete mode 100644 1.10.2/_static/fonts/Lato/lato-regular.woff2
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab-Bold.ttf
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab-Regular.ttf
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
 delete mode 100644 1.10.2/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
 delete mode 100644 1.10.2/_static/fonts/fontawesome-webfont.eot
 delete mode 100644 1.10.2/_static/fonts/fontawesome-webfont.svg
 delete mode 100644 1.10.2/_static/fonts/fontawesome-webfont.ttf
 delete mode 100644 1.10.2/_static/fonts/fontawesome-webfont.woff
 delete mode 100644 1.10.2/_static/fonts/fontawesome-webfont.woff2
 delete mode 100644 1.10.2/_static/js/modernizr.min.js
 delete mode 100644 1.10.3/_static/css/badge_only.css
 delete mode 100644 1.10.3/_static/css/theme.css
 delete mode 100644 1.10.3/_static/js/theme.js
 delete mode 100644 1.10.4/_static/css/badge_only.css
 delete mode 100644 1.10.4/_static/css/theme.css
 delete mode 100644 1.10.4/_static/js/theme.js
 delete mode 100644 1.10.6/_api/airflow/contrib/executors/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/executors/kubernetes_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/executors/mesos_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_athena_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_logs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_sns_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/bigquery_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/cassandra_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/cloudant_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/databricks_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/datadog_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/datastore_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/dingding_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/emr_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/fs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/ftp_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_container_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_function_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/gcs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/grpc_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/imap_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/jenkins_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/jira_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/mongo_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/openfaas_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/pinot_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/qubole_check_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/qubole_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/redis_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/redshift_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/sagemaker_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/salesforce_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/segment_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/sftp_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/snowflake_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/spark_sql_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/spark_submit_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/sqoop_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/ssh_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/vertica_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/wasb_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/hooks/winrm_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/adls_list_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/adls_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/aws_athena_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/awsbatch_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_check_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_get_data/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/databricks_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/dataflow_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/dataproc_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/datastore_export_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/datastore_import_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/dingding_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/discord_webhook_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/druid_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/ecs_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/file_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/file_to_wasb/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_compute_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_container_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_function_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_sql_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_translate_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcp_vision_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_acl_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_delete_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_download_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_list_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_to_bq/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/gcs_to_s3/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/hipchat_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/jira_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/mlengine_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/mongo_to_s3/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/mssql_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/mysql_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/pubsub_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/qubole_check_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/qubole_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/redis_publish_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/s3_list_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/segment_track_event_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sftp_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/slack_webhook_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/snowflake_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sns_publish_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/spark_sql_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/spark_submit_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sql_to_gcs/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/sqoop_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/ssh_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/vertica_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/vertica_to_hive/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/vertica_to_mysql/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/operators/winrm_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/bash_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/bigquery_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/datadog_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/emr_base_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/emr_step_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/file_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/ftp_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/gcs_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/hdfs_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/jira_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/mongo_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/pubsub_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/python_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/qubole_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/redis_key_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/sftp_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/wasb_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/contrib/sensors/weekday_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/base_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/celery_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/dask_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/local_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/executors/sequential_executor/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/S3_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/base_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/dbapi_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/docker_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/druid_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/hdfs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/hive_hooks/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/http_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/jdbc_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/mssql_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/mysql_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/oracle_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/pig_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/postgres_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/presto_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/samba_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/slack_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/sqlite_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/webhdfs_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/hooks/zendesk_hook/index.html
 delete mode 100644 1.10.6/_api/airflow/models/base/index.html
 delete mode 100644 1.10.6/_api/airflow/models/baseoperator/index.html
 delete mode 100644 1.10.6/_api/airflow/models/chart/index.html
 delete mode 100644 1.10.6/_api/airflow/models/connection/index.html
 delete mode 100644 1.10.6/_api/airflow/models/crypto/index.html
 delete mode 100644 1.10.6/_api/airflow/models/dag/index.html
 delete mode 100644 1.10.6/_api/airflow/models/dagbag/index.html
 delete mode 100644 1.10.6/_api/airflow/models/dagpickle/index.html
 delete mode 100644 1.10.6/_api/airflow/models/dagrun/index.html
 delete mode 100644 1.10.6/_api/airflow/models/errors/index.html
 delete mode 100644 1.10.6/_api/airflow/models/index.html
 delete mode 100644 1.10.6/_api/airflow/models/knownevent/index.html
 delete mode 100644 1.10.6/_api/airflow/models/kubernetes/index.html
 delete mode 100644 1.10.6/_api/airflow/models/log/index.html
 delete mode 100644 1.10.6/_api/airflow/models/pool/index.html
 delete mode 100644 1.10.6/_api/airflow/models/skipmixin/index.html
 delete mode 100644 1.10.6/_api/airflow/models/slamiss/index.html
 delete mode 100644 1.10.6/_api/airflow/models/taskfail/index.html
 delete mode 100644 1.10.6/_api/airflow/models/taskinstance/index.html
 delete mode 100644 1.10.6/_api/airflow/models/taskreschedule/index.html
 delete mode 100644 1.10.6/_api/airflow/models/user/index.html
 delete mode 100644 1.10.6/_api/airflow/models/variable/index.html
 delete mode 100644 1.10.6/_api/airflow/models/xcom/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/bash_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/branch_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/check_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/dagrun_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/docker_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/druid_check_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/dummy_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/email_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/generic_transfer/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/hive_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/hive_stats_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/hive_to_druid/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/hive_to_mysql/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/hive_to_samba_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/http_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/jdbc_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/latest_only_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/mssql_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/mssql_to_hive/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/mysql_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/mysql_to_hive/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/oracle_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/papermill_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/pig_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/postgres_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/presto_check_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/presto_to_mysql/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/python_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/redshift_to_s3_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/s3_file_transform_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/s3_to_hive_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/s3_to_redshift_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/sensors/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/slack_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/sqlite_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/operators/subdag_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/base_sensor_operator/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/external_task_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/hdfs_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/hive_partition_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/http_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/metastore_partition_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/named_hive_partition_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/s3_key_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/s3_prefix_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/sql_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/time_delta_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/time_sensor/index.html
 delete mode 100644 1.10.6/_api/airflow/sensors/web_hdfs_sensor/index.html
 delete mode 100644 1.10.6/_api/index.html
 delete mode 100644 1.10.6/_images/graphviz-a401e86cce11bfcda64a051edda547edccaaa423.png
 delete mode 100644 1.10.6/_modules/airflow/configuration.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_dingding_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_compute.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_function.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_speech.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_sql.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_translate.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcp_vision.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcs_acl.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/example_dags/example_papermill_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/executors/kubernetes_executor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/executors/mesos_executor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_athena_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_firehose_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_lambda_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_logs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_sns_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/aws_sqs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/bigquery_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/cassandra_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/cloudant_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/databricks_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/datadog_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/datastore_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/dingding_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/discord_webhook_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/emr_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/fs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/ftp_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_compute_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_container_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_dlp_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_function_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_kms_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_natural_language_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_spanner_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_sql_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_transfer_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_translate_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcp_vision_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/gcs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/grpc_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/imap_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/jenkins_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/jira_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/mongo_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/openfaas_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/pinot_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/qubole_check_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/qubole_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/redis_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/redshift_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/sagemaker_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/salesforce_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/segment_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/sftp_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/slack_webhook_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/snowflake_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/spark_jdbc_script.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/spark_sql_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/spark_submit_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/sqoop_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/ssh_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/vertica_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/wasb_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/hooks/winrm_hook.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/adls_list_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/adls_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/aws_athena_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/aws_sqs_publish_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/awsbatch_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/azure_container_instances_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/azure_cosmos_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_check_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_get_data.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/bigquery_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/cassandra_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/databricks_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/dataflow_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/dataproc_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/datastore_export_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/datastore_import_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/dingding_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/discord_webhook_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/druid_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/ecs_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/emr_add_steps_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/file_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/file_to_wasb.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_bigtable_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_cloud_build_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_compute_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_container_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_dlp_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_function_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_natural_language_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_spanner_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_speech_to_text_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_sql_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_text_to_speech_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_transfer_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_translate_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_translate_speech_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_video_intelligence_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcp_vision_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_acl_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_delete_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_download_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_list_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_to_bq.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/gcs_to_s3.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/hipchat_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/hive_to_dynamodb.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/imap_attachment_to_s3_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/jenkins_job_trigger_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/jira_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/kubernetes_pod_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/mlengine_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/mongo_to_s3.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/mssql_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/mysql_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/opsgenie_alert_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/oracle_to_azure_data_lake_transfer.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/oracle_to_oracle_transfer.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/postgres_to_gcs_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/pubsub_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/qubole_check_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/qubole_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/redis_publish_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/s3_copy_object_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/s3_delete_objects_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/s3_list_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/s3_to_gcs_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/s3_to_sftp_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_base_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_endpoint_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_model_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_training_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_transform_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sagemaker_tuning_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/segment_track_event_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sftp_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sftp_to_s3_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/slack_webhook_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/snowflake_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sns_publish_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/spark_jdbc_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/spark_sql_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/spark_submit_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sql_to_gcs.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/sqoop_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/ssh_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/vertica_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/vertica_to_hive.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/vertica_to_mysql.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/wasb_delete_blob_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/operators/winrm_operator.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/aws_athena_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/aws_glue_catalog_partition_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/aws_sqs_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/azure_cosmos_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/bash_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/bigquery_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/cassandra_record_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/cassandra_table_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/datadog_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/emr_base_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/emr_step_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/file_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/ftp_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/gcp_transfer_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/gcs_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/hdfs_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/imap_attachment_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/jira_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/mongo_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/pubsub_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/python_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/qubole_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/redis_key_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/redis_pub_sub_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sagemaker_base_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sagemaker_training_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sagemaker_transform_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/sftp_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/wasb_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/contrib/sensors/weekday_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/example_dags/example_bash_operator.html
 delete mode 100644 1.10.6/_modules/airflow/example_dags/example_python_operator.html
 delete mode 100644 1.10.6/_modules/airflow/exceptions.html
 delete mode 100644 1.10.6/_modules/airflow/executors.html
 delete mode 100644 1.10.6/_modules/airflow/executors/base_executor.html
 delete mode 100644 1.10.6/_modules/airflow/executors/celery_executor.html
 delete mode 100644 1.10.6/_modules/airflow/executors/dask_executor.html
 delete mode 100644 1.10.6/_modules/airflow/executors/local_executor.html
 delete mode 100644 1.10.6/_modules/airflow/executors/sequential_executor.html
 delete mode 100644 1.10.6/_modules/airflow/hooks.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/S3_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/base_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/dbapi_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/docker_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/druid_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/hdfs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/hive_hooks.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/http_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/jdbc_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/mssql_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/mysql_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/oracle_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/pig_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/postgres_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/presto_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/samba_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/slack_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/sqlite_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/webhdfs_hook.html
 delete mode 100644 1.10.6/_modules/airflow/hooks/zendesk_hook.html
 delete mode 100644 1.10.6/_modules/airflow/macros.html
 delete mode 100644 1.10.6/_modules/airflow/macros/hive.html
 delete mode 100644 1.10.6/_modules/airflow/models.html
 delete mode 100644 1.10.6/_modules/airflow/models/base.html
 delete mode 100644 1.10.6/_modules/airflow/models/baseoperator.html
 delete mode 100644 1.10.6/_modules/airflow/models/chart.html
 delete mode 100644 1.10.6/_modules/airflow/models/connection.html
 delete mode 100644 1.10.6/_modules/airflow/models/crypto.html
 delete mode 100644 1.10.6/_modules/airflow/models/dag.html
 delete mode 100644 1.10.6/_modules/airflow/models/dagbag.html
 delete mode 100644 1.10.6/_modules/airflow/models/dagpickle.html
 delete mode 100644 1.10.6/_modules/airflow/models/dagrun.html
 delete mode 100644 1.10.6/_modules/airflow/models/errors.html
 delete mode 100644 1.10.6/_modules/airflow/models/knownevent.html
 delete mode 100644 1.10.6/_modules/airflow/models/kubernetes.html
 delete mode 100644 1.10.6/_modules/airflow/models/log.html
 delete mode 100644 1.10.6/_modules/airflow/models/pool.html
 delete mode 100644 1.10.6/_modules/airflow/models/skipmixin.html
 delete mode 100644 1.10.6/_modules/airflow/models/slamiss.html
 delete mode 100644 1.10.6/_modules/airflow/models/taskfail.html
 delete mode 100644 1.10.6/_modules/airflow/models/taskinstance.html
 delete mode 100644 1.10.6/_modules/airflow/models/taskreschedule.html
 delete mode 100644 1.10.6/_modules/airflow/models/user.html
 delete mode 100644 1.10.6/_modules/airflow/models/variable.html
 delete mode 100644 1.10.6/_modules/airflow/models/xcom.html
 delete mode 100644 1.10.6/_modules/airflow/operators.html
 delete mode 100644 1.10.6/_modules/airflow/operators/bash_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/branch_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/check_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/dagrun_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/docker_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/druid_check_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/dummy_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/email_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/generic_transfer.html
 delete mode 100644 1.10.6/_modules/airflow/operators/hive_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/hive_stats_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/hive_to_druid.html
 delete mode 100644 1.10.6/_modules/airflow/operators/hive_to_mysql.html
 delete mode 100644 1.10.6/_modules/airflow/operators/hive_to_samba_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/http_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/jdbc_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/latest_only_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/mssql_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/mssql_to_hive.html
 delete mode 100644 1.10.6/_modules/airflow/operators/mysql_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/mysql_to_hive.html
 delete mode 100644 1.10.6/_modules/airflow/operators/oracle_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/papermill_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/pig_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/postgres_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/presto_check_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/presto_to_mysql.html
 delete mode 100644 1.10.6/_modules/airflow/operators/python_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/redshift_to_s3_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/s3_file_transform_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/s3_to_hive_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/s3_to_redshift_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/sensors.html
 delete mode 100644 1.10.6/_modules/airflow/operators/slack_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/sqlite_operator.html
 delete mode 100644 1.10.6/_modules/airflow/operators/subdag_operator.html
 delete mode 100644 1.10.6/_modules/airflow/sensors.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/base_sensor_operator.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/external_task_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/hdfs_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/hive_partition_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/http_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/metastore_partition_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/named_hive_partition_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/s3_key_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/s3_prefix_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/sql_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/time_delta_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/time_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/sensors/web_hdfs_sensor.html
 delete mode 100644 1.10.6/_modules/airflow/utils/log/logging_mixin.html
 delete mode 100644 1.10.6/_modules/index.html
 delete mode 100644 1.10.6/api.html
 delete mode 100644 1.10.6/changelog.html
 delete mode 100644 1.10.6/cli.html
 delete mode 100644 1.10.6/concepts.html
 delete mode 100644 1.10.6/errors.html
 delete mode 100644 1.10.6/faq.html
 delete mode 100644 1.10.6/genindex.html
 delete mode 100644 1.10.6/howto/check-health.html
 delete mode 100644 1.10.6/howto/cli-completion.html
 delete mode 100644 1.10.6/howto/connection/aws.html
 delete mode 100644 1.10.6/howto/connection/gcp.html
 delete mode 100644 1.10.6/howto/connection/gcp_sql.html
 delete mode 100644 1.10.6/howto/connection/grpc.html
 delete mode 100644 1.10.6/howto/connection/index.html
 delete mode 100644 1.10.6/howto/connection/mysql.html
 delete mode 100644 1.10.6/howto/connection/oracle.html
 delete mode 100644 1.10.6/howto/connection/postgres.html
 delete mode 100644 1.10.6/howto/connection/ssh.html
 delete mode 100644 1.10.6/howto/define_extra_link.html
 delete mode 100644 1.10.6/howto/executor/use-celery.html
 delete mode 100644 1.10.6/howto/executor/use-dask.html
 delete mode 100644 1.10.6/howto/executor/use-mesos.html
 delete mode 100644 1.10.6/howto/index.html
 delete mode 100644 1.10.6/howto/initialize-database.html
 delete mode 100644 1.10.6/howto/operator/bash.html
 delete mode 100644 1.10.6/howto/operator/dingding.html
 delete mode 100644 1.10.6/howto/operator/gcp/bigtable.html
 delete mode 100644 1.10.6/howto/operator/gcp/cloud_build.html
 delete mode 100644 1.10.6/howto/operator/gcp/compute.html
 delete mode 100644 1.10.6/howto/operator/gcp/function.html
 delete mode 100644 1.10.6/howto/operator/gcp/gcs.html
 delete mode 100644 1.10.6/howto/operator/gcp/index.html
 delete mode 100644 1.10.6/howto/operator/gcp/natural_language.html
 delete mode 100644 1.10.6/howto/operator/gcp/spanner.html
 delete mode 100644 1.10.6/howto/operator/gcp/speech.html
 delete mode 100644 1.10.6/howto/operator/gcp/sql.html
 delete mode 100644 1.10.6/howto/operator/gcp/transfer.html
 delete mode 100644 1.10.6/howto/operator/gcp/translate-speech.html
 delete mode 100644 1.10.6/howto/operator/gcp/translate.html
 delete mode 100644 1.10.6/howto/operator/gcp/video.html
 delete mode 100644 1.10.6/howto/operator/gcp/vision.html
 delete mode 100644 1.10.6/howto/operator/index.html
 delete mode 100644 1.10.6/howto/operator/papermill.html
 delete mode 100644 1.10.6/howto/operator/python.html
 delete mode 100644 1.10.6/howto/run-behind-proxy.html
 delete mode 100644 1.10.6/howto/run-with-systemd.html
 delete mode 100644 1.10.6/howto/run-with-upstart.html
 delete mode 100644 1.10.6/howto/secure-connections.html
 delete mode 100644 1.10.6/howto/set-config.html
 delete mode 100644 1.10.6/howto/tracking-user-activity.html
 delete mode 100644 1.10.6/howto/use-test-config.html
 delete mode 100644 1.10.6/howto/write-logs.html
 delete mode 100644 1.10.6/http-routingtable.html
 delete mode 100644 1.10.6/index.html
 delete mode 100644 1.10.6/installation.html
 delete mode 100644 1.10.6/integration.html
 delete mode 100644 1.10.6/kubernetes.html
 delete mode 100644 1.10.6/license.html
 delete mode 100644 1.10.6/lineage.html
 delete mode 100644 1.10.6/macros.html
 delete mode 100644 1.10.6/metrics.html
 delete mode 100644 1.10.6/plugins.html
 delete mode 100644 1.10.6/privacy_notice.html
 delete mode 100644 1.10.6/profiling.html
 delete mode 100644 1.10.6/project.html
 delete mode 100644 1.10.6/py-modindex.html
 delete mode 100644 1.10.6/scheduler.html
 delete mode 100644 1.10.6/search.html
 delete mode 100644 1.10.6/security.html
 delete mode 100644 1.10.6/start.html
 delete mode 100644 1.10.6/timezone.html
 delete mode 100644 1.10.6/tutorial.html
 delete mode 100644 1.10.6/ui.html
 create mode 100644 404.html
 delete mode 100644 _api/airflow/contrib/executors/index.html
 delete mode 100644 _api/airflow/contrib/executors/kubernetes_executor/index.html
 delete mode 100644 _api/airflow/contrib/executors/mesos_executor/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_athena_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_firehose_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_lambda_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_logs_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_sns_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/aws_sqs_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_container_instance_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_container_registry_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_container_volume_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_cosmos_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_data_lake_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/azure_fileshare_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/bigquery_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/cassandra_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/cloudant_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/databricks_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/datadog_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/datastore_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/dingding_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/discord_webhook_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/emr_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/fs_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/ftp_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_api_base_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_compute_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_container_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_function_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_kms_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_spanner_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_sql_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_transfer_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_translate_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcp_vision_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/gcs_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/grpc_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/imap_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/index.html
 delete mode 100644 _api/airflow/contrib/hooks/jenkins_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/jira_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/mongo_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/openfaas_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/pinot_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/qubole_check_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/qubole_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/redis_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/redshift_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/sagemaker_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/salesforce_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/segment_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/sftp_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/slack_webhook_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/snowflake_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/spark_jdbc_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/spark_jdbc_script/index.html
 delete mode 100644 _api/airflow/contrib/hooks/spark_sql_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/spark_submit_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/sqoop_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/ssh_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/vertica_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/wasb_hook/index.html
 delete mode 100644 _api/airflow/contrib/hooks/winrm_hook/index.html
 delete mode 100644 _api/airflow/contrib/operators/adls_list_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/adls_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/aws_athena_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/awsbatch_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/azure_container_instances_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/azure_cosmos_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_check_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_get_data/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_to_bigquery/index.html
 delete mode 100644 _api/airflow/contrib/operators/bigquery_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/cassandra_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/databricks_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/dataflow_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/dataproc_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/datastore_export_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/datastore_import_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/dingding_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/discord_webhook_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/druid_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/ecs_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/emr_add_steps_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/file_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/file_to_wasb/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_bigtable_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_compute_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_container_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_dlp_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_function_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_natural_language_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_spanner_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_sql_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_transfer_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_translate_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcp_vision_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_acl_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_delete_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_download_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_list_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_to_bq/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/gcs_to_s3/index.html
 delete mode 100644 _api/airflow/contrib/operators/hipchat_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/hive_to_dynamodb/index.html
 delete mode 100644 _api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/index.html
 delete mode 100644 _api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/jira_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/kubernetes_pod_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/mlengine_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/mongo_to_s3/index.html
 delete mode 100644 _api/airflow/contrib/operators/mssql_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/mysql_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/opsgenie_alert_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
 delete mode 100644 _api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
 delete mode 100644 _api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/pubsub_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/qubole_check_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/qubole_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/redis_publish_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/s3_copy_object_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/s3_delete_objects_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/s3_list_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/s3_to_gcs_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/s3_to_sftp_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_base_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_model_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_training_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_transform_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/segment_track_event_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sftp_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sftp_to_s3_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/slack_webhook_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/snowflake_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sns_publish_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/spark_jdbc_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/spark_sql_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/spark_submit_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/sql_to_gcs/index.html
 delete mode 100644 _api/airflow/contrib/operators/sqoop_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/ssh_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/vertica_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/vertica_to_hive/index.html
 delete mode 100644 _api/airflow/contrib/operators/vertica_to_mysql/index.html
 delete mode 100644 _api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
 delete mode 100644 _api/airflow/contrib/operators/winrm_operator/index.html
 delete mode 100644 _api/airflow/contrib/sensors/aws_athena_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/aws_sqs_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/bash_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/bigquery_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/cassandra_record_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/cassandra_table_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/datadog_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/emr_base_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/emr_step_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/file_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/ftp_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/gcs_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/hdfs_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/imap_attachment_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/index.html
 delete mode 100644 _api/airflow/contrib/sensors/jira_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/mongo_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/pubsub_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/python_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/qubole_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/redis_key_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/sftp_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/wasb_sensor/index.html
 delete mode 100644 _api/airflow/contrib/sensors/weekday_sensor/index.html
 delete mode 100644 _api/airflow/executors/base_executor/index.html
 delete mode 100644 _api/airflow/executors/celery_executor/index.html
 delete mode 100644 _api/airflow/executors/dask_executor/index.html
 delete mode 100644 _api/airflow/executors/index.html
 delete mode 100644 _api/airflow/executors/local_executor/index.html
 delete mode 100644 _api/airflow/executors/sequential_executor/index.html
 delete mode 100644 _api/airflow/hooks/S3_hook/index.html
 delete mode 100644 _api/airflow/hooks/base_hook/index.html
 delete mode 100644 _api/airflow/hooks/dbapi_hook/index.html
 delete mode 100644 _api/airflow/hooks/docker_hook/index.html
 delete mode 100644 _api/airflow/hooks/druid_hook/index.html
 delete mode 100644 _api/airflow/hooks/hdfs_hook/index.html
 delete mode 100644 _api/airflow/hooks/hive_hooks/index.html
 delete mode 100644 _api/airflow/hooks/http_hook/index.html
 delete mode 100644 _api/airflow/hooks/index.html
 delete mode 100644 _api/airflow/hooks/jdbc_hook/index.html
 delete mode 100644 _api/airflow/hooks/mssql_hook/index.html
 delete mode 100644 _api/airflow/hooks/mysql_hook/index.html
 delete mode 100644 _api/airflow/hooks/oracle_hook/index.html
 delete mode 100644 _api/airflow/hooks/pig_hook/index.html
 delete mode 100644 _api/airflow/hooks/postgres_hook/index.html
 delete mode 100644 _api/airflow/hooks/presto_hook/index.html
 delete mode 100644 _api/airflow/hooks/samba_hook/index.html
 delete mode 100644 _api/airflow/hooks/slack_hook/index.html
 delete mode 100644 _api/airflow/hooks/sqlite_hook/index.html
 delete mode 100644 _api/airflow/hooks/webhdfs_hook/index.html
 delete mode 100644 _api/airflow/hooks/zendesk_hook/index.html
 delete mode 100644 _api/airflow/models/base/index.html
 delete mode 100644 _api/airflow/models/baseoperator/index.html
 delete mode 100644 _api/airflow/models/chart/index.html
 delete mode 100644 _api/airflow/models/connection/index.html
 delete mode 100644 _api/airflow/models/crypto/index.html
 delete mode 100644 _api/airflow/models/dag/index.html
 delete mode 100644 _api/airflow/models/dagbag/index.html
 delete mode 100644 _api/airflow/models/dagpickle/index.html
 delete mode 100644 _api/airflow/models/dagrun/index.html
 delete mode 100644 _api/airflow/models/errors/index.html
 delete mode 100644 _api/airflow/models/index.html
 delete mode 100644 _api/airflow/models/knownevent/index.html
 delete mode 100644 _api/airflow/models/kubernetes/index.html
 delete mode 100644 _api/airflow/models/log/index.html
 delete mode 100644 _api/airflow/models/pool/index.html
 delete mode 100644 _api/airflow/models/skipmixin/index.html
 delete mode 100644 _api/airflow/models/slamiss/index.html
 delete mode 100644 _api/airflow/models/taskfail/index.html
 delete mode 100644 _api/airflow/models/taskinstance/index.html
 delete mode 100644 _api/airflow/models/taskreschedule/index.html
 delete mode 100644 _api/airflow/models/user/index.html
 delete mode 100644 _api/airflow/models/variable/index.html
 delete mode 100644 _api/airflow/models/xcom/index.html
 delete mode 100644 _api/airflow/operators/bash_operator/index.html
 delete mode 100644 _api/airflow/operators/branch_operator/index.html
 delete mode 100644 _api/airflow/operators/check_operator/index.html
 delete mode 100644 _api/airflow/operators/dagrun_operator/index.html
 delete mode 100644 _api/airflow/operators/docker_operator/index.html
 delete mode 100644 _api/airflow/operators/druid_check_operator/index.html
 delete mode 100644 _api/airflow/operators/dummy_operator/index.html
 delete mode 100644 _api/airflow/operators/email_operator/index.html
 delete mode 100644 _api/airflow/operators/generic_transfer/index.html
 delete mode 100644 _api/airflow/operators/hive_operator/index.html
 delete mode 100644 _api/airflow/operators/hive_stats_operator/index.html
 delete mode 100644 _api/airflow/operators/hive_to_druid/index.html
 delete mode 100644 _api/airflow/operators/hive_to_mysql/index.html
 delete mode 100644 _api/airflow/operators/hive_to_samba_operator/index.html
 delete mode 100644 _api/airflow/operators/http_operator/index.html
 delete mode 100644 _api/airflow/operators/index.html
 delete mode 100644 _api/airflow/operators/jdbc_operator/index.html
 delete mode 100644 _api/airflow/operators/latest_only_operator/index.html
 delete mode 100644 _api/airflow/operators/mssql_operator/index.html
 delete mode 100644 _api/airflow/operators/mssql_to_hive/index.html
 delete mode 100644 _api/airflow/operators/mysql_operator/index.html
 delete mode 100644 _api/airflow/operators/mysql_to_hive/index.html
 delete mode 100644 _api/airflow/operators/oracle_operator/index.html
 delete mode 100644 _api/airflow/operators/papermill_operator/index.html
 delete mode 100644 _api/airflow/operators/pig_operator/index.html
 delete mode 100644 _api/airflow/operators/postgres_operator/index.html
 delete mode 100644 _api/airflow/operators/presto_check_operator/index.html
 delete mode 100644 _api/airflow/operators/presto_to_mysql/index.html
 delete mode 100644 _api/airflow/operators/python_operator/index.html
 delete mode 100644 _api/airflow/operators/redshift_to_s3_operator/index.html
 delete mode 100644 _api/airflow/operators/s3_file_transform_operator/index.html
 delete mode 100644 _api/airflow/operators/s3_to_hive_operator/index.html
 delete mode 100644 _api/airflow/operators/s3_to_redshift_operator/index.html
 delete mode 100644 _api/airflow/operators/sensors/index.html
 delete mode 100644 _api/airflow/operators/slack_operator/index.html
 delete mode 100644 _api/airflow/operators/sqlite_operator/index.html
 delete mode 100644 _api/airflow/operators/subdag_operator/index.html
 delete mode 100644 _api/airflow/sensors/base_sensor_operator/index.html
 delete mode 100644 _api/airflow/sensors/external_task_sensor/index.html
 delete mode 100644 _api/airflow/sensors/hdfs_sensor/index.html
 delete mode 100644 _api/airflow/sensors/hive_partition_sensor/index.html
 delete mode 100644 _api/airflow/sensors/http_sensor/index.html
 delete mode 100644 _api/airflow/sensors/index.html
 delete mode 100644 _api/airflow/sensors/metastore_partition_sensor/index.html
 delete mode 100644 _api/airflow/sensors/named_hive_partition_sensor/index.html
 delete mode 100644 _api/airflow/sensors/s3_key_sensor/index.html
 delete mode 100644 _api/airflow/sensors/s3_prefix_sensor/index.html
 delete mode 100644 _api/airflow/sensors/sql_sensor/index.html
 delete mode 100644 _api/airflow/sensors/time_delta_sensor/index.html
 delete mode 100644 _api/airflow/sensors/time_sensor/index.html
 delete mode 100644 _api/airflow/sensors/web_hdfs_sensor/index.html
 delete mode 100644 _api/index.html
 create mode 100644 _gen/docs-docs-index.json
 create mode 100644 _gen/docs-index.json
 create mode 100644 _gen/indexes/.keep
 create mode 100644 _gen/indexes/en/blog-index.json
 create mode 100644 _gen/indexes/en/blog-posts.json
 delete mode 100644 _images/graphviz-a401e86cce11bfcda64a051edda547edccaaa423.png
 delete mode 100644 _modules/airflow/configuration.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_dingding_operator.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_compute.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_function.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_natural_language.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_spanner.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_speech.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_sql.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_sql_query.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_transfer.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_translate.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcp_vision.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcs_acl.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
 delete mode 100644 _modules/airflow/contrib/example_dags/example_papermill_operator.html
 delete mode 100644 _modules/airflow/contrib/executors/kubernetes_executor.html
 delete mode 100644 _modules/airflow/contrib/executors/mesos_executor.html
 delete mode 100644 _modules/airflow/contrib/hooks.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_athena_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_dynamodb_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_firehose_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_lambda_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_logs_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_sns_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/aws_sqs_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_container_instance_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_container_registry_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_container_volume_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_cosmos_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_data_lake_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/azure_fileshare_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/bigquery_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/cassandra_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/cloudant_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/databricks_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/datadog_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/datastore_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/dingding_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/discord_webhook_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/emr_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/fs_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/ftp_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_api_base_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_bigtable_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_cloud_build_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_compute_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_container_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_dataflow_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_dataproc_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_dlp_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_function_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_kms_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_mlengine_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_natural_language_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_pubsub_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_spanner_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_sql_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_transfer_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_translate_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcp_vision_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/gcs_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/grpc_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/imap_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/jenkins_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/jira_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/mongo_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/openfaas_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/opsgenie_alert_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/pinot_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/qubole_check_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/qubole_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/redis_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/redshift_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/sagemaker_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/salesforce_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/segment_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/sftp_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/slack_webhook_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/snowflake_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/spark_jdbc_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/spark_jdbc_script.html
 delete mode 100644 _modules/airflow/contrib/hooks/spark_sql_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/spark_submit_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/sqoop_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/ssh_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/vertica_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/wasb_hook.html
 delete mode 100644 _modules/airflow/contrib/hooks/winrm_hook.html
 delete mode 100644 _modules/airflow/contrib/operators.html
 delete mode 100644 _modules/airflow/contrib/operators/adls_list_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/adls_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/aws_athena_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/aws_sqs_publish_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/awsbatch_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/azure_container_instances_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/azure_cosmos_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_check_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_get_data.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_table_delete_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_to_bigquery.html
 delete mode 100644 _modules/airflow/contrib/operators/bigquery_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/cassandra_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/databricks_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/dataflow_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/dataproc_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/datastore_export_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/datastore_import_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/dingding_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/discord_webhook_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/druid_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/ecs_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/emr_add_steps_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/emr_create_job_flow_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/file_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/file_to_wasb.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_bigtable_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_cloud_build_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_compute_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_container_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_dlp_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_function_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_natural_language_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_spanner_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_speech_to_text_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_sql_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_text_to_speech_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_transfer_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_translate_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_translate_speech_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_video_intelligence_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcp_vision_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_acl_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_delete_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_download_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_list_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_to_bq.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/gcs_to_s3.html
 delete mode 100644 _modules/airflow/contrib/operators/hipchat_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/hive_to_dynamodb.html
 delete mode 100644 _modules/airflow/contrib/operators/imap_attachment_to_s3_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/jenkins_job_trigger_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/jira_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/kubernetes_pod_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/mlengine_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/mongo_to_s3.html
 delete mode 100644 _modules/airflow/contrib/operators/mssql_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/mysql_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/opsgenie_alert_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/oracle_to_azure_data_lake_transfer.html
 delete mode 100644 _modules/airflow/contrib/operators/oracle_to_oracle_transfer.html
 delete mode 100644 _modules/airflow/contrib/operators/postgres_to_gcs_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/pubsub_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/qubole_check_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/qubole_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/redis_publish_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/s3_copy_object_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/s3_delete_objects_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/s3_list_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/s3_to_gcs_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/s3_to_sftp_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_base_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_endpoint_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_model_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_training_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_transform_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sagemaker_tuning_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/segment_track_event_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sftp_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sftp_to_s3_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/slack_webhook_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/snowflake_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sns_publish_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/spark_jdbc_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/spark_sql_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/spark_submit_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/sql_to_gcs.html
 delete mode 100644 _modules/airflow/contrib/operators/sqoop_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/ssh_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/vertica_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/vertica_to_hive.html
 delete mode 100644 _modules/airflow/contrib/operators/vertica_to_mysql.html
 delete mode 100644 _modules/airflow/contrib/operators/wasb_delete_blob_operator.html
 delete mode 100644 _modules/airflow/contrib/operators/winrm_operator.html
 delete mode 100644 _modules/airflow/contrib/sensors/aws_athena_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/aws_glue_catalog_partition_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/aws_sqs_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/azure_cosmos_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/bash_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/bigquery_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/cassandra_record_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/cassandra_table_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/datadog_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/emr_base_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/emr_job_flow_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/emr_step_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/file_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/ftp_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/gcp_transfer_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/gcs_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/hdfs_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/imap_attachment_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/jira_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/mongo_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/pubsub_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/python_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/qubole_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/redis_key_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/redis_pub_sub_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sagemaker_base_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sagemaker_training_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sagemaker_transform_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/sftp_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/wasb_sensor.html
 delete mode 100644 _modules/airflow/contrib/sensors/weekday_sensor.html
 delete mode 100644 _modules/airflow/example_dags/example_bash_operator.html
 delete mode 100644 _modules/airflow/example_dags/example_python_operator.html
 delete mode 100644 _modules/airflow/exceptions.html
 delete mode 100644 _modules/airflow/executors.html
 delete mode 100644 _modules/airflow/executors/base_executor.html
 delete mode 100644 _modules/airflow/executors/celery_executor.html
 delete mode 100644 _modules/airflow/executors/dask_executor.html
 delete mode 100644 _modules/airflow/executors/local_executor.html
 delete mode 100644 _modules/airflow/executors/sequential_executor.html
 delete mode 100644 _modules/airflow/hooks.html
 delete mode 100644 _modules/airflow/hooks/S3_hook.html
 delete mode 100644 _modules/airflow/hooks/base_hook.html
 delete mode 100644 _modules/airflow/hooks/dbapi_hook.html
 delete mode 100644 _modules/airflow/hooks/docker_hook.html
 delete mode 100644 _modules/airflow/hooks/druid_hook.html
 delete mode 100644 _modules/airflow/hooks/hdfs_hook.html
 delete mode 100644 _modules/airflow/hooks/hive_hooks.html
 delete mode 100644 _modules/airflow/hooks/http_hook.html
 delete mode 100644 _modules/airflow/hooks/jdbc_hook.html
 delete mode 100644 _modules/airflow/hooks/mssql_hook.html
 delete mode 100644 _modules/airflow/hooks/mysql_hook.html
 delete mode 100644 _modules/airflow/hooks/oracle_hook.html
 delete mode 100644 _modules/airflow/hooks/pig_hook.html
 delete mode 100644 _modules/airflow/hooks/postgres_hook.html
 delete mode 100644 _modules/airflow/hooks/presto_hook.html
 delete mode 100644 _modules/airflow/hooks/samba_hook.html
 delete mode 100644 _modules/airflow/hooks/slack_hook.html
 delete mode 100644 _modules/airflow/hooks/sqlite_hook.html
 delete mode 100644 _modules/airflow/hooks/webhdfs_hook.html
 delete mode 100644 _modules/airflow/hooks/zendesk_hook.html
 delete mode 100644 _modules/airflow/macros.html
 delete mode 100644 _modules/airflow/macros/hive.html
 delete mode 100644 _modules/airflow/models.html
 delete mode 100644 _modules/airflow/models/base.html
 delete mode 100644 _modules/airflow/models/baseoperator.html
 delete mode 100644 _modules/airflow/models/chart.html
 delete mode 100644 _modules/airflow/models/connection.html
 delete mode 100644 _modules/airflow/models/crypto.html
 delete mode 100644 _modules/airflow/models/dag.html
 delete mode 100644 _modules/airflow/models/dagbag.html
 delete mode 100644 _modules/airflow/models/dagpickle.html
 delete mode 100644 _modules/airflow/models/dagrun.html
 delete mode 100644 _modules/airflow/models/errors.html
 delete mode 100644 _modules/airflow/models/knownevent.html
 delete mode 100644 _modules/airflow/models/kubernetes.html
 delete mode 100644 _modules/airflow/models/log.html
 delete mode 100644 _modules/airflow/models/pool.html
 delete mode 100644 _modules/airflow/models/skipmixin.html
 delete mode 100644 _modules/airflow/models/slamiss.html
 delete mode 100644 _modules/airflow/models/taskfail.html
 delete mode 100644 _modules/airflow/models/taskinstance.html
 delete mode 100644 _modules/airflow/models/taskreschedule.html
 delete mode 100644 _modules/airflow/models/user.html
 delete mode 100644 _modules/airflow/models/variable.html
 delete mode 100644 _modules/airflow/models/xcom.html
 delete mode 100644 _modules/airflow/operators.html
 delete mode 100644 _modules/airflow/operators/bash_operator.html
 delete mode 100644 _modules/airflow/operators/branch_operator.html
 delete mode 100644 _modules/airflow/operators/check_operator.html
 delete mode 100644 _modules/airflow/operators/dagrun_operator.html
 delete mode 100644 _modules/airflow/operators/docker_operator.html
 delete mode 100644 _modules/airflow/operators/druid_check_operator.html
 delete mode 100644 _modules/airflow/operators/dummy_operator.html
 delete mode 100644 _modules/airflow/operators/email_operator.html
 delete mode 100644 _modules/airflow/operators/generic_transfer.html
 delete mode 100644 _modules/airflow/operators/hive_operator.html
 delete mode 100644 _modules/airflow/operators/hive_stats_operator.html
 delete mode 100644 _modules/airflow/operators/hive_to_druid.html
 delete mode 100644 _modules/airflow/operators/hive_to_mysql.html
 delete mode 100644 _modules/airflow/operators/hive_to_samba_operator.html
 delete mode 100644 _modules/airflow/operators/http_operator.html
 delete mode 100644 _modules/airflow/operators/jdbc_operator.html
 delete mode 100644 _modules/airflow/operators/latest_only_operator.html
 delete mode 100644 _modules/airflow/operators/mssql_operator.html
 delete mode 100644 _modules/airflow/operators/mssql_to_hive.html
 delete mode 100644 _modules/airflow/operators/mysql_operator.html
 delete mode 100644 _modules/airflow/operators/mysql_to_hive.html
 delete mode 100644 _modules/airflow/operators/oracle_operator.html
 delete mode 100644 _modules/airflow/operators/papermill_operator.html
 delete mode 100644 _modules/airflow/operators/pig_operator.html
 delete mode 100644 _modules/airflow/operators/postgres_operator.html
 delete mode 100644 _modules/airflow/operators/presto_check_operator.html
 delete mode 100644 _modules/airflow/operators/presto_to_mysql.html
 delete mode 100644 _modules/airflow/operators/python_operator.html
 delete mode 100644 _modules/airflow/operators/redshift_to_s3_operator.html
 delete mode 100644 _modules/airflow/operators/s3_file_transform_operator.html
 delete mode 100644 _modules/airflow/operators/s3_to_hive_operator.html
 delete mode 100644 _modules/airflow/operators/s3_to_redshift_operator.html
 delete mode 100644 _modules/airflow/operators/sensors.html
 delete mode 100644 _modules/airflow/operators/slack_operator.html
 delete mode 100644 _modules/airflow/operators/sqlite_operator.html
 delete mode 100644 _modules/airflow/operators/subdag_operator.html
 delete mode 100644 _modules/airflow/sensors.html
 delete mode 100644 _modules/airflow/sensors/base_sensor_operator.html
 delete mode 100644 _modules/airflow/sensors/external_task_sensor.html
 delete mode 100644 _modules/airflow/sensors/hdfs_sensor.html
 delete mode 100644 _modules/airflow/sensors/hive_partition_sensor.html
 delete mode 100644 _modules/airflow/sensors/http_sensor.html
 delete mode 100644 _modules/airflow/sensors/metastore_partition_sensor.html
 delete mode 100644 _modules/airflow/sensors/named_hive_partition_sensor.html
 delete mode 100644 _modules/airflow/sensors/s3_key_sensor.html
 delete mode 100644 _modules/airflow/sensors/s3_prefix_sensor.html
 delete mode 100644 _modules/airflow/sensors/sql_sensor.html
 delete mode 100644 _modules/airflow/sensors/time_delta_sensor.html
 delete mode 100644 _modules/airflow/sensors/time_sensor.html
 delete mode 100644 _modules/airflow/sensors/web_hdfs_sensor.html
 delete mode 100644 _modules/airflow/utils/log/logging_mixin.html
 delete mode 100644 _modules/index.html
 delete mode 100644 api.html
 create mode 100644 blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-commiters/index.html
 create mode 100644 blog/index.html
 create mode 100644 blog/index.xml
 create mode 100644 blog/its-a-breeze-to-develop-apache-airflow/index.html
 create mode 100644 blog/tags/community/index.html
 create mode 100644 blog/tags/community/index.xml
 create mode 100644 blog/tags/development/index.html
 create mode 100644 blog/tags/development/index.xml
 create mode 100644 browserconfig.xml
 create mode 100644 categories/index.html
 create mode 100644 categories/index.xml
 delete mode 100644 changelog.html
 create mode 100644 chunk-1.b2992.js
 create mode 100644 chunk-3.b2992.js
 create mode 100644 chunk-4.b2992.js
 create mode 100644 chunk-5.b2992.js
 delete mode 100644 cli.html
 create mode 100644 community/index.html
 create mode 100644 community/index.xml
 delete mode 100644 concepts.html
 create mode 100644 css/swagger-ui.css
 create mode 100644 docs.b2992.js
 rename {_images => docs/1.10.1/_images}/adhoc.png (100%)
 rename {_images => docs/1.10.1/_images}/airflow.gif (100%)
 rename {_images => docs/1.10.1/_images}/apache.jpg (100%)
 rename {_images => docs/1.10.1/_images}/branch_bad.png (100%)
 rename {_images => docs/1.10.1/_images}/branch_good.png (100%)
 rename {_images => docs/1.10.1/_images}/chart.png (100%)
 rename {_images => docs/1.10.1/_images}/chart_form.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/code.png (100%)
 rename {_images => docs/1.10.1/_images}/connection_create.png (100%)
 rename {_images => docs/1.10.1/_images}/connection_edit.png (100%)
 rename {_images => docs/1.10.1/_images}/connections.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/context.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/dags.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/duration.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/gantt.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/graph.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/incubator.jpg (100%)
 rename {1.10.2 => docs/1.10.1}/_images/latest_only_with_trigger.png (100%)
 rename {1.10.5 => docs/1.10.1}/_images/pin_large.png (100%)
 rename {_images => docs/1.10.1/_images}/subdag_after.png (100%)
 rename {_images => docs/1.10.1/_images}/subdag_before.png (100%)
 rename {_images => docs/1.10.1/_images}/subdag_zoom.png (100%)
 rename {1.10.1 => docs/1.10.1}/_images/tree.png (100%)
 rename {_images => docs/1.10.1/_images}/variable_hidden.png (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/aws_firehose_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/aws_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/aws_lambda_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/azure_data_lake_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/azure_fileshare_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/bigquery_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/cassandra_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/cloudant_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/databricks_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/datadog_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/datastore_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/discord_webhook_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/emr_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/fs_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/ftp_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_api_base_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_container_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_function_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcp_sql_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/gcs_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/imap_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/jenkins_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/jira_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/mongo_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/pinot_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/qubole_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/redis_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/redshift_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/sagemaker_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/segment_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/sftp_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/slack_webhook_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/snowflake_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/spark_jdbc_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/spark_sql_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/spark_submit_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/sqoop_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/ssh_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/vertica_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/wasb_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/hooks/winrm_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/kubernetes/secret.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/awsbatch_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_check_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_get_data.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_to_bigquery.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/bigquery_to_gcs.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/cassandra_to_gcs.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/databricks_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/dataflow_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/dataproc_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/datastore_export_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/datastore_import_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/discord_webhook_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/druid_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/ecs_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/emr_add_steps_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/file_to_gcs.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/file_to_wasb.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcp_compute_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcp_container_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcp_function_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcp_sql_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_download_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_list_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_to_bq.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_to_gcs.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/gcs_to_s3.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/hipchat_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/hive_to_dynamodb.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/jenkins_job_trigger_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/jira_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/kubernetes_pod_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/mlengine_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/mongo_to_s3.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/mysql_to_gcs.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/postgres_to_gcs_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/pubsub_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/qubole_check_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/qubole_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/s3_list_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/s3_to_gcs_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_base_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_endpoint_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_model_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_training_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_transform_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sagemaker_tuning_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/segment_track_event_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sftp_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/slack_webhook_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/snowflake_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/spark_jdbc_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/spark_sql_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/spark_submit_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/sqoop_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/ssh_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/vertica_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/vertica_to_hive.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/operators/winrm_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/bash_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/bigquery_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/cassandra_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/datadog_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/emr_base_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/emr_step_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/file_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/ftp_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/gcs_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/hdfs_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/jira_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/pubsub_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/qubole_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/redis_key_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sagemaker_base_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sagemaker_training_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sagemaker_transform_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/sftp_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/contrib/sensors/wasb_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/executors/celery_executor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/executors/local_executor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/executors/sequential_executor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/S3_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/dbapi_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/docker_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/druid_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/hdfs_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/hive_hooks.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/http_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/jdbc_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/mssql_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/mysql_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/oracle_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/pig_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/postgres_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/presto_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/samba_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/slack_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/sqlite_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/webhdfs_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/hooks/zendesk_hook.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/macros.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/macros/hive.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/models.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/bash_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/check_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/dagrun_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/docker_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/druid_check_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/dummy_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/email_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/generic_transfer.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/hive_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/hive_stats_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/hive_to_druid.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/hive_to_mysql.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/hive_to_samba_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/http_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/jdbc_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/latest_only_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/mssql_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/mssql_to_hive.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/mysql_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/mysql_to_hive.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/oracle_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/pig_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/postgres_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/presto_check_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/presto_to_mysql.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/python_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/redshift_to_s3_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/s3_file_transform_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/s3_to_hive_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/s3_to_redshift_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/slack_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/sqlite_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/operators/subdag_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/base_sensor_operator.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/external_task_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/hdfs_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/hive_partition_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/http_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/metastore_partition_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/named_hive_partition_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/s3_key_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/s3_prefix_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/sql_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/time_delta_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/time_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/airflow/sensors/web_hdfs_sensor.html (100%)
 rename {1.10.1 => docs/1.10.1}/_modules/index.html (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/api.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/cli.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/code.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/concepts.rst.txt (100%)
 rename {1.10.3 => docs/1.10.1}/_sources/faq.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/executor/use-celery.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/executor/use-dask.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/executor/use-mesos.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/index.rst.txt (100%)
 rename {1.10.4 => docs/1.10.1}/_sources/howto/initialize-database.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/manage-connections.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/operator.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/run-with-systemd.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/run-with-upstart.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/secure-connections.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/set-config.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/howto/use-test-config.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/howto/write-logs.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/index.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/installation.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/integration.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/kubernetes.rst.txt (100%)
 rename {1.10.4 => docs/1.10.1}/_sources/license.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/lineage.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/plugins.rst.txt (100%)
 rename {1.10.4 => docs/1.10.1}/_sources/profiling.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/project.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/scheduler.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/security.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/start.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_sources/timezone.rst.txt (100%)
 rename {1.10.1 => docs/1.10.1}/_sources/tutorial.rst.txt (100%)
 rename {1.10.4 => docs/1.10.1}/_sources/ui.rst.txt (100%)
 rename {1.10.2 => docs/1.10.1}/_static/ajax-loader.gif (100%)
 rename {1.10.2 => docs/1.10.1}/_static/basic.css (100%)
 rename {1.10.2 => docs/1.10.1}/_static/comment-bright.png (100%)
 rename {1.10.2 => docs/1.10.1}/_static/comment-close.png (100%)
 rename {1.10.2 => docs/1.10.1}/_static/comment.png (100%)
 rename {1.10.2 => docs/1.10.1}/_static/css/badge_only.css (100%)
 rename {1.10.2 => docs/1.10.1}/_static/css/theme.css (100%)
 rename {1.10.2 => docs/1.10.1}/_static/doctools.js (100%)
 rename {1.10.1 => docs/1.10.1}/_static/documentation_options.js (100%)
 rename {1.10.2 => docs/1.10.1}/_static/down-pressed.png (100%)
 rename {1.10.2 => docs/1.10.1}/_static/down.png (100%)
 rename {_static => docs/1.10.1/_static}/file.png (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Inconsolata-Bold.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Inconsolata-Regular.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Inconsolata.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato-Bold.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato-Regular.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bold.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bold.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bold.woff (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bold.woff2 (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bolditalic.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bolditalic.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bolditalic.woff (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-bolditalic.woff2 (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-italic.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-italic.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-italic.woff (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-italic.woff2 (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-regular.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-regular.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-regular.woff (100%)
 rename {_static => docs/1.10.1/_static}/fonts/Lato/lato-regular.woff2 (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab-Bold.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab-Regular.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.woff (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-regular.eot (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-regular.ttf (100%)
 rename {_static => docs/1.10.1/_static}/fonts/RobotoSlab/roboto-slab-v7-regular.woff (100%)
... 6381 lines suppressed ...


[airflow-site] 09/30: 1.9.0

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 28a3eb6000f0d877c8c8088facb82bf2ab169c8d
Author: Chris Riccomini <cr...@apache.org>
AuthorDate: Wed Jan 3 09:47:55 2018 -0800

    1.9.0
---
 _modules/S3_hook.html                              |  455 ++--
 .../airflow/contrib/executors/mesos_executor.html  |   58 +-
 .../{ => airflow/contrib/hooks}/bigquery_hook.html |  606 +++--
 _modules/airflow/contrib/hooks/datastore_hook.html |  410 +++
 _modules/airflow/contrib/hooks/emr_hook.html       |  295 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  395 +++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  500 ++++
 _modules/airflow/contrib/hooks/gcs_hook.html       |  264 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |  345 +++
 .../operators/bigquery_check_operator.html}        |  137 +-
 .../contrib/operators/bigquery_operator.html       |  144 +-
 ...ery_operator.html => bigquery_to_bigquery.html} |  149 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |  157 +-
 .../contrib/operators/databricks_operator.html     |  487 ++++
 .../contrib/operators/dataflow_operator.html       |  470 ++++
 .../contrib/operators/dataproc_operator.html       | 1139 ++++++++
 .../airflow/contrib/operators/ecs_operator.html    |  360 +++
 .../contrib/operators/emr_add_steps_operator.html  |  291 ++
 .../operators/emr_create_job_flow_operator.html    |  296 +++
 .../operators/emr_terminate_job_flow_operator.html |  285 ++
 .../{bigquery_operator.html => file_to_wasb.html}  |  143 +-
 .../contrib/operators/gcs_download_operator.html   |  134 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |  429 +++
 .../contrib/operators/hipchat_operator.html        |   18 +-
 .../contrib/operators/mlengine_operator.html       |  795 ++++++
 _modules/airflow/contrib/sensors/wasb_sensor.html  |  327 +++
 _modules/airflow/executors/local_executor.html     |   20 +-
 .../airflow/executors/sequential_executor.html     |   13 +-
 _modules/airflow/hooks/S3_hook.html                |  489 ++++
 _modules/airflow/macros.html                       |   12 +-
 _modules/airflow/macros/hive.html                  |   11 +-
 _modules/airflow/models.html                       | 1466 +++++++---
 _modules/airflow/operators/docker_operator.html    |  197 +-
 .../airflow/operators/redshift_to_s3_operator.html |  337 +++
 .../operators/s3_file_transform_operator.html      |  342 +++
 .../airflow/operators/s3_to_hive_operator.html     |  482 ++++
 _modules/airflow/operators/sensors.html            |  168 +-
 _modules/bash_operator.html                        |   42 +-
 _modules/bigquery_hook.html                        |  544 +++-
 _modules/dagrun_operator.html                      |   17 +-
 _modules/dbapi_hook.html                           |  153 +-
 _modules/druid_hook.html                           |  271 +-
 _modules/dummy_operator.html                       |    9 +-
 _modules/email_operator.html                       |   11 +-
 _modules/ftp_hook.html                             |   29 +-
 _modules/gcs_hook.html                             |  256 +-
 _modules/generic_transfer.html                     |   24 +-
 _modules/hive_hooks.html                           |  329 ++-
 _modules/hive_operator.html                        |   80 +-
 _modules/hive_to_druid.html                        |  207 +-
 _modules/hive_to_mysql.html                        |   86 +-
 _modules/http_hook.html                            |   31 +-
 _modules/http_operator.html                        |   17 +-
 _modules/index.html                                |   53 +-
 _modules/mysql_hook.html                           |   31 +-
 _modules/mysql_operator.html                       |   22 +-
 _modules/mysql_to_hive.html                        |   90 +-
 _modules/postgres_hook.html                        |  105 +-
 _modules/postgres_operator.html                    |   76 +-
 _modules/presto_check_operator.html                |   13 +-
 _modules/presto_hook.html                          |   37 +-
 _modules/python_operator.html                      |  297 ++-
 _modules/qubole_operator.html                      |  144 +-
 _modules/s3_to_hive_operator.html                  |  259 +-
 _modules/sensors.html                              |  178 +-
 _modules/slack_operator.html                       |   77 +-
 _modules/sqlite_hook.html                          |    7 +-
 _sources/api.rst.txt                               |   20 +-
 _sources/code.rst.txt                              |   14 +-
 _sources/concepts.rst.txt                          |   10 +-
 _sources/configuration.rst.txt                     |   63 +-
 _sources/faq.rst.txt                               |   12 +-
 _sources/installation.rst.txt                      |  124 +-
 _sources/integration.rst.txt                       |  351 ++-
 _sources/scheduler.rst.txt                         |   22 +-
 _sources/security.rst.txt                          |   82 +-
 _sources/start.rst.txt                             |    2 +-
 _sources/tutorial.rst.txt                          |   19 +-
 _static/basic.css                                  |   15 +-
 _static/doctools.js                                |   54 +-
 _static/pygments.css                               |    4 +
 _static/searchtools.js                             |    5 +-
 _static/websupport.js                              |    2 +-
 api.html                                           |   28 +-
 cli.html                                           | 1413 ++++++----
 code.html                                          | 2806 ++++++++++++++++----
 concepts.html                                      |  105 +-
 configuration.html                                 |   83 +-
 faq.html                                           |   45 +-
 genindex.html                                      |  380 ++-
 index.html                                         |  192 +-
 installation.html                                  |   79 +-
 integration.html                                   | 1738 +++++++++++-
 license.html                                       |    7 +-
 objects.inv                                        |  Bin 2159 -> 3480 bytes
 plugins.html                                       |   21 +-
 profiling.html                                     |   11 +-
 project.html                                       |   19 +-
 py-modindex.html                                   |    7 +-
 scheduler.html                                     |   68 +-
 search.html                                        |    7 +-
 searchindex.js                                     |    2 +-
 security.html                                      |  140 +-
 start.html                                         |   23 +-
 tutorial.html                                      |   85 +-
 ui.html                                            |   15 +-
 106 files changed, 20079 insertions(+), 4115 deletions(-)

diff --git a/_modules/S3_hook.html b/_modules/S3_hook.html
index 40a14c3..ae1091a 100644
--- a/_modules/S3_hook.html
+++ b/_modules/S3_hook.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +131,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>S3_hook</li>
+        
+      <li>S3_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,135 +181,21 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">division</span>
-<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
-<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
-<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+<span class="kn">from</span> <span class="nn">six</span> <span class="k">import</span> <span class="n">BytesIO</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
 <span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">fnmatch</span>
-<span class="kn">import</span> <span class="nn">configparser</span>
-<span class="kn">import</span> <span class="nn">math</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
-<span class="kn">import</span> <span class="nn">warnings</span>
-
-<span class="kn">import</span> <span class="nn">boto</span>
-<span class="kn">from</span> <span class="nn">boto.s3.connection</span> <span class="kn">import</span> <span class="n">S3Connection</span>
-<span class="kn">from</span> <span class="nn">boto.sts</span> <span class="kn">import</span> <span class="n">STSConnection</span>
-<span class="n">boto</span><span class="o">.</span><span class="n">set_stream_logger</span><span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">)</span>
-<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;boto&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
 
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-
-
-<span class="k">def</span> <span class="nf">_parse_s3_config</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">,</span> <span class="n">config_format</span><span class="o">=</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="n">profile</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="S3Hook"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook">[docs]</a><span class="k">class</span> <span class="nc">S3Hook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Parses a config file for s3 credentials. Can currently</span>
-<span class="sd">    parse boto, s3cmd.conf and AWS SDK config formats</span>
-
-<span class="sd">    :param config_file_name: path to the config file</span>
-<span class="sd">    :type config_file_name: str</span>
-<span class="sd">    :param config_format: config type. One of &quot;boto&quot;, &quot;s3cmd&quot; or &quot;aws&quot;.</span>
-<span class="sd">        Defaults to &quot;boto&quot;</span>
-<span class="sd">    :type config_format: str</span>
-<span class="sd">    :param profile: profile name in AWS type config file</span>
-<span class="sd">    :type profile: str</span>
+<span class="sd">    Interact with AWS S3, using the boto3 library.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">Config</span> <span class="o">=</span> <span class="n">configparser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">Config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
-        <span class="n">sections</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">sections</span><span class="p">()</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Couldn&#39;t read {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">))</span>
-    <span class="c1"># Setting option names depending on file format</span>
-    <span class="k">if</span> <span class="n">config_format</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="n">config_format</span> <span class="o">=</span> <span class="s1">&#39;boto&#39;</span>
-    <span class="n">conf_format</span> <span class="o">=</span> <span class="n">config_format</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;boto&#39;</span><span class="p">:</span>  <span class="c1"># pragma: no cover</span>
-        <span class="k">if</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
-            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;Credentials&#39;</span>
-    <span class="k">elif</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;aws&#39;</span> <span class="ow">and</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="n">cred_section</span> <span class="o">=</span> <span class="n">profile</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;default&#39;</span>
-    <span class="c1"># Option names</span>
-    <span class="k">if</span> <span class="n">conf_format</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="s1">&#39;aws&#39;</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
-        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;aws_access_key_id&#39;</span>
-        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span>
-        <span class="c1"># security_token_option = &#39;aws_security_token&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;access_key&#39;</span>
-        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;secret_key&#39;</span>
-    <span class="c1"># Actual Parsing</span>
-    <span class="k">if</span> <span class="n">cred_section</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;This config file format is not recognized&quot;</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">access_key</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">key_id_option</span><span class="p">)</span>
-            <span class="n">secret_key</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">secret_key_option</span><span class="p">)</span>
-            <span class="n">calling_format</span> <span class="o">=</span> <span class="bp">None</span>
-            <span class="k">if</span> <span class="n">Config</span><span class="o">.</span><span class="n">has_option</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="s1">&#39;calling_format&#39;</span><span class="p">):</span>
-                <span class="n">calling_format</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="s1">&#39;calling_format&#39;</span><span class="p">)</span>
-        <span class="k">except</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Option Error in parsing s3 config file&quot;</span><span class="p">)</span>
-            <span class="k">raise</span>
-        <span class="k">return</span> <span class="p">(</span><span class="n">access_key</span><span class="p">,</span> <span class="n">secret_key</span><span class="p">,</span> <span class="n">calling_format</span><span class="p">)</span>
 
-
-<div class="viewcode-block" id="S3Hook"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook">[docs]</a><span class="k">class</span> <span class="nc">S3Hook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Interact with S3. This class is a wrapper around the boto library.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn</span><span class="o">.</span><span class="n">extra_dejson</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">profile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;profile&#39;</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span> <span class="o">=</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span> <span class="o">=</span> <span class="bp">False</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_a_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_s_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="s1">&#39;calling_format&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;calling_format&#39;</span><span class="p">]</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_file</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">]</span>
-            <span class="c1"># The format can be None and will default to boto in the parser</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="c1"># STS support for cross account resource access</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span> <span class="ow">or</span>
-                                   <span class="s1">&#39;role_arn&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">role_arn</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span> <span class="ow">or</span>
-                             <span class="s2">&quot;arn:aws:iam::&quot;</span> <span class="o">+</span>
-                             <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">]</span> <span class="o">+</span>
-                             <span class="s2">&quot;:role/&quot;</span> <span class="o">+</span>
-                             <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">])</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">__getstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">pickled_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="p">)</span>
-        <span class="k">del</span> <span class="n">pickled_dict</span><span class="p">[</span><span class="s1">&#39;connection&#39;</span><span class="p">]</span>
-        <span class="k">return</span> <span class="n">pickled_dict</span>
-
-    <span class="k">def</span> <span class="nf">__setstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="p">[</span><span class="s1">&#39;connection&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">_parse_s3_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s3url</span><span class="p">):</span>
-        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
-            <span class="s1">&#39;Please note: S3Hook._parse_s3_url() is now &#39;</span>
-            <span class="s1">&#39;S3Hook.parse_s3_url() (no leading underscore).&#39;</span><span class="p">,</span>
-            <span class="ne">DeprecationWarning</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span>
 
     <span class="nd">@staticmethod</span>
     <span class="k">def</span> <span class="nf">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">):</span>
@@ -291,47 +207,6 @@
             <span class="n">key</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
             <span class="k">return</span> <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
 
-<div class="viewcode-block" id="S3Hook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns the boto S3Connection object.</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">S3Connection</span><span class="p">(</span><span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
-        <span class="n">a_key</span> <span class="o">=</span> <span class="n">s_key</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span><span class="p">:</span>
-            <span class="n">a_key</span><span class="p">,</span> <span class="n">s_key</span><span class="p">,</span> <span class="n">calling_format</span> <span class="o">=</span> <span class="n">_parse_s3_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_config_file</span><span class="p">,</span>
-                                                <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_format</span><span class="p">,</span>
-                                                <span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span><span class="p">:</span>
-            <span class="n">a_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_a_key</span>
-            <span class="n">s_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_s_key</span>
-            <span class="n">calling_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span>
-
-        <span class="k">if</span> <span class="n">calling_format</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-            <span class="n">calling_format</span> <span class="o">=</span> <span class="s1">&#39;boto.s3.connection.SubdomainCallingFormat&#39;</span>
-
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span><span class="p">:</span>
-            <span class="n">sts_connection</span> <span class="o">=</span> <span class="n">STSConnection</span><span class="p">(</span><span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">a_key</span><span class="p">,</span>
-                                           <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">s_key</span><span class="p">,</span>
-                                           <span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
-            <span class="n">assumed_role_object</span> <span class="o">=</span> <span class="n">sts_connection</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
-                <span class="n">role_arn</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">role_arn</span><span class="p">,</span>
-                <span class="n">role_session_name</span><span class="o">=</span><span class="s2">&quot;Airflow_&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span>
-                <span class="p">)</span>
-            <span class="n">creds</span> <span class="o">=</span> <span class="n">assumed_role_object</span><span class="o">.</span><span class="n">credentials</span>
-            <span class="n">connection</span> <span class="o">=</span> <span class="n">S3Connection</span><span class="p">(</span>
-                <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">access_key</span><span class="p">,</span>
-                <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">secret_key</span><span class="p">,</span>
-                <span class="n">calling_format</span><span class="o">=</span><span class="n">calling_format</span><span class="p">,</span>
-                <span class="n">security_token</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">session_token</span>
-                <span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">connection</span> <span class="o">=</span> <span class="n">S3Connection</span><span class="p">(</span><span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">a_key</span><span class="p">,</span>
-                                      <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">s_key</span><span class="p">,</span>
-                                      <span class="n">calling_format</span><span class="o">=</span><span class="n">calling_format</span><span class="p">,</span>
-                                      <span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">connection</span></div>
-
 <div class="viewcode-block" id="S3Hook.check_for_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Check if bucket_name exists.</span>
@@ -339,20 +214,35 @@
 <span class="sd">        :param bucket_name: the name of the bucket</span>
 <span class="sd">        :type bucket_name: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">head_bucket</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div>
 
 <div class="viewcode-block" id="S3Hook.get_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">get_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto.s3.bucket.Bucket object</span>
+<span class="sd">        Returns a boto3.S3.Bucket object</span>
 
 <span class="sd">        :param bucket_name: the name of the bucket</span>
 <span class="sd">        :type bucket_name: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span></div>
+        <span class="n">s3</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">s3</span><span class="o">.</span><span class="n">Bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="S3Hook.list_keys"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_keys">[docs]</a>    <span class="k">def</span> <span class="nf">list_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span><span class= [...]
+<div class="viewcode-block" id="S3Hook.check_for_prefix"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_prefix">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_prefix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Lists keys in a bucket under prefix and not containing delimiter</span>
+<span class="sd">        Checks that a prefix exists in a bucket</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="n">delimiter</span> <span class="k">if</span> <span class="n">prefix</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="n">delimiter</span> <span class="k">else</span> <span class="n">prefix</span>
+        <span class="n">prefix_split</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">r</span><span class="s1">&#39;(\w+[</span><span class="si">{d}</span><span class="s1">])$&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">d</span><span class="o">=</span><span class="n">delimiter</span><span class="p">),</span> <span class="n">prefi [...]
+        <span class="n">previous_level</span> <span class="o">=</span> <span class="n">prefix_split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">plist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_prefixes</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">previous_level</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">return</span> <span class="kc">False</span> <span class="k">if</span> <span class="n">plist</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">plist</span></div>
+
+<div class="viewcode-block" id="S3Hook.list_prefixes"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_prefixes">[docs]</a>    <span class="k">def</span> <span class="nf">list_prefixes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lists prefixes in a bucket under prefix</span>
 
 <span class="sd">        :param bucket_name: the name of the bucket</span>
 <span class="sd">        :type bucket_name: str</span>
@@ -361,13 +251,14 @@
 <span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
 <span class="sd">        :type delimiter: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">b</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="n">keylist</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">b</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">))</span>
-        <span class="k">return</span> <span class="p">[</span><span class="n">k</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">keylist</span><span class="p">]</span> <span class="k">if</span> <span class="n">keylist</span> <span class="o">!=</span> <span class="p">[]</span> <span class="k">else</span> <span class="bp">None</span></div>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">list_objects_v2</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span> 
+                                                   <span class="n">Prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> 
+                                                   <span class="n">Delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">return</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="s1">&#39;Prefix&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;CommonPrefixes&#39;</span><span class="p">]]</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><s [...]
 
-<div class="viewcode-block" id="S3Hook.list_prefixes"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_prefixes">[docs]</a>    <span class="k">def</span> <span class="nf">list_prefixes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span> [...]
+<div class="viewcode-block" id="S3Hook.list_keys"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_keys">[docs]</a>    <span class="k">def</span> <span class="nf">list_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span><span class= [...]
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Lists prefixes in a bucket under prefix</span>
+<span class="sd">        Lists keys in a bucket under prefix and not containing delimiter</span>
 
 <span class="sd">        :param bucket_name: the name of the bucket</span>
 <span class="sd">        :type bucket_name: str</span>
@@ -376,24 +267,32 @@
 <span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
 <span class="sd">        :type delimiter: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">b</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="n">plist</span> <span class="o">=</span> <span class="n">b</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
-        <span class="n">prefix_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">plist</span>
-                        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">boto</span><span class="o">.</span><span class="n">s3</span><span class="o">.</span><span class="n">prefix</span><span class="o">.</span><span class="n">Prefix</span><span class="p">)]</span>
-        <span class="k">return</span> <span class="n">prefix_names</span> <span class="k">if</span> <span class="n">prefix_names</span> <span class="o">!=</span> <span class="p">[]</span> <span class="k">else</span> <span class="bp">None</span></div>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">list_objects_v2</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span>
+                                                   <span class="n">Prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
+                                                   <span class="n">Delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">return</span> <span class="p">[</span><span class="n">k</span><span class="p">[</span><span class="s1">&#39;Key&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Contents&#39;</span><span class="p">]]</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class [...]
 
-<div class="viewcode-block" id="S3Hook.check_for_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="S3Hook.check_for_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Checks that a key exists in a bucket</span>
+<span class="sd">        Checks if a key exists in a bucket</span>
+
+<span class="sd">        :param key: S3 key that will point to the file</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket_name: Name of the bucket in which the file is stored</span>
+<span class="sd">        :type bucket_name: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
             <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
 
-<div class="viewcode-block" id="S3Hook.get_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">head_object</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">Key</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div>
+
+<div class="viewcode-block" id="S3Hook.get_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto.s3.key.Key object</span>
+<span class="sd">        Returns a boto3.s3.Object</span>
 
 <span class="sd">        :param key: the path to the key</span>
 <span class="sd">        :type key: str</span>
@@ -402,21 +301,36 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
             <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span></div>
+
+        <span class="n">obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">Object</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
+        <span class="n">obj</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">obj</span></div>
+
+<div class="viewcode-block" id="S3Hook.read_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.read_key">[docs]</a>    <span class="k">def</span> <span class="nf">read_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Reads a key from S3</span>
+
+<span class="sd">        :param key: S3 key that will point to the file</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket_name: Name of the bucket in which the file is stored</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">obj</span><span class="o">.</span><span class="n">get</span><span class="p">()[</span><span class="s1">&#39;Body&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="S3Hook.check_for_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                               <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
+                               <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Checks that a key matching a wildcard expression exists in a bucket</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_wildcard_key</span><span class="p">(</span><span class="n">wildcard_key</span><span class="o">=</span><span class="n">wildcard_key</span><span class="p">,</span>
                                      <span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span>
-                                     <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+                                     <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span></div>
 
-<div class="viewcode-block" id="S3Hook.get_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">delimit [...]
+<div class="viewcode-block" id="S3Hook.get_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">delimit [...]
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto.s3.key.Key object matching the regular expression</span>
+<span class="sd">        Returns a boto3.s3.Object object matching the regular expression</span>
 
 <span class="sd">        :param regex_key: the path to the key</span>
 <span class="sd">        :type regex_key: str</span>
@@ -425,31 +339,20 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
             <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">wildcard_key</span><span class="p">)</span>
-        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="n">prefix</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">r&#39;[*]&#39;</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
-        <span class="n">klist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_keys</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">klist</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">None</span>
-        <span class="n">key_matches</span> <span class="o">=</span> <span class="p">[</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">klist</span> <span class="k">if</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)]</span>
-        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key_matches</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="k">if</span> <span class="n">key_matches</span> <span class="k">else</span> <span class="bp">None</span></div>
 
-<div class="viewcode-block" id="S3Hook.check_for_prefix"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_prefix">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_prefix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Checks that a prefix exists in a bucket</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="n">delimiter</span> <span class="k">if</span> <span class="n">prefix</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="n">delimiter</span> <span class="k">else</span> <span class="n">prefix</span>
-        <span class="n">prefix_split</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">r&#39;(\w+[{d}])$&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">d</span><span class="o">=</span><span class="n">delimiter</span><span class="p">),</span> <span class="n">prefix</span><span class="p">,</span> <span class="mi">1</span><span class="p [...]
-        <span class="n">previous_level</span> <span class="o">=</span> <span class="n">prefix_split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
-        <span class="n">plist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_prefixes</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">previous_level</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">False</span> <span class="k">if</span> <span class="n">plist</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">plist</span></div>
-
-<div class="viewcode-block" id="S3Hook.load_file"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">filename</span><span class="p">,</span>
-            <span class="n">key</span><span class="p">,</span>
-            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">replace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">multipart_bytes</span><span class="o">=</span><span class="mi">5</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1024</span> <span class="o">**</span> <span class="mi">3</span><span class="p">)):</span>
+        <span class="n">prefix</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">r</span><span class="s1">&#39;[*]&#39;</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">klist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_keys</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">klist</span><span class="p">:</span>
+            <span class="n">key_matches</span> <span class="o">=</span> <span class="p">[</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">klist</span> <span class="k">if</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)]</span>
+            <span class="k">if</span> <span class="n">key_matches</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key_matches</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bucket_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="S3Hook.load_file"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                  <span class="n">filename</span><span class="p">,</span>
+                  <span class="n">key</span><span class="p">,</span>
+                  <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">encrypt</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Loads a local file to S3</span>
 
@@ -463,60 +366,35 @@
 <span class="sd">            if it already exists. If replace is False and the key exists, an</span>
 <span class="sd">            error will be raised.</span>
 <span class="sd">        :type replace: bool</span>
-<span class="sd">        :param multipart_bytes: If provided, the file is uploaded in parts of</span>
-<span class="sd">            this size (minimum 5242880). The default value is 5GB, since S3</span>
-<span class="sd">            cannot accept non-multipart uploads for files larger than 5GB. If</span>
-<span class="sd">            the file is smaller than the specified limit, the option will be</span>
-<span class="sd">            ignored.</span>
-<span class="sd">        :type multipart_bytes: int</span>
+<span class="sd">        :param encrypt: If True, the file will be encrypted on the server-side</span>
+<span class="sd">            by S3 and will be stored in an encrypted form while at rest in S3.</span>
+<span class="sd">        :type encrypt: bool</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
             <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="n">key_obj</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key {key} already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                <span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
-
-        <span class="n">key_size</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">getsize</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">multipart_bytes</span> <span class="ow">and</span> <span class="n">key_size</span> <span class="o">&gt;=</span> <span class="n">multipart_bytes</span><span class="p">:</span>
-            <span class="c1"># multipart upload</span>
-            <span class="kn">from</span> <span class="nn">filechunkio</span> <span class="kn">import</span> <span class="n">FileChunkIO</span>
-            <span class="n">mp</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">initiate_multipart_upload</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-            <span class="n">total_chunks</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="n">key_size</span> <span class="o">/</span> <span class="n">multipart_bytes</span><span class="p">))</span>
-            <span class="n">sent_bytes</span> <span class="o">=</span> <span class="mi">0</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="k">for</span> <span class="n">chunk</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">total_chunks</span><span class="p">):</span>
-                    <span class="n">offset</span> <span class="o">=</span> <span class="n">chunk</span> <span class="o">*</span> <span class="n">multipart_bytes</span>
-                    <span class="nb">bytes</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">multipart_bytes</span><span class="p">,</span> <span class="n">key_size</span> <span class="o">-</span> <span class="n">offset</span><span class="p">)</span>
-                    <span class="k">with</span> <span class="n">FileChunkIO</span><span class="p">(</span>
-                            <span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="n">offset</span><span class="p">,</span> <span class="nb">bytes</span><span class="o">=</span><span class="nb">bytes</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
-                        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending chunk {c} of {tc}...&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                            <span class="n">c</span><span class="o">=</span><span class="n">chunk</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">tc</span><span class="o">=</span><span class="n">total_chunks</span><span class="p">))</span>
-                        <span class="n">mp</span><span class="o">.</span><span class="n">upload_part_from_file</span><span class="p">(</span><span class="n">fp</span><span class="p">,</span> <span class="n">part_num</span><span class="o">=</span><span class="n">chunk</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
-            <span class="k">except</span><span class="p">:</span>
-                <span class="n">mp</span><span class="o">.</span><span class="n">cancel_upload</span><span class="p">()</span>
-                <span class="k">raise</span>
-            <span class="n">mp</span><span class="o">.</span><span class="n">complete_upload</span><span class="p">()</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="c1"># regular upload</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">key_obj</span><span class="p">:</span>
-                <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">new_key</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-            <span class="n">key_size</span> <span class="o">=</span> <span class="n">key_obj</span><span class="o">.</span><span class="n">set_contents_from_filename</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span>
-                                                      <span class="n">replace</span><span class="o">=</span><span class="n">replace</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;The key {key} now contains&quot;</span>
-                     <span class="s2">&quot; {key_size} bytes&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
-
-<div class="viewcode-block" id="S3Hook.load_string"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span>
-                    <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                    <span class="n">replace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                    <span class="n">encrypt</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key </span><span class="si">{key}</span><span class="s2"> already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">))</span>
+
+        <span class="n">extra_args</span><span class="o">=</span><span class="p">{}</span>
+        <span class="k">if</span> <span class="n">encrypt</span><span class="p">:</span>
+            <span class="n">extra_args</span><span class="p">[</span><span class="s1">&#39;ServerSideEncryption&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;AES256&quot;</span>
+
+        <span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">client</span><span class="o">.</span><span class="n">upload_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">ExtraArgs</span><span class="o">=</span><span class="n">extra_args</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="S3Hook.load_string"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> 
+                    <span class="n">string_data</span><span class="p">,</span>
+                    <span class="n">key</span><span class="p">,</span> 
+                    <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                    <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                    <span class="n">encrypt</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                    <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Loads a local file to S3</span>
+<span class="sd">        Loads a string to S3</span>
 
-<span class="sd">        This is provided as a convenience to drop a file in S3. It uses the</span>
-<span class="sd">        boto infrastructure to ship a file to s3. It is currently using only</span>
-<span class="sd">        a single part download, and should not be used to move large files.</span>
+<span class="sd">        This is provided as a convenience to drop a string in S3. It uses the</span>
+<span class="sd">        boto infrastructure to ship a file to s3. </span>
 
 <span class="sd">        :param string_data: string to set as content for the key.</span>
 <span class="sd">        :type string_data: str</span>
@@ -527,24 +405,30 @@
 <span class="sd">        :param replace: A flag to decide whether or not to overwrite the key</span>
 <span class="sd">            if it already exists</span>
 <span class="sd">        :type replace: bool</span>
+<span class="sd">        :param encrypt: If True, the file will be encrypted on the server-side</span>
+<span class="sd">            by S3 and will be stored in an encrypted form while at rest in S3.</span>
+<span class="sd">        :type encrypt: bool</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
             <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
-        <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="n">key_obj</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key {key} already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                <span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">key_obj</span><span class="p">:</span>
-            <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">new_key</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-        <span class="n">key_size</span> <span class="o">=</span> <span class="n">key_obj</span><span class="o">.</span><span class="n">set_contents_from_string</span><span class="p">(</span><span class="n">string_data</span><span class="p">,</span>
-                                                    <span class="n">replace</span><span class="o">=</span><span class="n">replace</span><span class="p">,</span>
-                                                    <span class="n">encrypt_key</span><span class="o">=</span><span class="n">encrypt</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;The key {key} now contains&quot;</span>
-                     <span class="s2">&quot; {key_size} bytes&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div></div>
+        
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key </span><span class="si">{key}</span><span class="s2"> already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">))</span>
+        
+        <span class="n">extra_args</span><span class="o">=</span><span class="p">{}</span>
+        <span class="k">if</span> <span class="n">encrypt</span><span class="p">:</span>
+            <span class="n">extra_args</span><span class="p">[</span><span class="s1">&#39;ServerSideEncryption&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;AES256&quot;</span>
+        
+        <span class="n">filelike_buffer</span> <span class="o">=</span> <span class="n">BytesIO</span><span class="p">(</span><span class="n">string_data</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">encoding</span><span class="p">))</span>
+        
+        <span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">client</span><span class="o">.</span><span class="n">upload_fileobj</span><span class="p">(</span><span class="n">filelike_buffer</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">ExtraArgs</span><span class="o">=</span><span class="n">extra_args</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -577,7 +461,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index 311d1a8..f23df55 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -80,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -177,9 +182,12 @@
 <span class="c1"># limitations under the License.</span>
 
 <span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.www.utils</span> <span class="k">import</span> <span class="n">LoginMixin</span>
+
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
 
 <span class="kn">import</span> <span class="nn">mesos.interface</span>
@@ -205,7 +213,7 @@
 
 <span class="c1"># AirflowMesosScheduler, implements Mesos Scheduler interface</span>
 <span class="c1"># To schedule airflow jobs on mesos</span>
-<span class="k">class</span> <span class="nc">AirflowMesosScheduler</span><span class="p">(</span><span class="n">mesos</span><span class="o">.</span><span class="n">interface</span><span class="o">.</span><span class="n">Scheduler</span><span class="p">):</span>
+<span class="k">class</span> <span class="nc">AirflowMesosScheduler</span><span class="p">(</span><span class="n">mesos</span><span class="o">.</span><span class="n">interface</span><span class="o">.</span><span class="n">Scheduler</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Airflow Mesos scheduler implements mesos scheduler interface</span>
 <span class="sd">    to schedule airflow tasks on mesos.</span>
@@ -213,7 +221,6 @@
 <span class="sd">    &#39;airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; --local -p=&lt;pickle&gt;&#39;</span>
 <span class="sd">    to run on a mesos slave.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">task_queue</span><span class="p">,</span>
                  <span class="n">result_queue</span><span class="p">,</span>
@@ -227,7 +234,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span> <span class="o">=</span> <span class="p">{}</span>
 
     <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span  [...]
             <span class="c1"># Import here to work around a circular import error</span>
@@ -248,25 +255,25 @@
             <span class="n">Session</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">reregistered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler re-registered to mesos&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler re-registered to mesos&quot;</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">disconnected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler disconnected from mesos&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler disconnected from mesos&quot;</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">offerRescinded</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offerId</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler offer </span><span class="si">%s</span><span class="s2"> rescinded&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">offerId</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler offer </span><span class="si">%s</span><span class="s2"> rescinded&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">offerId</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">frameworkMessage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler received framework message </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler received framework message </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">executorLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">status</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler executor </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">executorId</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler executor </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">executorId</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">slaveLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler slave </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">slaveId</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler slave </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">slaveId</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
         <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">message</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">resourceOffers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offers</span><span class="p">):</span>
@@ -280,7 +287,7 @@
                 <span class="k">elif</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;mem&quot;</span><span class="p">:</span>
                     <span class="n">offerMem</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
 
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</spa [...]
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><s [...]
 
             <span class="n">remainingCpus</span> <span class="o">=</span> <span class="n">offerCpus</span>
             <span class="n">remainingMem</span> <span class="o">=</span> <span class="n">offerMem</span>
@@ -293,7 +300,7 @@
                 <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">+=</span> <span class="mi">1</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)]</span> <span class="o">=</span> <span class="n">key</span>
 
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Launching task </span><span class="si">%d</span><span class="s2"> using offer </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">tid</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span><s [...]
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Launching task </span><span class="si">%d</span><span class="s2"> using offer </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">tid</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span  [...]
 
                 <span class="n">task</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskInfo</span><span class="p">()</span>
                 <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span>
@@ -323,15 +330,17 @@
             <span class="n">driver</span><span class="o">.</span><span class="n">launchTasks</span><span class="p">(</span><span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="n">tasks</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">statusUpdate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">update</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Task </span><span class="si">%s</span><span class="s2"> is in state </span><span class="si">%s</span><span class="s2">, data </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                     <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskState</span><span class="o">.</span><span class="n">Name</span><span class="p">(</span><span class="n">update</span><span class="o">.</span><span class="n">state</span><span class="p">),</span> <span class="nb">str</span><span class="p [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Task </span><span class="si">%s</span><span class="s2"> is in state </span><span class="si">%s</span><span class="s2">, data </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+            <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskState</span><span class="o">.</span><span class="n">Name</span><span class="p">(</span><span class="n">update</span><span class="o">.</span><span class="n">state</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span [...]
+        <span class="p">)</span>
 
         <span class="k">try</span><span class="p">:</span>
             <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
         <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
             <span class="c1"># The map may not contain an item if the framework re-registered after a failover.</span>
             <span class="c1"># Discard these tasks.</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
             <span class="k">return</span>
 
         <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
@@ -345,7 +354,7 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
 
 
-<div class="viewcode-block" id="MesosExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">[docs]</a><span class="k">class</span> <span class="nc">MesosExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
+<div class="viewcode-block" id="MesosExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">[docs]</a><span class="k">class</span> <span class="nc">MesosExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">,</span> <span class="n">LoginMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    MesosExecutor allows distributing the execution of task</span>
 <span class="sd">    instances to multiple mesos workers.</span>
@@ -356,7 +365,6 @@
 <span class="sd">    elastic distributed systems to easily be built and run effectively.</span>
 <span class="sd">    See http://mesos.apache.org/</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-
     <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
@@ -364,7 +372,7 @@
         <span class="n">framework</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.master not provided for mesos executor&quot;</span><span class="p">)</span>
 
         <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
@@ -400,17 +408,19 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">False</span>
 
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o"> [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o"> [...]
+        <span class="p">)</span>
 
         <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
 
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
 
             <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
diff --git a/_modules/bigquery_hook.html b/_modules/airflow/contrib/hooks/bigquery_hook.html
similarity index 60%
copy from _modules/bigquery_hook.html
copy to _modules/airflow/contrib/hooks/bigquery_hook.html
index 1f8170a..1926c79 100644
--- a/_modules/bigquery_hook.html
+++ b/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -8,11 +8,13 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>bigquery_hook &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.bigquery_hook &mdash; Airflow Documentation</title>
   
 
   
   
+  
+  
 
   
 
@@ -24,22 +26,26 @@
 
   
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
   
 
   
 
   
-    <link rel="top" title="Airflow Documentation" href="../index.html"/>
-        <link rel="up" title="Module code" href="index.html"/> 
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
-  <script src="../_static/js/modernizr.min.js"></script>
+  <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -49,7 +55,7 @@
           
 
           
-            <a href="../index.html" class="icon icon-home"> Airflow
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
           
 
           
@@ -62,7 +68,7 @@
 
           
 <div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
     <input type="text" name="q" placeholder="Search docs" />
     <input type="hidden" name="check_keywords" value="yes" />
     <input type="hidden" name="area" value="default" />
@@ -76,22 +82,27 @@
           
             
             
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
 
             
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,25 +131,42 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>bigquery_hook</li>
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.bigquery_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for bigquery_hook</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.hooks.bigquery_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
 <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
@@ -157,25 +187,24 @@
 <span class="sd">implementation for BigQuery.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">range</span>
-<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
-
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">time</span>
 
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
-<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="kn">import</span> <span class="n">build</span>
-<span class="kn">from</span> <span class="nn">pandas.io.gbq</span> <span class="kn">import</span> <span class="n">GbqConnector</span><span class="p">,</span> \
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span><span class="p">,</span> <span class="n">HttpError</span>
+<span class="kn">from</span> <span class="nn">googleapiclient</span> <span class="k">import</span> <span class="n">errors</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">range</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> <span class="n">GbqConnector</span><span class="p">,</span> \
     <span class="n">_parse_data</span> <span class="k">as</span> <span class="n">gbq_parse_data</span><span class="p">,</span> \
     <span class="n">_check_google_client_version</span> <span class="k">as</span> <span class="n">gbq_check_google_client_version</span><span class="p">,</span> \
     <span class="n">_test_google_api_imports</span> <span class="k">as</span> <span class="n">gbq_test_google_api_imports</span>
-<span class="kn">from</span> <span class="nn">pandas.tools.merge</span> <span class="kn">import</span> <span class="n">concat</span>
+<span class="kn">from</span> <span class="nn">pandas.tools.merge</span> <span class="k">import</span> <span class="n">concat</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
 
-<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;bigquery&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
 
-<div class="viewcode-block" id="BigQueryHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook">[docs]</a><span class="k">class</span> <span class="nc">BigQueryHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">,</span> <span class="n">DbApiHook</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook">[docs]</a><span class="k">class</span> <span class="nc">BigQueryHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">,</span> <span class="n">DbApiHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with BigQuery. This hook uses the Google Cloud Platform</span>
 <span class="sd">    connection.</span>
@@ -184,12 +213,12 @@
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
             <span class="n">conn_id</span><span class="o">=</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
             <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
 
-<div class="viewcode-block" id="BigQueryHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a BigQuery PEP 249 connection object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -197,14 +226,14 @@
         <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">BigQueryConnection</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="BigQueryHook.get_service"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_service">[docs]</a>    <span class="k">def</span> <span class="nf">get_service</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryHook.get_service"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service">[docs]</a>    <span class="k">def</span> <span class="nf">get_service</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a BigQuery service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;bigquery&#39;</span><span class="p">,</span> <span class="s1">&#39;v2&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="BigQueryHook.insert_rows"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="bp">None</s [...]
+<div class="viewcode-block" id="BigQueryHook.insert_rows"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=< [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Insertion is currently unsupported. Theoretically, you could use</span>
 <span class="sd">        BigQuery&#39;s streaming API to insert rows into a table, but this hasn&#39;t</span>
@@ -212,7 +241,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Pandas DataFrame for the results produced by a BigQuery</span>
 <span class="sd">        query. The DbApiHook method must be overridden because Pandas</span>
@@ -223,10 +252,14 @@
 
 <span class="sd">        :param bql: The BigQuery SQL to execute.</span>
 <span class="sd">        :type bql: string</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with (not used, leave to override superclass method)</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        :param dialect: Dialect of BigQuery SQL – legacy SQL or standard SQL</span>
+<span class="sd">        :type dialect: string in {&#39;legacy&#39;, &#39;standard&#39;}, default &#39;legacy&#39;</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
         <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
-        <span class="n">connector</span> <span class="o">=</span> <span class="n">BigQueryPandasConnector</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">service</span><span class="p">)</span>
+        <span class="n">connector</span> <span class="o">=</span> <span class="n">BigQueryPandasConnector</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">)</span>
         <span class="n">schema</span><span class="p">,</span> <span class="n">pages</span> <span class="o">=</span> <span class="n">connector</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
         <span class="n">dataframe_list</span> <span class="o">=</span> <span class="p">[]</span>
 
@@ -235,9 +268,35 @@
             <span class="n">dataframe_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">page</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">concat</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">,</span> <span class="n">ignore_index</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">concat</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">,</span> <span class="n">ignore_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="p">[])</span></div></div>
+            <span class="k">return</span> <span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="p">[])</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.table_exists"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists">[docs]</a>    <span class="k">def</span> <span class="nf">table_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span cla [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks for the existence of a table in Google BigQuery.</span>
+
+<span class="sd">        :param project_id: The Google cloud project in which to look for the table. The connection supplied to the hook</span>
+<span class="sd">        must provide access to the specified project.</span>
+<span class="sd">        :type project_id: string</span>
+<span class="sd">        :param dataset_id: The name of the dataset in which to look for the table.</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type dataset_id: string</span>
+<span class="sd">        :param table_id: The name of the table to check the existence of.</span>
+<span class="sd">        :type table_id: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div></div>
 
 
 <span class="k">class</span> <span class="nc">BigQueryPandasConnector</span><span class="p">(</span><span class="n">GbqConnector</span><span class="p">):</span>
@@ -248,13 +307,14 @@
 <span class="sd">    without forcing a three legged OAuth connection. Instead, we can inject</span>
 <span class="sd">    service account credentials into the binding.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">reauth</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">reauth</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">dialect< [...]
         <span class="n">gbq_check_google_client_version</span><span class="p">()</span>
         <span class="n">gbq_test_google_api_imports</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">reauth</span> <span class="o">=</span> <span class="n">reauth</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span>
 
 
 <span class="k">class</span> <span class="nc">BigQueryConnection</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
@@ -285,22 +345,25 @@
             <span class="s2">&quot;BigQueryConnection does not have transactions&quot;</span><span class="p">)</span>
 
 
-<span class="k">class</span> <span class="nc">BigQueryBaseCursor</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+<span class="k">class</span> <span class="nc">BigQueryBaseCursor</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    The BigQuery base cursor contains helper methods to execute queries against</span>
 <span class="sd">    BigQuery. The methods can be used directly by operators, in cases where a</span>
 <span class="sd">    PEP 249 cursor isn&#39;t needed.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
 
     <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
             <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-            <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">udf_config</span> <span class="o">=</span> <span class="bp">False</span><span class="p">):</span>
+            <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">udf_config</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+            <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery SQL query. Optionally persists results in a BigQuery</span>
 <span class="sd">        table. See here:</span>
@@ -315,29 +378,40 @@
 <span class="sd">            BigQuery table to save the query results.</span>
 <span class="sd">        :param write_disposition: What to do if the table already exists in</span>
 <span class="sd">            BigQuery.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param create_disposition: Specifies whether the job is allowed to create new tables.</span>
+<span class="sd">        :type create_disposition: string</span>
 <span class="sd">        :param allow_large_results: Whether to allow large results.</span>
 <span class="sd">        :type allow_large_results: boolean</span>
 <span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
 <span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
 <span class="sd">        :type udf_config: list</span>
+<span class="sd">        :param use_legacy_sql: Whether to use legacy SQL (true) or standard SQL (false).</span>
+<span class="sd">        :type use_legacy_sql: boolean</span>
+<span class="sd">        :param maximum_billing_tier: Positive integer that serves as a multiplier of the basic price.</span>
+<span class="sd">        :type maximum_billing_tier: integer</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="p">{</span>
                 <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">bql</span><span class="p">,</span>
+                <span class="s1">&#39;useLegacySql&#39;</span><span class="p">:</span> <span class="n">use_legacy_sql</span><span class="p">,</span>
+                <span class="s1">&#39;maximumBillingTier&#39;</span><span class="p">:</span> <span class="n">maximum_billing_tier</span>
             <span class="p">}</span>
         <span class="p">}</span>
 
         <span class="k">if</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
             <span class="k">assert</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">,</span> <span class="p">(</span>
                 <span class="s1">&#39;Expected destination_dataset_table in the format of &#39;</span>
-                <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: {}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">)</span>
-            <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
-                <span class="n">destination_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+                <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">)</span>
+            <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+                <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_dataset_table</span><span class="p">,</span>
+                                 <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
                 <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span> <span class="n">allow_large_results</span><span class="p">,</span>
                 <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
                 <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
-                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
                     <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
                     <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
                 <span class="p">}</span>
@@ -348,12 +422,15 @@
                 <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span> <span class="n">udf_config</span>
             <span class="p">})</span>
 
+        <span class="k">if</span> <span class="n">query_params</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;queryParameters&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_params</span>
+
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">run_extract</span><span class="p">(</span>  <span class="c1"># noqa</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">,</span> <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
             <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span> <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
-            <span class="n">print_header</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+            <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery extract command to copy data from BigQuery to</span>
 <span class="sd">        Google Cloud Storage. See here:</span>
@@ -379,9 +456,12 @@
 <span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
 <span class="sd">        :type print_header: boolean</span>
 <span class="sd">        &quot;&quot;&quot;</span>
+
         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
-            <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
-                <span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">)</span>
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">)</span>
+
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;extract&#39;</span><span class="p">:</span> <span class="p">{</span>
                 <span class="s1">&#39;sourceTable&#39;</span><span class="p">:</span> <span class="p">{</span>
@@ -418,14 +498,14 @@
 <span class="sd">        For more details about these parameters.</span>
 
 <span class="sd">        :param source_project_dataset_tables: One or more dotted</span>
-<span class="sd">            (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            (project:|project.)&lt;dataset&gt;.&lt;table&gt;</span>
 <span class="sd">            BigQuery tables to use as the source data. Use a list if there are</span>
 <span class="sd">            multiple source tables.</span>
 <span class="sd">            If &lt;project&gt; is not included, project will be the project defined</span>
 <span class="sd">            in the connection json.</span>
 <span class="sd">        :type source_project_dataset_tables: list|string</span>
 <span class="sd">        :param destination_project_dataset_table: The destination BigQuery</span>
-<span class="sd">            table. Format is: &lt;project&gt;.&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            table. Format is: (project:|project.)&lt;dataset&gt;.&lt;table&gt;</span>
 <span class="sd">        :type destination_project_dataset_table: string</span>
 <span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
 <span class="sd">        :type write_disposition: string</span>
@@ -440,21 +520,18 @@
         <span class="n">source_project_dataset_tables_fixup</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">source_project_dataset_table</span> <span class="ow">in</span> <span class="n">source_project_dataset_tables</span><span class="p">:</span>
             <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
-                <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
-                    <span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">)</span>
+                <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+                                 <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                 <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">)</span>
             <span class="n">source_project_dataset_tables_fixup</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
                 <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
                 <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
                 <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span>
             <span class="p">})</span>
 
-        <span class="k">assert</span> <span class="mi">3</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">destination_project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)),</span> <span class="p">(</span>
-            <span class="s1">&#39;Expected destination_project_dataset_table in the format of &#39;</span>
-            <span class="s1">&#39;&lt;project&gt;.&lt;dataset&gt;.&lt;table&gt;. &#39;</span>
-            <span class="s1">&#39;Got: {}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_project_dataset_table</span><span class="p">)</span>
-
         <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
-            <span class="n">destination_project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;copy&#39;</span><span class="p">:</span> <span class="p">{</span>
                 <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
@@ -477,7 +554,13 @@
                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                  <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-                 <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">):</span>
+                 <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+                 <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                 <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
+                 <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{}):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery load command to load data from Google Cloud Storage</span>
 <span class="sd">        to BigQuery. See here:</span>
@@ -487,9 +570,9 @@
 <span class="sd">        For more details about these parameters.</span>
 
 <span class="sd">        :param destination_project_dataset_table:</span>
-<span class="sd">            The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt; BigQuery table to load data into.</span>
-<span class="sd">            If &lt;project&gt; is not included, project will be the project defined in</span>
-<span class="sd">            the connection json.</span>
+<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; BigQuery table to load</span>
+<span class="sd">            data into. If &lt;project&gt; is not included, project will be the project defined</span>
+<span class="sd">            in the connection json.</span>
 <span class="sd">        :type destination_project_dataset_table: string</span>
 <span class="sd">        :param schema_fields: The schema field list as defined here:</span>
 <span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</span>
@@ -508,10 +591,56 @@
 <span class="sd">        :type write_disposition: string</span>
 <span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
 <span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
+<span class="sd">            ignore when running the job.</span>
+<span class="sd">        :type max_bad_records: int</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV file.</span>
+<span class="sd">        :type quote_character: string</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not (false).</span>
+<span class="sd">        :type allow_quoted_newlines: boolean</span>
+<span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing trailing columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an invalid error is</span>
+<span class="sd">            returned in the job result. Only applicable when soure_format is CSV.</span>
+<span class="sd">        :type allow_jagged_rows: bool</span>
+<span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
+<span class="sd">            table to be updated as a side effect of the load job.</span>
+<span class="sd">        :type schema_update_options: list</span>
+<span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
+<span class="sd">        :type src_fmt_configs: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># bigquery only allows certain source formats</span>
+        <span class="c1"># we check to make sure the passed source format is valid</span>
+        <span class="c1"># if it&#39;s not, we raise a ValueError</span>
+        <span class="c1"># Refer to this link for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.tableDefinitions.(key).sourceFormat</span>
+        <span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span> <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_formats</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid source format. &quot;</span>
+                    <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                    <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
+
+        <span class="c1"># bigquery also allows you to define how you want a table&#39;s schema to change</span>
+        <span class="c1"># as a side effect of a load</span>
+        <span class="c1"># for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schemaUpdateOptions</span>
+        <span class="n">allowed_schema_update_options</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span><span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> contains invalid schema update options. &quot;</span>
+                <span class="s2">&quot;Please only use one or more of the following options: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="n">allowed_schema_update_options</span><span class="p">)</span>
+            <span class="p">)</span>
+
         <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
-            <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
-                <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">destination_project_dataset_table</span><span class="p">)</span>
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
 
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;load&#39;</span><span class="p">:</span> <span class="p">{</span>
@@ -521,43 +650,62 @@
                     <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
                     <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
                 <span class="p">},</span>
-                <span class="s1">&#39;schema&#39;</span><span class="p">:</span> <span class="p">{</span>
-                    <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
-                <span class="p">},</span>
                 <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
                 <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
                 <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
             <span class="p">}</span>
         <span class="p">}</span>
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
+            <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                    <span class="s2">&quot;schema_update_options is only &quot;</span>
+                    <span class="s2">&quot;allowed if write_disposition is &quot;</span>
+                    <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span>
+                <span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Adding experimental &quot;</span>
+                    <span class="s2">&quot;&#39;schemaUpdateOptions&#39;: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)</span>
+                <span class="p">)</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">schema_update_options</span>
+
+        <span class="k">if</span> <span class="n">max_bad_records</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;maxBadRecords&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_bad_records</span>
+
+        <span class="c1"># if following fields are not specified in src_fmt_configs,</span>
+        <span class="c1"># honor the top-level params for backward-compatibility</span>
+        <span class="k">if</span> <span class="s1">&#39;skipLeadingRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+        <span class="k">if</span> <span class="s1">&#39;fieldDelimiter&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="k">if</span> <span class="n">quote_character</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;quote&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">quote_character</span>
+        <span class="k">if</span> <span class="n">allow_quoted_newlines</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
+
+        <span class="n">src_fmt_to_configs_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span> <span class="s1">&#39;autodetect&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;nullMarker&#39;</span><span class="p">,</span> <span class="s1">&#39;quote&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;DATASTORE_BACKUP&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;projectionFields&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;NEWLINE_DELIMITED_JSON&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;autodetect&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;AVRO&#39;</span><span class="p">:</span> <span class="p">[],</span>
+        <span class="p">}</span>
+        <span class="n">valid_configs</span> <span class="o">=</span> <span class="n">src_fmt_to_configs_mapping</span><span class="p">[</span><span class="n">source_format</span><span class="p">]</span>
+        <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
+                           <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span><span class="p">}</span>
+        <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">src_fmt_configs</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">source_format</span> <span class="o">==</span> <span class="s1">&#39;CSV&#39;</span><span class="p">:</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="k">if</span> <span class="n">allow_jagged_rows</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_jagged_rows</span>
 
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">_split_project_dataset_table_input</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">var_name</span><span class="p">,</span> <span class="n">project_dataset_table</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        :param var_name: the name of the variable input, for logging and erroring purposes.</span>
-<span class="sd">        :type var_name: str</span>
-<span class="sd">        :param project_dataset_table: input string in (&lt;project&gt;.)&lt;dataset&gt;.&lt;project&gt; format.</span>
-<span class="sd">            if project is not included in the string, self.project_id will be returned in the tuple.</span>
-<span class="sd">        :type project_dataset_table: str</span>
-<span class="sd">        :return: (project, dataset, table) tuple</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">table_split</span> <span class="o">=</span> <span class="n">project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
-        <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">,</span> <span class="p">(</span>
-            <span class="s1">&#39;Expected {var} in the format of (&lt;project.)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
-            <span class="s1">&#39;got {input}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">project_dataset_table</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;project not included in {var}: {input}; using project &quot;{project}&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">project_datase [...]
-            <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table_split</span>
-            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">project</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table_split</span>
-            <span class="k">return</span> <span class="n">project</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span>
-
     <span class="k">def</span> <span class="nf">run_with_configuration</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">configuration</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery SQL query. See here:</span>
@@ -581,18 +729,32 @@
             <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">job_data</span><span class="p">)</span> \
             <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="n">job_id</span> <span class="o">=</span> <span class="n">query_reply</span><span class="p">[</span><span class="s1">&#39;jobReference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
-        <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span  [...]
 
         <span class="c1"># Wait for query to finish.</span>
-        <span class="k">while</span> <span class="ow">not</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
-            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
-            <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><s [...]
-
-        <span class="c1"># Check if job had errors.</span>
-        <span class="k">if</span> <span class="s1">&#39;errorResult&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
-            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-                <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">])</span>
+        <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="k">while</span> <span class="p">(</span><span class="n">keep_polling_job</span><span class="p">):</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</spa [...]
+                <span class="k">if</span> <span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">):</span>
+                    <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">False</span>
+                    <span class="c1"># Check if job had errors.</span>
+                    <span class="k">if</span> <span class="s1">&#39;errorResult&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
+                        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                            <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">{}</span><span class="s1">. The job was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                                <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">],</span> <span class="n">job</span>
+                            <span class="p">)</span>
+                        <span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jo [...]
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+
+            <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">503</span><span class="p">]:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error, waiting for job to complete: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class [...]
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                        <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="n">job_id</span>
 
@@ -611,7 +773,7 @@
         <span class="k">return</span> <span class="n">tables_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span>
 
     <span class="k">def</span> <span class="nf">get_tabledata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span>
-                      <span class="n">max_results</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">start_index</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+                      <span class="n">max_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">start_index</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get the data of a given dataset.table.</span>
 <span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list</span>
@@ -639,15 +801,56 @@
             <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">run_table_upsert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_resource</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="n">ignore_if_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete an existing table from the dataset;</span>
+<span class="sd">        If the table does not exist, return an error unless ignore_if_missing</span>
+<span class="sd">        is set to True.</span>
+
+<span class="sd">        :param deletion_dataset_table: A dotted</span>
+<span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; that indicates which table</span>
+<span class="sd">        will be deleted.</span>
+<span class="sd">        :type deletion_dataset_table: str</span>
+<span class="sd">        :param ignore_if_missing: if True, then return success even if the</span>
+<span class="sd">        requested table does not exist.</span>
+<span class="sd">        :type ignore_if_missing: boolean</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">assert</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="p">(</span>
+            <span class="s1">&#39;Expected deletion_dataset_table in the format of &#39;</span>
+            <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">deletion_dataset_table</span><span class="p">)</span>
+        <span class="n">deletion_project</span><span class="p">,</span> <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">deletion_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">tables_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">deletion_project</span><span class="p">,</span>
+                        <span class="n">datasetId</span><span class="o">=</span><span class="n">deletion_dataset</span><span class="p">,</span>
+                        <span class="n">tableId</span><span class="o">=</span><span class="n">deletion_table</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleted table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">.&#39;</span><span class="p">,</span>
+                          <span class="n">deletion_project</span><span class="p">,</span> <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">ignore_if_missing</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                    <span class="s1">&#39;Table deletion failed. Table does not exist.&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table does not exist. Skipping.&#39;</span><span class="p">)</span>
+
+
+    <span class="k">def</span> <span class="nf">run_table_upsert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_resource</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        creates a new, empty table in the dataset;</span>
 <span class="sd">        If the table already exists, update the existing table.</span>
 <span class="sd">        Since BigQuery does not natively allow table upserts, this is not an</span>
 <span class="sd">        atomic operation.</span>
+
 <span class="sd">        :param dataset_id: the dataset to upsert the table into.</span>
 <span class="sd">        :type dataset_id: str</span>
-<span class="sd">        :param table_resource: a table resource. see https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
+<span class="sd">        :param table_resource: a table resource. see</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
 <span class="sd">        :type table_resource: dict</span>
 <span class="sd">        :param project_id: the project to upsert the table into.  If None,</span>
 <span class="sd">        project will be self.project_id.</span>
@@ -655,15 +858,17 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="c1"># check to see if the table exists</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span>
-        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
         <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
                                                       <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tables&#39;</span><span class="p">,</span> <span class="p">[]):</span>
                 <span class="k">if</span> <span class="n">table</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">table_id</span><span class="p">:</span>
                     <span class="c1"># found the table, do update</span>
-                    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
-                                 <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                        <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
+                        <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
+                    <span class="p">)</span>
                     <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
                                                         <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
                                                         <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
@@ -678,8 +883,10 @@
             <span class="c1"># If there is no next page, then the table doesn&#39;t exist.</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="c1"># do insert</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
-                             <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
+                    <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
+                <span class="p">)</span>
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
                                                     <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
                                                     <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
@@ -688,12 +895,13 @@
                                       <span class="n">source_dataset</span><span class="p">,</span>
                                       <span class="n">view_dataset</span><span class="p">,</span>
                                       <span class="n">view_table</span><span class="p">,</span>
-                                      <span class="n">source_project</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
-                                      <span class="n">view_project</span> <span class="o">=</span> <span class="bp">None</span><span class="p">):</span>
+                                      <span class="n">source_project</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+                                      <span class="n">view_project</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Grant authorized view access of a dataset to a view table.</span>
 <span class="sd">        If this view has already been granted access to the dataset, do nothing.</span>
 <span class="sd">        This method is not atomic.  Running it may clobber a simultaneous update.</span>
+
 <span class="sd">        :param source_dataset: the source dataset</span>
 <span class="sd">        :type source_dataset: str</span>
 <span class="sd">        :param view_dataset: the dataset that the view is in</span>
@@ -723,18 +931,20 @@
                                 <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">view_table</span><span class="p">}}</span>
         <span class="c1"># check to see if the view we want to add already exists.</span>
         <span class="k">if</span> <span class="n">view_access</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">access</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;granting table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
-                         <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span>
-                         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Granting table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span>
+            <span class="p">)</span>
             <span class="n">access</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">view_access</span><span class="p">)</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
                                                  <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">,</span>
                                                  <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;access&#39;</span><span class="p">:</span> <span class="n">access</span><span class="p">})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="c1"># if view is already in access, do nothing.</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
-                         <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span>
-                         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span>
+            <span class="p">)</span>
             <span class="k">return</span> <span class="n">source_dataset_resource</span>
 
 
@@ -748,12 +958,12 @@
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="bp">False</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="kc">False</span>
 
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">description</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -769,7 +979,7 @@
         <span class="sd">&quot;&quot;&quot; By default, return -1 to indicate that this is not supported. &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="o">-</span><span class="mi">1</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery query, and returns the job ID.</span>
 
@@ -805,11 +1015,11 @@
 <span class="sd">        the next page, and load it into the buffer.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">None</span>
+            <span class="k">return</span> <span class="kc">None</span>
 
         <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">None</span>
+                <span class="k">return</span> <span class="kc">None</span>
 
             <span class="n">query_results</span> <span class="o">=</span> <span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
@@ -834,18 +1044,18 @@
                     <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">typed_row</span><span class="p">)</span>
 
                 <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="bp">True</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="kc">True</span>
 
             <span class="k">else</span><span class="p">:</span>
                 <span class="c1"># Reset all state since we&#39;ve exhausted the results.</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">None</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
-                <span class="k">return</span> <span class="bp">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="k">return</span> <span class="kc">None</span>
 
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">fetchmany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">fetchmany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Fetch the next set of rows of a query result, returning a sequence of sequences (e.g. a</span>
 <span class="sd">        list of tuples). An empty sequence is returned when no more rows are available.</span>
@@ -856,12 +1066,12 @@
 <span class="sd">        An :py:class:`~pyhive.exc.Error` (or subclass) exception is raised if the previous call to</span>
 <span class="sd">        :py:meth:`execute` did not produce any result set or no call was issued yet.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arraysize</span>
         <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">size</span><span class="p">):</span>
             <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="k">break</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
@@ -873,9 +1083,9 @@
 <span class="sd">        (e.g. a list of tuples).</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="k">break</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
@@ -895,7 +1105,7 @@
         <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
         <span class="k">pass</span>
 
-    <span class="k">def</span> <span class="nf">setoutputsize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">column</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">setoutputsize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">column</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
         <span class="k">pass</span>
 
@@ -905,9 +1115,9 @@
     <span class="c1"># inspired by MySQL Python Connector (conversion.py)</span>
     <span class="n">string_parameters</span> <span class="o">=</span> <span class="p">{}</span>
     <span class="k">for</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> <span class="ow">in</span> <span class="n">parameters</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
-        <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;NULL&#39;</span>
-        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
             <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">_escape</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
@@ -930,8 +1140,8 @@
 <span class="sd">    Helper method that casts a BigQuery row to the appropriate data types.</span>
 <span class="sd">    This is useful because BigQuery returns all fields as strings.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">string_field</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="k">return</span> <span class="bp">None</span>
+    <span class="k">if</span> <span class="n">string_field</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">return</span> <span class="kc">None</span>
     <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;INTEGER&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
     <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span><span class="p">:</span>
@@ -941,9 +1151,74 @@
         <span class="k">return</span> <span class="n">string_field</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
     <span class="k">else</span><span class="p">:</span>
         <span class="k">return</span> <span class="n">string_field</span>
+
+
+<span class="k">def</span> <span class="nf">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="p">,</span> <span class="n">default_project_id</span><span class="p">,</span> <span class="n">var_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="k">assert</span> <span class="n">default_project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s2">&quot;INTERNAL: No default project is specified&quot;</span>
+
+    <span class="k">def</span> <span class="nf">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s2">&quot;Format exception for </span><span class="si">{var}</span><span class="s2">: &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">)</span>
+
+    <span class="k">if</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
+            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Use either : or . to specify project &#39;</span>
+            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="n">cmpt</span> <span class="o">=</span> <span class="n">table_input</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+    <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="n">rest</span> <span class="o">=</span> <span class="n">table_input</span>
+    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">rest</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+    <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">)</span> <span class="o">&lt;=</span> <span class= [...]
+        <span class="k">if</span> <span class="n">cmpt</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+            <span class="n">rest</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
+            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="n">cmpt</span> <span class="o">=</span> <span class="n">rest</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
+        <span class="k">assert</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">,</span> <span class="p">(</span>
+            <span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">))</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
+
+    <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+        <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
+            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project.|&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+            <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Project not included in </span><span class="si">{var}</span><span class="s1">: </span><span class="si">{input}</span><span class="s1">; using project &quot;</span><span class="si">{project}</span><span class="s1">&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">,</span> <span class="n">project</span><span class="o">=</span><span class="n">default_project_id</span>
+                <span class="p">)</span>
+            <span class="p">)</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">default_project_id</span>
+
+    <span class="k">return</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -972,22 +1247,23 @@
 
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
+            URL_ROOT:'../../../../',
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
 
   
 
   
   
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
   
 
   
diff --git a/_modules/airflow/contrib/hooks/datastore_hook.html b/_modules/airflow/contrib/hooks/datastore_hook.html
new file mode 100644
index 0000000..21363c3
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.datastore_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.datastore_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.datastore_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+
+
+<div class="viewcode-block" id="DatastoreHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook">[docs]</a><span class="k">class</span> <span class="nc">DatastoreHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Google Cloud Datastore. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
+
+<span class="sd">    This object is not threads safe. If you want to make multiple requests</span>
+<span class="sd">    simultaniously, you will need to create a hook per thread.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">datastore_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_datastore_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DatastoreHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">datastore_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(</span><span class="s1">&#39;v1beta1&#39;</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DatastoreHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Google Cloud Storage service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;datastore&#39;</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.allocate_ids"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.allocate_ids">[docs]</a>    <span class="k">def</span> <span class="nf">allocate_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partialKeys</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Allocate IDs for incomplete keys.</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/allocateIds</span>
+
+<span class="sd">        :param partialKeys: a list of partial keys</span>
+<span class="sd">        :return: a list of full keys.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">allocateIds</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">bo [...]
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;keys&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.begin_transaction"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.begin_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">begin_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a new transaction handle</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/beginTransaction</span>
+
+<span class="sd">        :return: a transaction handle</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">beginTransaction</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class=" [...]
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.commit"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.commit">[docs]</a>    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Commit a transaction, optionally creating, deleting or modifying some entities.</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/commit</span>
+
+<span class="sd">        :param body: the body of the commit request</span>
+<span class="sd">        :return: the response body of the commit request</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">commit</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</s [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.lookup"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.lookup">[docs]</a>    <span class="k">def</span> <span class="nf">lookup</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">keys</span><span class="p">,</span> <span class="n">read_consistency</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lookup some entities by key</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/lookup</span>
+<span class="sd">        :param keys: the keys to lookup</span>
+<span class="sd">        :param read_consistency: the read consistency to use. default, strong or eventual.</span>
+<span class="sd">                Cannot be used with a transaction.</span>
+<span class="sd">        :param transaction: the transaction to use, if any.</span>
+<span class="sd">        :return: the response body of the lookup request.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="n">keys</span><span class="p">}</span>
+        <span class="k">if</span> <span class="n">read_consistency</span><span class="p">:</span>
+            <span class="n">body</span><span class="p">[</span><span class="s1">&#39;readConsistency&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">read_consistency</span>
+        <span class="k">if</span> <span class="n">transaction</span><span class="p">:</span>
+            <span class="n">body</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">transaction</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</ [...]
+
+<div class="viewcode-block" id="DatastoreHook.rollback"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.rollback">[docs]</a>    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Roll back a transaction</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/rollback</span>
+<span class="sd">        :param transaction: the transaction to roll back</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span [...]
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.run_query"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.run_query">[docs]</a>    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Run a query for entities.</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery</span>
+<span class="sd">        :param body: the body of the query request</span>
+<span class="sd">        :return: the batch of query results.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">runQuery</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body< [...]
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;batch&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.get_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.get_operation">[docs]</a>    <span class="k">def</span> <span class="nf">get_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the latest state of a long-running operation</span>
+
+<span class="sd">        :param name: the name of the operation resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span cl [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.delete_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.delete_operation">[docs]</a>    <span class="k">def</span> <span class="nf">delete_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes the long-running operation</span>
+
+<span class="sd">        :param name: the name of the operation resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.poll_operation_until_done"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.poll_operation_until_done">[docs]</a>    <span class="k">def</span> <span class="nf">poll_operation_until_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">polling_interval_in_seconds</span><span class= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Poll backup operation state until it&#39;s completed</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_operation</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">result</span><span class="p">[</span><span class="s1">&#39;metadata&#39;</span><span class="p">][</span><span class="s1">&#39;common&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="s1">&#39;PROCESSING&#39;</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Operation is processing. Re-polling state in </span><span class="si">{}</span><span class="s1"> seconds&#39;</span>
+                              <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">polling_interval_in_seconds</span><span class="p">))</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">polling_interval_in_seconds</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">result</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.export_to_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.export_to_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">export_to_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="o">=</span><span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Export entities from Cloud Datastore to Cloud Storage for backup</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">output_uri_prefix</span> <span class="o">=</span> <span class="s1">&#39;gs://&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="p">[</span><span class="n">bucket</span><span class="p">,</span> <span clas [...]
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">entity_filter</span><span class="p">:</span>
+            <span class="n">entity_filter</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">labels</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;outputUrlPrefix&#39;</span><span class="p">:</span> <span class="n">output_uri_prefix</span><span class="p">,</span>
+            <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
+            <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
+        <span class="p">}</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">export</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">b [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.import_from_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.import_from_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">import_from_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">file</span><span class="p">,</span> <span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Import a backup from Cloud Storage to Cloud Datastore</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">input_url</span> <span class="o">=</span> <span class="s1">&#39;gs://&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="p">[</span><span class="n">bucket</span><span class="p">,</span> <span class="n">na [...]
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">entity_filter</span><span class="p">:</span>
+            <span class="n">entity_filter</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">labels</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;inputUrl&#39;</span><span class="p">:</span> <span class="n">input_url</span><span class="p">,</span>
+            <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
+            <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
+        <span class="p">}</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">import_</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n"> [...]
+        <span class="k">return</span> <span class="n">resp</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/emr_hook.html b/_modules/airflow/contrib/hooks/emr_hook.html
new file mode 100644
index 0000000..cc158a2
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/emr_hook.html
@@ -0,0 +1,295 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.emr_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.emr_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.emr_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="EmrHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.emr_hook.EmrHook">[docs]</a><span class="k">class</span> <span class="nc">EmrHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS EMR. emr_conn_id is only neccessary for using the create_job_flow method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">emr_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span> <span class="o">=</span> <span class="n">emr_conn_id</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">EmrHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;emr&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+
+    <span class="k">def</span> <span class="nf">create_job_flow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_flow_overrides</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a job flow using the config from the EMR connection.</span>
+<span class="sd">        Keys of the json extra hash may have the arguments of the boto3 run_job_flow method.</span>
+<span class="sd">        Overrides for this config may be passed as the job_flow_overrides.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;emr_conn_id must be present to use create_job_flow&#39;</span><span class="p">)</span>
+
+        <span class="n">emr_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span><span class="p">)</span>
+
+        <span class="n">config</span> <span class="o">=</span> <span class="n">emr_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+        <span class="n">config</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">job_flow_overrides</span><span class="p">)</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">run_job_flow</span><span class="p">(</span>
+            <span class="n">Name</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Name&#39;</span><span class="p">),</span>
+            <span class="n">LogUri</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;LogUri&#39;</span><span class="p">),</span>
+            <span class="n">ReleaseLabel</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ReleaseLabel&#39;</span><span class="p">),</span>
+            <span class="n">Instances</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Instances&#39;</span><span class="p">),</span>
+            <span class="n">Steps</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Steps&#39;</span><span class="p">,</span> <span class="p">[]),</span>
+            <span class="n">BootstrapActions</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;BootstrapActions&#39;</span><span class="p">,</span> <span class="p">[]),</span>
+            <span class="n">Applications</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Applications&#39;</span><span class="p">),</span>
+            <span class="n">Configurations</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Configurations&#39;</span><span class="p">,</span> <span class="p">[]),</span>
+            <span class="n">VisibleToAllUsers</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;VisibleToAllUsers&#39;</span><span class="p">),</span>
+            <span class="n">JobFlowRole</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;JobFlowRole&#39;</span><span class="p">),</span>
+            <span class="n">ServiceRole</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ServiceRole&#39;</span><span class="p">),</span>
+            <span class="n">Tags</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Tags&#39;</span><span class="p">)</span>
+        <span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">response</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
new file mode 100644
index 0000000..82e3ccd
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
@@ -0,0 +1,395 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_dataflow_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_dataflow_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_dataflow_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">import</span> <span class="nn">select</span>
+<span class="kn">import</span> <span class="nn">subprocess</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">uuid</span>
+
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<span class="k">class</span> <span class="nc">_DataflowJob</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">project_number</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span> <span class="o">=</span> <span class="n">dataflow</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span> <span class="o">=</span> <span class="n">project_number</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span> <span class="o">=</span> <span class="n">name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">_get_job_id_from_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">job</span> <span class="ow">in</span> <span class="n">jobs</span><span class="p">[</span><span class="s1">&#39;jobs&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span>
+                <span class="k">return</span> <span class="n">job</span>
+        <span class="k">return</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">_get_job</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job_id_from_name</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span  [...]
+                                                       <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Google Cloud DataFlow job </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]</span>
+            <span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Google Cloud DataFlow with job_id </span><span class="si">%s</span><span class="s1"> has name </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">,</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
+            <span class="p">)</span>
+        <span class="k">return</span> <span class="n">job</span>
+
+    <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="k">if</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">:</span>
+                <span class="k">if</span> <span class="s1">&#39;JOB_STATE_DONE&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
+                    <span class="k">return</span> <span class="kc">True</span>
+                <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_FAILED&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Google Cloud Dataflow job </span><span class="si">{}</span><span class="s2"> has failed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]))</span>
+                <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_CANCELLED&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Google Cloud Dataflow job </span><span class="si">{}</span><span class="s2"> was cancelled.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]))</span>
+                <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_RUNNING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
+                <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_PENDING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">))</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                        <span class="s2">&quot;Google Cloud Dataflow job </span><span class="si">{}</span><span class="s2"> was unknown state: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]))</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">_job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span>
+
+
+<span class="k">class</span> <span class="nc">_Dataflow</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmd</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><s [...]
+                                      <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fd</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
+            <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
+            <span class="k">return</span> <span class="n">line</span>
+        <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
+            <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
+            <span class="k">return</span> <span class="n">line</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_extract_job</span><span class="p">(</span><span class="n">line</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">line</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;Submitted job: &quot;</span><span class="p">):</span>
+                <span class="k">return</span> <span class="n">line</span><span class="p">[</span><span class="mi">15</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">reads</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span c [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Start waiting for DataFlow process to complete.&quot;</span><span class="p">)</span>
+        <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">poll</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">ret</span> <span class="o">=</span> <span class="n">select</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">reads</span><span class="p">,</span> <span class="p">[],</span> <span class="p">[],</span> <span class="mi">5</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">ret</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">fd</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
+                    <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">(</span><span class="n">fd</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Waiting for DataFlow process to complete.&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">returncode</span> <span class="ow">is</span> <span class="ow">not</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;DataFlow failed with return code </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+
+
+<div class="viewcode-block" id="DataFlowHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook">[docs]</a><span class="k">class</span> <span class="nc">DataFlowHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataFlowHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DataFlowHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Google Cloud Storage service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;dataflow&#39;</span><span class="p">,</span> <span class="s1">&#39;v1b3&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_start_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">command_prefix</span><span class="p">):</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="n">command_prefix</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_cmd</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">)</span>
+        <span class="n">_Dataflow</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+        <span class="n">_DataflowJob</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">):</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;jobName&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span>
+            <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;java&quot;</span><span class="p">,</span> <span class="s2">&quot;-jar&quot;</span><span class="p">])</span>
+
+    <span class="k">def</span> <span class="nf">start_python_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">py_options</span><span class="p">):</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="n">variables</span><span class="p">[</span><span class="s2">&quot;job_name&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span>
+            <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;python&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">py_options</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_build_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">):</span>
+        <span class="n">command</span> <span class="o">=</span> <span class="p">[</span><span class="n">dataflow</span><span class="p">,</span> <span class="s2">&quot;--runner=DataflowRunner&quot;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">variables</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">attr</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">variables</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--&quot;</span> <span class="o">+</span> <span class="n">attr</span> <span class="o">+</span> <span class="s2">&quot;=&quot;</span> <span class="o">+</span> <span class="n">value</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">command</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
new file mode 100644
index 0000000..82450ae
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
@@ -0,0 +1,500 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_mlengine_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_mlengine_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_mlengine_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
+<span class="c1"># contributor license agreements.  See the NOTICE file distributed with</span>
+<span class="c1"># this work for additional information regarding copyright ownership.</span>
+<span class="c1"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
+<span class="c1"># (the &quot;License&quot;); you may not use this file except in compliance with</span>
+<span class="c1"># the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#    http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">import</span> <span class="nn">random</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">apiclient</span> <span class="k">import</span> <span class="n">errors</span>
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">oauth2client.client</span> <span class="k">import</span> <span class="n">GoogleCredentials</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<span class="k">def</span> <span class="nf">_poll_with_exponential_delay</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">max_n</span><span class="p">,</span> <span class="n">is_done_func</span><span class="p">,</span> <span class="n">is_error_func</span><span class="p">):</span>
+    <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+
+    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_n</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">is_error_func</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                    <span class="s1">&#39;The response contained an error: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+                <span class="p">)</span>
+            <span class="k">elif</span> <span class="n">is_done_func</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
+                <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Operation is done: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">response</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">((</span><span class="mi">2</span><span class="o">**</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span> <span class="o [...]
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="mi">429</span><span class="p">:</span>
+                <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Something went wrong. Not retrying: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">format</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+                <span class="k">raise</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">((</span><span class="mi">2</span><span class="o">**</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span> <span class="o [...]
+
+
+<div class="viewcode-block" id="MLEngineHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook">[docs]</a><span class="k">class</span> <span class="nc">MLEngineHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">MLEngineHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+<div class="viewcode-block" id="MLEngineHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Google MLEngine service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">credentials</span> <span class="o">=</span> <span class="n">GoogleCredentials</span><span class="o">.</span><span class="n">get_application_default</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;ml&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">credentials</span><span class="o">=</span><span class="n">credentials</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.create_job"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.create_job">[docs]</a>    <span class="k">def</span> <span class="nf">create_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">use_existing_job_fn</span><span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Launches a MLEngine job and wait for it to reach a terminal state.</span>
+
+<span class="sd">        :param project_id: The Google Cloud project id within which MLEngine</span>
+<span class="sd">            job will be launched.</span>
+<span class="sd">        :type project_id: string</span>
+
+<span class="sd">        :param job: MLEngine Job object that should be provided to the MLEngine</span>
+<span class="sd">            API, such as:</span>
+<span class="sd">            {</span>
+<span class="sd">              &#39;jobId&#39;: &#39;my_job_id&#39;,</span>
+<span class="sd">              &#39;trainingInput&#39;: {</span>
+<span class="sd">                &#39;scaleTier&#39;: &#39;STANDARD_1&#39;,</span>
+<span class="sd">                ...</span>
+<span class="sd">              }</span>
+<span class="sd">            }</span>
+<span class="sd">        :type job: dict</span>
+
+<span class="sd">        :param use_existing_job_fn: In case that a MLEngine job with the same</span>
+<span class="sd">            job_id already exist, this method (if provided) will decide whether</span>
+<span class="sd">            we should use this existing job, continue waiting for it to finish</span>
+<span class="sd">            and returning the job object. It should accepts a MLEngine job</span>
+<span class="sd">            object, and returns a boolean value indicating whether it is OK to</span>
+<span class="sd">            reuse the existing job. If &#39;use_existing_job_fn&#39; is not provided,</span>
+<span class="sd">            we by default reuse the existing MLEngine job.</span>
+<span class="sd">        :type use_existing_job_fn: function</span>
+
+<span class="sd">        :return: The MLEngine job object if the job successfully reach a</span>
+<span class="sd">            terminal state (which might be FAILED or CANCELLED state).</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">parent</span><span class="o">=</span><span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project_id</span><span class="p">),</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">job</span><span class="p">)</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># 409 means there is an existing job with the same job ID.</span>
+            <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">409</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">use_existing_job_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">existing_job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="n">use_existing_job_fn</span><span class="p">(</span><span class="n">existing_job</span><span class="p">):</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                            <span class="s1">&#39;Job with job_id </span><span class="si">%s</span><span class="s1"> already exist, but it does &#39;</span>
+                            <span class="s1">&#39;not match our expectation: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                            <span class="n">job_id</span><span class="p">,</span> <span class="n">existing_job</span>
+                        <span class="p">)</span>
+                        <span class="k">raise</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;Job with job_id </span><span class="si">%s</span><span class="s1"> already exist. Will waiting for it to finish&#39;</span><span class="p">,</span>
+                    <span class="n">job_id</span>
+                <span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Failed to create MLEngine job: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+                <span class="k">raise</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_job_done</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_get_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets a MLEngine job based on the job name.</span>
+
+<span class="sd">        :return: MLEngine job object if succeed.</span>
+<span class="sd">        :rtype: dict</span>
+
+<span class="sd">        Raises:</span>
+<span class="sd">            apiclient.errors.HttpError: if HTTP error is returned from server</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">job_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/jobs/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">job_name</span><span class="p">)</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">429</span><span class="p">:</span>
+                    <span class="c1"># polling after 30 seconds when quota failure occurs</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Failed to get MLEngine job: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+                    <span class="k">raise</span>
+
+    <span class="k">def</span> <span class="nf">_wait_for_job_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">,</span> <span class="n">interval</span><span class="o">=</span><span class="mi">30</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Waits for the Job to reach a terminal state.</span>
+
+<span class="sd">        This method will periodically check the job state until the job reach</span>
+<span class="sd">        a terminal state.</span>
+
+<span class="sd">        Raises:</span>
+<span class="sd">            apiclient.errors.HttpError: if HTTP error is returned when getting</span>
+<span class="sd">            the job</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">assert</span> <span class="n">interval</span> <span class="o">&gt;</span> <span class="mi">0</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILED&#39;</span><span class="p">,</span> <span class="s1">&#39;CANCELLED&#39;</span><span class="p">]:</span>
+                <span class="k">return</span> <span class="n">job</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">interval</span><span class="p">)</span>
+
+<div class="viewcode-block" id="MLEngineHook.create_version"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.create_version">[docs]</a>    <span class="k">def</span> <span class="nf">create_version</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">,</span> <span class="n">version_spec</ [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates the Version on Google Cloud ML Engine.</span>
+
+<span class="sd">        Returns the operation if the version was created successfully and</span>
+<span class="sd">        raises an error otherwise.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">parent_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">)</span>
+        <span class="n">create_request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">versions</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">parent</span><span class="o">=</span><span class="n">parent_name</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">version_spec</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">create_request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">get_request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+
+        <span class="k">return</span> <span class="n">_poll_with_exponential_delay</span><span class="p">(</span>
+            <span class="n">request</span><span class="o">=</span><span class="n">get_request</span><span class="p">,</span>
+            <span class="n">max_n</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span>
+            <span class="n">is_done_func</span><span class="o">=</span><span class="k">lambda</span> <span class="n">resp</span><span class="p">:</span> <span class="n">resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
+            <span class="n">is_error_func</span><span class="o">=</span><span class="k">lambda</span> <span class="n">resp</span><span class="p">:</span> <span class="n">resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;error&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.set_default_version"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.set_default_version">[docs]</a>    <span class="k">def</span> <span class="nf">set_default_version</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">,</span> <span class="n" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Sets a version to be the default. Blocks until finished.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">full_version_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">/versions/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">,</span> <span class="n">version_name</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">versions</span><span class="p">()</span><span class="o">.</span><span class="n">setDefault</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">full_version_name</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{})</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Successfully set version: </span><span class="si">%s</span><span class="s1"> to default&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">response</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Something went wrong: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
+            <span class="k">raise</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.list_versions"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.list_versions">[docs]</a>    <span class="k">def</span> <span class="nf">list_versions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lists all available versions of a model. Blocks until finished.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="n">full_parent_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">versions</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">parent</span><span class="o">=</span><span class="n">full_parent_name</span><span class="p">,</span> <span class="n">pageSize</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">next_page_token</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;nextPageToken&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">result</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;versions&#39;</span><span class="p">,</span> <span class="p">[]))</span>
+        <span class="k">while</span> <span class="n">next_page_token</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">next_request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">versions</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+                <span class="n">parent</span><span class="o">=</span><span class="n">full_parent_name</span><span class="p">,</span>
+                <span class="n">pageToken</span><span class="o">=</span><span class="n">next_page_token</span><span class="p">,</span>
+                <span class="n">pageSize</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">next_request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="n">next_page_token</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;nextPageToken&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+            <span class="n">result</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;versions&#39;</span><span class="p">,</span> <span class="p">[]))</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.delete_version"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.delete_version">[docs]</a>    <span class="k">def</span> <span class="nf">delete_version</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">,</span> <span class="n">version_name</ [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes the given version of a model. Blocks until finished.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">full_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">/versions/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">,</span> <span class="n">version_name</span><span class="p">)</span>
+        <span class="n">delete_request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">versions</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">full_name</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">delete_request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">get_request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+
+        <span class="k">return</span> <span class="n">_poll_with_exponential_delay</span><span class="p">(</span>
+            <span class="n">request</span><span class="o">=</span><span class="n">get_request</span><span class="p">,</span>
+            <span class="n">max_n</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span>
+            <span class="n">is_done_func</span><span class="o">=</span><span class="k">lambda</span> <span class="n">resp</span><span class="p">:</span> <span class="n">resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;done&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
+            <span class="n">is_error_func</span><span class="o">=</span><span class="k">lambda</span> <span class="n">resp</span><span class="p">:</span> <span class="n">resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;error&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.create_model"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.create_model">[docs]</a>    <span class="k">def</span> <span class="nf">create_model</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a Model. Blocks until finished.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">assert</span> <span class="n">model</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">model</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="s1">&#39;&#39;</span>
+        <span class="n">project</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project_id</span><span class="p">)</span>
+
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">parent</span><span class="o">=</span><span class="n">project</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">model</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="MLEngineHook.get_model"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.get_model">[docs]</a>    <span class="k">def</span> <span class="nf">get_model</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets a Model. Blocks until finished.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">assert</span> <span class="n">model_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">model_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="s1">&#39;&#39;</span>
+        <span class="n">full_model_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">full_model_name</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">404</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Model was not found: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
+                <span class="k">return</span> <span class="kc">None</span>
+            <span class="k">raise</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcs_hook.html b/_modules/airflow/contrib/hooks/gcs_hook.html
index 8edc584..6f3bc49 100644
--- a/_modules/airflow/contrib/hooks/gcs_hook.html
+++ b/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +131,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.hooks.gcs_hook</li>
+        
+      <li>airflow.contrib.hooks.gcs_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,17 +181,14 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 <span class="c1">#</span>
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">apiclient.http</span> <span class="k">import</span> <span class="n">MediaFileUpload</span>
+<span class="kn">from</span> <span class="nn">googleapiclient</span> <span class="k">import</span> <span class="n">errors</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
-<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="kn">import</span> <span class="n">build</span>
-<span class="kn">from</span> <span class="nn">apiclient.http</span> <span class="kn">import</span> <span class="n">MediaFileUpload</span>
-
-<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;google_cloud_storage&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 
 
-<div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with Google Cloud Storage. This hook uses the Google Cloud Platform</span>
 <span class="sd">    connection.</span>
@@ -169,17 +196,65 @@
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
+                                                     <span class="n">delegate_to</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Google Cloud Storage service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+
+    <span class="c1"># pylint:disable=redefined-builtin</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.copy"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.copy">[docs]</a>    <span class="k">def</span> <span class="nf">copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">,</span> <span class="n">destination_bucket</span><s [...]
+             <span class="n">destination_object</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Copies an object from a bucket to another, with renaming if requested.</span>
+
+<span class="sd">        destination_bucket or destination_object can be omitted, in which case</span>
+<span class="sd">        source bucket/object is used, but not both.</span>
+
+<span class="sd">        :param bucket: The bucket of the object to copy from.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The object to copy.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        :param destination_bucket: The destination of the object to copied to.</span>
+<span class="sd">            Can be omitted; then the same bucket is used.</span>
+<span class="sd">        :type destination_bucket: string</span>
+<span class="sd">        :param destination_object: The (renamed) path of the object if given.</span>
+<span class="sd">            Can be omitted; then the same name is used.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">destination_bucket</span> <span class="o">=</span> <span class="n">destination_bucket</span> <span class="ow">or</span> <span class="n">source_bucket</span>
+        <span class="n">destination_object</span> <span class="o">=</span> <span class="n">destination_object</span> <span class="ow">or</span> <span class="n">source_object</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">source_bucket</span> <span class="o">==</span> <span class="n">destination_bucket</span> <span class="ow">and</span>
+            <span class="n">source_object</span> <span class="o">==</span> <span class="n">destination_object</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Either source/destination bucket or source/destination object &#39;</span>
+                <span class="s1">&#39;must be different, not both the same: bucket=</span><span class="si">%s</span><span class="s1">, object=</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
+                <span class="p">(</span><span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">))</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">source_bucket</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">source_object</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;source_bucket and source_object cannot be empty.&#39;</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span> \
+                <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">sourceBucket</span><span class="o">=</span><span class="n">source_bucket</span><span class="p">,</span> <span class="n">sourceObject</span><span class="o">=</span><span class="n">source_object</span><span class="p">,</span>
+                      <span class="n">destinationBucket</span><span class="o">=</span><span class="n">destination_bucket</span><span class="p">,</span>
+                      <span class="n">destinationObject</span><span class="o">=</span><span class="n">destination_object</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div>
+
+
+    <span class="c1"># pylint:disable=redefined-builtin</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.download"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.download">[docs]</a>    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class=" [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a file from Google Cloud Storage.</span>
 
@@ -198,12 +273,14 @@
 
         <span class="c1"># Write the file to local file path, if requested.</span>
         <span class="k">if</span> <span class="n">filename</span><span class="p">:</span>
-            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">file_fd</span><span class="p">:</span>
+            <span class="n">write_argument</span> <span class="o">=</span> <span class="s1">&#39;wb&#39;</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">downloaded_file_bytes</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">)</span> <span class="k">else</span> <span class="s1">&#39;w&#39;</span>
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">write_argument</span><span class="p">)</span> <span class="k">as</span> <span class="n">file_fd</span><span class="p">:</span>
                 <span class="n">file_fd</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">downloaded_file_bytes</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">downloaded_file_bytes</span>
+        <span class="k">return</span> <span class="n">downloaded_file_bytes</span></div>
 
-    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">mime_type</span><span class="o">=</span><span class="s1">&#39;application/octet-stream&#39;</span><span class="p">):</span>
+    <span class="c1"># pylint:disable=redefined-builtin</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.upload"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.upload">[docs]</a>    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</ [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Uploads a local file to Google Cloud Storage.</span>
 
@@ -222,9 +299,145 @@
             <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
             <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">media_body</span><span class="o">=</span><span class="n">media</span><span class="p">)</span> \
             <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+
+    <span class="c1"># pylint:disable=redefined-builtin</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.exists"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.exists">[docs]</a>    <span class="k">def</span> <span class="nf">exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks for the existence of a file in Google Cloud Storage.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to check in the Google cloud</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span> \
+                <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div>
+
+    <span class="c1"># pylint:disable=redefined-builtin</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook.is_updated_after"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.is_updated_after">[docs]</a>    <span class="k">def</span> <span class="nf">is_updated_after</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">ts</ [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if an object is updated in Google Cloud Storage.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to check in the Google cloud</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        :param ts: The timestamp to check against.</span>
+<span class="sd">        :type ts: datetime</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="p">(</span><span class="n">service</span>
+                        <span class="o">.</span><span class="n">objects</span><span class="p">()</span>
+                        <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
+                        <span class="o">.</span><span class="n">execute</span><span class="p">())</span>
+
+            <span class="k">if</span> <span class="s1">&#39;updated&#39;</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                <span class="kn">import</span> <span class="nn">dateutil.parser</span>
+                <span class="kn">import</span> <span class="nn">dateutil.tz</span>
+
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">ts</span><span class="o">.</span><span class="n">tzinfo</span><span class="p">:</span>
+                    <span class="n">ts</span> <span class="o">=</span> <span class="n">ts</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">dateutil</span><span class="o">.</span><span class="n">tz</span><span class="o">.</span><span class="n">tzutc</span><span class="p">())</span>
+
+                <span class="n">updated</span> <span class="o">=</span> <span class="n">dateutil</span><span class="o">.</span><span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;updated&#39;</span><span class="p">])</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Verify object date: </span><span class="si">%s</span><span class="s2"> &gt; </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">updated</span><span class="p">,</span> <span class="n">ts</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">updated</span> <span class="o">&gt;</span> <span class="n">ts</span><span class="p">:</span>
+                    <span class="k">return</span> <span class="kc">True</span>
+
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">raise</span>
+
+        <span class="k">return</span> <span class="kc">False</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.delete"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.delete">[docs]</a>    <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">generation</span><span class="o">= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete an object if versioning is not enabled for the bucket, or if generation</span>
+<span class="sd">        parameter is used.</span>
+
+<span class="sd">        :param bucket: name of the bucket, where the object resides</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: name of the object to delete</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        :param generation: if present, permanently delete the object of this generation</span>
+<span class="sd">        :type generation: string</span>
+<span class="sd">        :return: True if succeeded</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span> \
+                <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">generation</span><span class="o">=</span><span class="n">generation</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.list"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.list">[docs]</a>    <span class="k">def</span> <span class="nf">list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">versions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        List all objects from the bucket with the give string prefix in name</span>
+
+<span class="sd">        :param bucket: bucket name</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param versions: if true, list all versions of the objects</span>
+<span class="sd">        :type versions: boolean</span>
+<span class="sd">        :param maxResults: max count of items to return in a single page of responses</span>
+<span class="sd">        :type maxResults: integer</span>
+<span class="sd">        :param prefix: prefix string which filters objects whose name begin with this prefix</span>
+<span class="sd">        :type prefix: string</span>
+<span class="sd">        :return: a stream of object names matching the filtering criteria</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">ids</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span>
+        <span class="n">pageToken</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">while</span><span class="p">(</span><span class="kc">True</span><span class="p">):</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+                <span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span>
+                <span class="n">versions</span><span class="o">=</span><span class="n">versions</span><span class="p">,</span>
+                <span class="n">maxResults</span><span class="o">=</span><span class="n">maxResults</span><span class="p">,</span>
+                <span class="n">pageToken</span><span class="o">=</span><span class="n">pageToken</span><span class="p">,</span>
+                <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="s1">&#39;items&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No items found for prefix: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">prefix</span><span class="p">)</span>
+                <span class="k">break</span>
+
+            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;items&#39;</span><span class="p">]:</span>
+                <span class="k">if</span> <span class="n">item</span> <span class="ow">and</span> <span class="s1">&#39;name&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">:</span>
+                    <span class="n">ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+
+            <span class="k">if</span> <span class="s1">&#39;nextPageToken&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                <span class="c1"># no further pages of results, so stop the loop</span>
+                <span class="k">break</span>
+
+            <span class="n">pageToken</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;nextPageToken&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">pageToken</span><span class="p">:</span>
+                <span class="c1"># empty next page token</span>
+                <span class="k">break</span>
+        <span class="k">return</span> <span class="n">ids</span></div></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -257,7 +470,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/hooks/wasb_hook.html b/_modules/airflow/contrib/hooks/wasb_hook.html
new file mode 100644
index 0000000..2ff6ba4
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/wasb_hook.html
@@ -0,0 +1,345 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.wasb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.wasb_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.wasb_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+<span class="kn">from</span> <span class="nn">azure.storage.blob</span> <span class="k">import</span> <span class="n">BlockBlobService</span>
+
+
+<div class="viewcode-block" id="WasbHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.wasb_hook.WasbHook">[docs]</a><span class="k">class</span> <span class="nc">WasbHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure Blob Storage through the wasb:// protocol.</span>
+<span class="sd">    </span>
+<span class="sd">    Additional options passed in the &#39;extra&#39; field of the connection will be</span>
+<span class="sd">    passed to the `BlockBlockService()` constructor. For example, authenticate</span>
+<span class="sd">    using a SAS token by adding {&quot;sas_token&quot;: &quot;YOUR_TOKEN&quot;}.</span>
+<span class="sd">    </span>
+<span class="sd">    :param wasb_conn_id: Reference to the wasb connection.</span>
+<span class="sd">    :type wasb_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wasb_conn_id</span><span class="o">=</span><span class="s1">&#39;wasb_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">wasb_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Return the BlockBlobService object.&quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="n">service_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="k">return</span> <span class="n">BlockBlobService</span><span class="p">(</span><span class="n">account_name</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+                                <span class="n">account_key</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span> <span class="o">**</span><span class="n">service_options</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">check_for_blob</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a blob exists on Azure Blob Storage.</span>
+<span class="sd">        </span>
+<span class="sd">        :param container_name: Name of the container.</span>
+<span class="sd">        :type container_name: str</span>
+<span class="sd">        :param blob_name: Name of the blob.</span>
+<span class="sd">        :type blob_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `BlockBlobService.exists()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if the blob exists, False otherwise.</span>
+<span class="sd">        :rtype bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">check_for_prefix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a prefix exists on Azure Blob storage.</span>
+<span class="sd">        </span>
+<span class="sd">        :param container_name: Name of the container.</span>
+<span class="sd">        :type container_name: str</span>
+<span class="sd">        :param prefix: Prefix of the blob.</span>
+<span class="sd">        :type prefix: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `BlockBlobService.list_blobs()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if blobs matching the prefix exist, False otherwise.</span>
+<span class="sd">        :rtype bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">matches</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">list_blobs</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span>
+                                             <span class="n">num_results</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">matches</span><span class="p">))</span> <span class="o">&gt;</span> <span class="mi">0</span>
+
+    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a file to Azure Blob Storage.</span>
+<span class="sd">        </span>
+<span class="sd">        :param file_path: Path to the file to load.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :param container_name: Name of the container.</span>
+<span class="sd">        :type container_name: str</span>
+<span class="sd">        :param blob_name: Name of the blob.</span>
+<span class="sd">        :type blob_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `BlockBlobService.create_blob_from_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># Reorder the argument order from airflow.hooks.S3_hook.load_file.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_blob_from_path</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span>
+                                              <span class="n">file_path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a string to Azure Blob Storage.</span>
+<span class="sd">        </span>
+<span class="sd">        :param string_data: String to load.</span>
+<span class="sd">        :type string_data: str</span>
+<span class="sd">        :param container_name: Name of the container.</span>
+<span class="sd">        :type container_name: str</span>
+<span class="sd">        :param blob_name: Name of the blob.</span>
+<span class="sd">        :type blob_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `BlockBlobService.create_blob_from_text()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># Reorder the argument order from airflow.hooks.S3_hook.load_string.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_blob_from_text</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span>
+                                              <span class="n">string_data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/presto_check_operator.html b/_modules/airflow/contrib/operators/bigquery_check_operator.html
similarity index 57%
copy from _modules/presto_check_operator.html
copy to _modules/airflow/contrib/operators/bigquery_check_operator.html
index 325c884..cbad19f 100644
--- a/_modules/presto_check_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_check_operator.html
@@ -8,11 +8,13 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>presto_check_operator &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.operators.bigquery_check_operator &mdash; Airflow Documentation</title>
   
 
   
   
+  
+  
 
   
 
@@ -24,20 +26,20 @@
 
   
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
   
 
   
 
   
         <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../index.html"/>
-        <link rel="up" title="Module code" href="index.html"/> 
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
-  <script src="../_static/js/modernizr.min.js"></script>
+  <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
@@ -53,7 +55,7 @@
           
 
           
-            <a href="../index.html" class="icon icon-home"> Airflow
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
           
 
           
@@ -66,7 +68,7 @@
 
           
 <div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
     <input type="text" name="q" placeholder="Search docs" />
     <input type="hidden" name="check_keywords" value="yes" />
     <input type="hidden" name="area" value="default" />
@@ -80,24 +82,27 @@
           
             
             
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
 
             
@@ -112,7 +117,7 @@
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">Airflow</a>
+          <a href="../../../../index.html">Airflow</a>
         
       </nav>
 
@@ -140,11 +145,11 @@
 
   <ul class="wy-breadcrumbs">
     
-      <li><a href="../index.html">Docs</a> &raquo;</li>
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
         
-          <li><a href="index.html">Module code</a> &raquo;</li>
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>presto_check_operator</li>
+      <li>airflow.contrib.operators.bigquery_check_operator</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -161,7 +166,7 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for presto_check_operator</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.operators.bigquery_check_operator</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
 <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
@@ -176,14 +181,14 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="k">import</span> <span class="n">PrestoHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
 <span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="k">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
-<div class="viewcode-block" id="PrestoCheckOperator"><a class="viewcode-back" href="../code.html#airflow.operators.PrestoCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">PrestoCheckOperator</span><span class="p">(</span><span class="n">CheckOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryCheckOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_check_operator.BigQueryCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryCheckOperator</span><span class="p">(</span><span class="n">CheckOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Performs checks against Presto. The ``PrestoCheckOperator`` expects</span>
+<span class="sd">    Performs checks against BigQuery. The ``BigQueryCheckOperator`` expects</span>
 <span class="sd">    a sql query that will return a single row. Each value on that</span>
 <span class="sd">    first row is evaluated using python ``bool`` casting. If any of the</span>
 <span class="sd">    values return ``False`` the check is failed and errors out.</span>
@@ -211,78 +216,82 @@
 
 <span class="sd">    :param sql: the sql to be executed</span>
 <span class="sd">    :type sql: string</span>
-<span class="sd">    :param presto_conn_id: reference to the Presto database</span>
-<span class="sd">    :type presto_conn_id: string</span>
+<span class="sd">    :param bigquery_conn_id: reference to the BigQuery database</span>
+<span class="sd">    :type bigquery_conn_id: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span>
-            <span class="n">presto_conn_id</span><span class="o">=</span><span class="s1">&#39;presto_default&#39;</span><span class="p">,</span>
-            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">PrestoCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><s [...]
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span> <span class="o">=</span> <span class="n">presto_conn_id</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">sql</span><span class="p">,</span>
+            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
 
 
-<div class="viewcode-block" id="PrestoValueCheckOperator"><a class="viewcode-back" href="../code.html#airflow.operators.PrestoValueCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">PrestoValueCheckOperator</span><span class="p">(</span><span class="n">ValueCheckOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryValueCheckOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_check_operator.BigQueryValueCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryValueCheckOperator</span><span class="p">(</span><span class="n">ValueCheckOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Performs a simple value check using sql code.</span>
 
 <span class="sd">    :param sql: the sql to be executed</span>
 <span class="sd">    :type sql: string</span>
-<span class="sd">    :param presto_conn_id: reference to the Presto database</span>
-<span class="sd">    :type presto_conn_id: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-            <span class="n">presto_conn_id</span><span class="o">=</span><span class="s1">&#39;presto_default&#39;</span><span class="p">,</span>
+            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">PrestoValueCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryValueCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
             <span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="o">=</span><span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="n">tolerance</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span> <span class="o">=</span> <span class="n">presto_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
 
 
-<div class="viewcode-block" id="PrestoIntervalCheckOperator"><a class="viewcode-back" href="../code.html#airflow.operators.PrestoIntervalCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">PrestoIntervalCheckOperator</span><span class="p">(</span><span class="n">IntervalCheckOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryIntervalCheckOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_check_operator.BigQueryIntervalCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryIntervalCheckOperator</span><span class="p">(</span><span class="n">IntervalCheckOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Checks that the values of metrics given as SQL expressions are within</span>
 <span class="sd">    a certain tolerance of the ones from days_back before.</span>
 
+<span class="sd">    This method constructs a query like so:</span>
+
+<span class="sd">    SELECT {metrics_threshold_dict_key} FROM {table}</span>
+<span class="sd">        WHERE {date_filter_column}=&lt;date&gt;</span>
+
 <span class="sd">    :param table: the table name</span>
 <span class="sd">    :type table: str</span>
 <span class="sd">    :param days_back: number of days between ds and the ds we want to check</span>
 <span class="sd">        against. Defaults to 7 days</span>
 <span class="sd">    :type days_back: int</span>
-<span class="sd">    :param metrics_threshold: a dictionary of ratios indexed by metrics</span>
+<span class="sd">    :param metrics_threshold: a dictionary of ratios indexed by metrics, for</span>
+<span class="sd">        example &#39;COUNT(*)&#39;: 1.5 would require a 50 percent or less difference</span>
+<span class="sd">        between the current day, and the prior days_back.</span>
 <span class="sd">    :type metrics_threshold: dict</span>
-<span class="sd">    :param presto_conn_id: reference to the Presto database</span>
-<span class="sd">    :type presto_conn_id: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="p">,</span>
             <span class="n">date_filter_column</span><span class="o">=</span><span class="s1">&#39;ds&#39;</span><span class="p">,</span> <span class="n">days_back</span><span class="o">=-</span><span class="mi">7</span><span class="p">,</span>
-            <span class="n">presto_conn_id</span><span class="o">=</span><span class="s1">&#39;presto_default&#39;</span><span class="p">,</span>
+            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">PrestoIntervalCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryIntervalCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
             <span class="n">table</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="o">=</span><span class="n">metrics_thresholds</span><span class="p">,</span>
             <span class="n">date_filter_column</span><span class="o">=</span><span class="n">date_filter_column</span><span class="p">,</span> <span class="n">days_back</span><span class="o">=</span><span class="n">days_back</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span> <span class="o">=</span> <span class="n">presto_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
@@ -317,7 +326,7 @@
 
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
+            URL_ROOT:'../../../../',
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
@@ -325,15 +334,15 @@
             SOURCELINK_SUFFIX: '.txt'
         };
     </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
 
   
 
   
   
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
   
 
   
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
index c7fcfd9..5a74ba1 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +131,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.bigquery_operator</li>
+        
+      <li>airflow.contrib.operators.bigquery_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,16 +181,47 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
-<div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
+
+<span class="sd">    :param bql: the sql code to be executed</span>
+<span class="sd">    :type bql: Can receive a str representing a sql statement,</span>
+<span class="sd">        a list of str (sql statements), or reference to a template file.</span>
+<span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;</span>
+<span class="sd">    :param destination_dataset_table: A dotted</span>
+<span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; that, if set, will store the results</span>
+<span class="sd">        of the query.</span>
+<span class="sd">    :type destination_dataset_table: string</span>
+<span class="sd">    :param write_disposition: Specifies the action that occurs if the destination table</span>
+<span class="sd">        already exists. (default: &#39;WRITE_EMPTY&#39;)</span>
+<span class="sd">    :type write_disposition: string</span>
+<span class="sd">    :param create_disposition: Specifies whether the job is allowed to create new tables.</span>
+<span class="sd">        (default: &#39;CREATE_IF_NEEDED&#39;)</span>
+<span class="sd">    :type create_disposition: string</span>
+<span class="sd">    :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
+<span class="sd">    :type bigquery_conn_id: string</span>
+<span class="sd">    :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">        For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">        delegation enabled.</span>
+<span class="sd">    :type delegate_to: string</span>
+<span class="sd">    :param udf_config: The User Defined Function configuration for the query.</span>
+<span class="sd">        See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
+<span class="sd">    :type udf_config: list</span>
+<span class="sd">    :param use_legacy_sql: Whether to use legacy SQL (true) or standard SQL (false).</span>
+<span class="sd">    :type use_legacy_sql: boolean</span>
+<span class="sd">    :param maximum_billing_tier: Positive integer that serves as a multiplier of the basic price.</span>
+<span class="sd">        Defaults to None, in which case it uses the value set in the project.</span>
+<span class="sd">    :type maximum_billing_tier: integer</span>
+<span class="sd">    :param query_params: a dictionary containing query parameter types and values, passed to</span>
+<span class="sd">        BigQuery.</span>
+<span class="sd">    :type query_params: dict</span>
+
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
@@ -169,51 +230,47 @@
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">bql</span><span class="p">,</span>
-                 <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
-                 <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-                 <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">udf_config</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">udf_config</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                 <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new BigQueryOperator.</span>
-
-<span class="sd">        :param bql: the sql code to be executed</span>
-<span class="sd">        :type bql: Can receive a str representing a sql statement,</span>
-<span class="sd">            a list of str (sql statements), or reference to a template file.</span>
-<span class="sd">            Template reference are recognized by str ending in &#39;.sql&#39;</span>
-<span class="sd">        :param destination_dataset_table: A dotted dataset.table that, if set,</span>
-<span class="sd">            will store the results of the query.</span>
-<span class="sd">        :type destination_dataset_table: string</span>
-<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
-<span class="sd">        :type bigquery_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
-<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
-<span class="sd">        :type udf_config: list</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bql</span> <span class="o">=</span> <span class="n">bql</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="n">destination_dataset_table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span> <span class="o">=</span> <span class="n">create_disposition</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span> <span class="o">=</span> <span class="n">allow_large_results</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">udf_config</span> <span class="o">=</span> <span class="n">udf_config</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">maximum_billing_tier</span> <span class="o">=</span> <span class="n">maximum_billing_tier</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query_params</span> <span class="o">=</span> <span class="n">query_params</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
-        <span class="n">cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span> <span class="bp">self</span><s [...]
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span>
+                         <span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">udf_config</span><span class="p">,</span>
+                         <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">maximum_billing_tier</span><span class="p">,</span>
+                         <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">query_params</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -246,7 +303,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
similarity index 57%
copy from _modules/airflow/contrib/operators/bigquery_operator.html
copy to _modules/airflow/contrib/operators/bigquery_to_bigquery.html
index c7fcfd9..ab12d51 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
@@ -8,11 +8,13 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>airflow.contrib.operators.bigquery_operator &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.operators.bigquery_to_bigquery &mdash; Airflow Documentation</title>
   
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,25 +131,42 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.bigquery_operator</li>
+        
+      <li>airflow.contrib.operators.bigquery_to_bigquery</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for airflow.contrib.operators.bigquery_operator</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.operators.bigquery_to_bigquery</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
 <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
@@ -151,69 +181,81 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
-<div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryToBigQueryOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_to_bigquery.BigQueryToBigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryToBigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
+<span class="sd">    Copies data from one BigQuery table to another. See here:</span>
+
+<span class="sd">    https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy</span>
+
+<span class="sd">    For more details about these parameters.</span>
+
+<span class="sd">    :param source_project_dataset_tables: One or more</span>
+<span class="sd">        dotted (project:|project.)&lt;dataset&gt;.&lt;table&gt; BigQuery tables to use as the</span>
+<span class="sd">        source data. If &lt;project&gt; is not included, project will be the project defined</span>
+<span class="sd">        in the connection json. Use a list if there are multiple source tables.</span>
+<span class="sd">    :type source_project_dataset_tables: list|string</span>
+<span class="sd">    :param destination_project_dataset_table: The destination BigQuery</span>
+<span class="sd">        table. Format is: (project:|project.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">    :type destination_project_dataset_table: string</span>
+<span class="sd">    :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">    :type write_disposition: string</span>
+<span class="sd">    :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">    :type create_disposition: string</span>
+<span class="sd">    :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
+<span class="sd">    :type bigquery_conn_id: string</span>
+<span class="sd">    :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">        For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">        delegation enabled.</span>
+<span class="sd">    :type delegate_to: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_tables&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4f0e8&#39;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e6f0e4&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">bql</span><span class="p">,</span>
-                 <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
-                 <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-                 <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="n">source_project_dataset_tables</span><span class="p">,</span>
+                 <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">udf_config</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new BigQueryOperator.</span>
-
-<span class="sd">        :param bql: the sql code to be executed</span>
-<span class="sd">        :type bql: Can receive a str representing a sql statement,</span>
-<span class="sd">            a list of str (sql statements), or reference to a template file.</span>
-<span class="sd">            Template reference are recognized by str ending in &#39;.sql&#39;</span>
-<span class="sd">        :param destination_dataset_table: A dotted dataset.table that, if set,</span>
-<span class="sd">            will store the results of the query.</span>
-<span class="sd">        :type destination_dataset_table: string</span>
-<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
-<span class="sd">        :type bigquery_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
-<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
-<span class="sd">        :type udf_config: list</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">bql</span> <span class="o">=</span> <span class="n">bql</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="n">destination_dataset_table</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToBigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="n">source_project_dataset_tables</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span> <span class="o">=</span> <span class="n">destination_project_dataset_table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span> <span class="o">=</span> <span class="n">allow_large_results</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span> <span class="o">=</span> <span class="n">create_disposition</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">udf_config</span> <span class="o">=</span> <span class="n">udf_config</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Executing copy of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span>
+        <span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
-        <span class="n">cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span> <span class="bp">self</span><s [...]
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_copy</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_tables</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -246,7 +288,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
index 97cf815..31355ff 100644
--- a/_modules/airflow/contrib/operators/bigquery_to_gcs.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +131,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.bigquery_to_gcs</li>
+        
+      <li>airflow.contrib.operators.bigquery_to_gcs</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,65 +181,63 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
-
-<div class="viewcode-block" id="BigQueryToCloudStorageOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryToCloudStorageOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryToCloudStorageOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryToCloudStorageOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Transfers a BigQuery table to a Google Cloud Storage bucket.</span>
+
+<span class="sd">    See here:</span>
+
+<span class="sd">    https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">    For more details about these parameters.</span>
+
+<span class="sd">    :param source_project_dataset_table: The dotted</span>
+<span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; BigQuery table to use as the source</span>
+<span class="sd">        data. If &lt;project&gt; is not included, project will be the project defined in</span>
+<span class="sd">        the connection json.</span>
+<span class="sd">    :type source_project_dataset_table: string</span>
+<span class="sd">    :param destination_cloud_storage_uris: The destination Google Cloud</span>
+<span class="sd">        Storage URI (e.g. gs://some-bucket/some-file.txt). Follows</span>
+<span class="sd">        convention defined here:</span>
+<span class="sd">        https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</span>
+<span class="sd">    :type destination_cloud_storage_uris: list</span>
+<span class="sd">    :param compression: Type of compression to use.</span>
+<span class="sd">    :type compression: string</span>
+<span class="sd">    :param export_format: File format to export.</span>
+<span class="sd">    :type field_delimiter: string</span>
+<span class="sd">    :param field_delimiter: The delimiter to use when extracting to a CSV.</span>
+<span class="sd">    :type field_delimiter: string</span>
+<span class="sd">    :param print_header: Whether to print a header for a CSV file extract.</span>
+<span class="sd">    :type print_header: boolean</span>
+<span class="sd">    :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
+<span class="sd">    :type bigquery_conn_id: string</span>
+<span class="sd">    :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">        For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">        delegation enabled.</span>
+<span class="sd">    :type delegate_to: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span><span class="s1">&#39;destination_cloud_storage_uris&#39;</span><span class="p">,)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_cloud_storage_uris&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4e6f0&#39;</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-        <span class="bp">self</span><span class="p">,</span>
-        <span class="n">source_project_dataset_table</span><span class="p">,</span>
-        <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
-        <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
-        <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
-        <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
-        <span class="n">print_header</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-        <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-        <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-        <span class="o">*</span><span class="n">args</span><span class="p">,</span>
-        <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new BigQueryToCloudStorage to move data from BigQuery to</span>
-<span class="sd">        Google Cloud Storage.  See here:</span>
-
-<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
-
-<span class="sd">        For more details about these parameters.</span>
-
-<span class="sd">        :param source_project_dataset_table: The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt; BigQuery table to use as the</span>
-<span class="sd">            source data. If &lt;project&gt; is not included, project will be the project defined in the connection json.</span>
-<span class="sd">        :type source_project_dataset_table: string</span>
-<span class="sd">        :param destination_cloud_storage_uris: The destination Google Cloud</span>
-<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). Follows</span>
-<span class="sd">            convention defined here:</span>
-<span class="sd">            https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</span>
-<span class="sd">        :type destination_cloud_storage_uris: list</span>
-<span class="sd">        :param compression: Type of compression to use.</span>
-<span class="sd">        :type compression: string</span>
-<span class="sd">        :param export_format: File format to export.</span>
-<span class="sd">        :type field_delimiter: string</span>
-<span class="sd">        :param field_delimiter: The delimiter to use when extracting to a CSV.</span>
-<span class="sd">        :type field_delimiter: string</span>
-<span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
-<span class="sd">        :type print_header: boolean</span>
-<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
-<span class="sd">        :type bigquery_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToCloudStorageOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">source_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+                 <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+                 <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+                 <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+                 <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToCloudStorageOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span> <span class="o">=</span> <span class="n">source_project_dataset_table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">destination_cloud_storage_uris</span> <span class="o">=</span> <span class="n">destination_cloud_storage_uris</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">compression</span> <span class="o">=</span> <span class="n">compression</span>
@@ -220,8 +248,11 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing extract of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class= [...]
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing extract of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+                      <span class="bp">self</span><span class="o">.</span><span class="n">destination_cloud_storage_uris</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="n">cursor</span><span class="o">.</span><span class="n">run_extract</span><span class="p">(</span>
@@ -234,6 +265,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -266,7 +300,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/databricks_operator.html b/_modules/airflow/contrib/operators/databricks_operator.html
new file mode 100644
index 0000000..cb38349
--- /dev/null
+++ b/_modules/airflow/contrib/operators/databricks_operator.html
@@ -0,0 +1,487 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.databricks_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.databricks_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.databricks_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">six</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.databricks_hook</span> <span class="k">import</span> <span class="n">DatabricksHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+
+
+<div class="viewcode-block" id="DatabricksSubmitRunOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.databricks_operator.DatabricksSubmitRunOperator">[docs]</a><span class="k">class</span> <span class="nc">DatabricksSubmitRunOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Submits an Spark job run to Databricks using the</span>
+<span class="sd">    `api/2.0/jobs/runs/submit</span>
+<span class="sd">    &lt;https://docs.databricks.com/api/latest/jobs.html#runs-submit&gt;`_</span>
+<span class="sd">    API endpoint.</span>
+
+<span class="sd">    There are two ways to instantiate this operator.</span>
+
+<span class="sd">    In the first way, you can take the JSON payload that you typically use</span>
+<span class="sd">    to call the ``api/2.0/jobs/runs/submit`` endpoint and pass it directly</span>
+<span class="sd">    to our ``DatabricksSubmitRunOperator`` through the ``json`` parameter.</span>
+<span class="sd">    For example ::</span>
+<span class="sd">        json = {</span>
+<span class="sd">          &#39;new_cluster&#39;: {</span>
+<span class="sd">            &#39;spark_version&#39;: &#39;2.1.0-db3-scala2.11&#39;,</span>
+<span class="sd">            &#39;num_workers&#39;: 2</span>
+<span class="sd">          },</span>
+<span class="sd">          &#39;notebook_task&#39;: {</span>
+<span class="sd">            &#39;notebook_path&#39;: &#39;/Users/airflow@example.com/PrepareData&#39;,</span>
+<span class="sd">          },</span>
+<span class="sd">        }</span>
+<span class="sd">        notebook_run = DatabricksSubmitRunOperator(task_id=&#39;notebook_run&#39;, json=json)</span>
+
+<span class="sd">    Another way to accomplish the same thing is to use the named parameters</span>
+<span class="sd">    of the ``DatabricksSubmitRunOperator`` directly. Note that there is exactly</span>
+<span class="sd">    one named parameter for each top level parameter in the ``runs/submit``</span>
+<span class="sd">    endpoint. In this method, your code would look like this: ::</span>
+<span class="sd">        new_cluster = {</span>
+<span class="sd">          &#39;spark_version&#39;: &#39;2.1.0-db3-scala2.11&#39;,</span>
+<span class="sd">          &#39;num_workers&#39;: 2</span>
+<span class="sd">        }</span>
+<span class="sd">        notebook_task = {</span>
+<span class="sd">          &#39;notebook_path&#39;: &#39;/Users/airflow@example.com/PrepareData&#39;,</span>
+<span class="sd">        }</span>
+<span class="sd">        notebook_run = DatabricksSubmitRunOperator(</span>
+<span class="sd">            task_id=&#39;notebook_run&#39;,</span>
+<span class="sd">            new_cluster=new_cluster,</span>
+<span class="sd">            notebook_task=notebook_task)</span>
+
+<span class="sd">    In the case where both the json parameter **AND** the named parameters</span>
+<span class="sd">    are provided, they will be merged together. If there are conflicts during the merge,</span>
+<span class="sd">    the named parameters will take precedence and override the top level ``json`` keys.</span>
+
+<span class="sd">    Currently the named parameters that ``DatabricksSubmitRunOperator`` supports are</span>
+<span class="sd">        - ``spark_jar_task``</span>
+<span class="sd">        - ``notebook_task``</span>
+<span class="sd">        - ``new_cluster``</span>
+<span class="sd">        - ``existing_cluster_id``</span>
+<span class="sd">        - ``libraries``</span>
+<span class="sd">        - ``run_name``</span>
+<span class="sd">        - ``timeout_seconds``</span>
+
+<span class="sd">    :param json: A JSON object containing API parameters which will be passed</span>
+<span class="sd">        directly to the ``api/2.0/jobs/runs/submit`` endpoint. The other named parameters</span>
+<span class="sd">        (i.e. ``spark_jar_task``, ``notebook_task``..) to this operator will</span>
+<span class="sd">        be merged with this json dictionary if they are provided.</span>
+<span class="sd">        If there are conflicts during the merge, the named parameters will</span>
+<span class="sd">        take precedence and override the top level json keys. This field will be</span>
+<span class="sd">        templated.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            For more information about templating see :ref:`jinja-templating`.</span>
+<span class="sd">            https://docs.databricks.com/api/latest/jobs.html#runs-submit</span>
+<span class="sd">    :type json: dict</span>
+<span class="sd">    :param spark_jar_task: The main class and parameters for the JAR task. Note that</span>
+<span class="sd">        the actual JAR is specified in the ``libraries``.</span>
+<span class="sd">        *EITHER* ``spark_jar_task`` *OR* ``notebook_task`` should be specified.</span>
+<span class="sd">        This field will be templated.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://docs.databricks.com/api/latest/jobs.html#jobssparkjartask</span>
+<span class="sd">    :type spark_jar_task: dict</span>
+<span class="sd">    :param notebook_task: The notebook path and parameters for the notebook task.</span>
+<span class="sd">        *EITHER* ``spark_jar_task`` *OR* ``notebook_task`` should be specified.</span>
+<span class="sd">        This field will be templated.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://docs.databricks.com/api/latest/jobs.html#jobsnotebooktask</span>
+<span class="sd">    :type notebook_task: dict</span>
+<span class="sd">    :param new_cluster: Specs for a new cluster on which this task will be run.</span>
+<span class="sd">        *EITHER* ``new_cluster`` *OR* ``existing_cluster_id`` should be specified.</span>
+<span class="sd">        This field will be templated.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://docs.databricks.com/api/latest/jobs.html#jobsclusterspecnewcluster</span>
+<span class="sd">    :type new_cluster: dict</span>
+<span class="sd">    :param existing_cluster_id: ID for existing cluster on which to run this task.</span>
+<span class="sd">        *EITHER* ``new_cluster`` *OR* ``existing_cluster_id`` should be specified.</span>
+<span class="sd">        This field will be templated.</span>
+<span class="sd">    :type existing_cluster_id: string</span>
+<span class="sd">    :param libraries: Libraries which this run will use.</span>
+<span class="sd">        This field will be templated.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://docs.databricks.com/api/latest/libraries.html#managedlibrarieslibrary</span>
+<span class="sd">    :type libraries: list of dicts</span>
+<span class="sd">    :param run_name: The run name used for this task.</span>
+<span class="sd">        By default this will be set to the Airflow ``task_id``. This ``task_id`` is a</span>
+<span class="sd">        required parameter of the superclass ``BaseOperator``.</span>
+<span class="sd">        This field will be templated.</span>
+<span class="sd">    :type run_name: string</span>
+<span class="sd">    :param timeout_seconds: The timeout for this run. By default a value of 0 is used</span>
+<span class="sd">        which means to have no timeout.</span>
+<span class="sd">        This field will be templated.</span>
+<span class="sd">    :type timeout_seconds: int32</span>
+<span class="sd">    :param databricks_conn_id: The name of the Airflow connection to use.</span>
+<span class="sd">        By default and in the common case this will be ``databricks_default``. To use</span>
+<span class="sd">        token based authentication, provide the key ``token`` in the extra field for the</span>
+<span class="sd">        connection.</span>
+<span class="sd">    :type databricks_conn_id: string</span>
+<span class="sd">    :param polling_period_seconds: Controls the rate which we poll for the result of</span>
+<span class="sd">        this run. By default the operator will poll every 30 seconds.</span>
+<span class="sd">    :type polling_period_seconds: int</span>
+<span class="sd">    :param databricks_retry_limit: Amount of times retry if the Databricks backend is</span>
+<span class="sd">        unreachable. Its value must be greater than or equal to 1.</span>
+<span class="sd">    :type databricks_retry_limit: int</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># Used in airflow.models.BaseOperator</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;json&#39;</span><span class="p">,)</span>
+    <span class="c1"># Databricks brand color (blue) under white text</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#1CB1C2&#39;</span>
+    <span class="n">ui_fgcolor</span> <span class="o">=</span> <span class="s1">&#39;#fff&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">json</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">spark_jar_task</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">notebook_task</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">new_cluster</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">existing_cluster_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">libraries</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">run_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">timeout_seconds</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">databricks_conn_id</span><span class="o">=</span><span class="s1">&#39;databricks_default&#39;</span><span class="p">,</span>
+            <span class="n">polling_period_seconds</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span>
+            <span class="n">databricks_retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new ``DatabricksSubmitRunOperator``.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DatabricksSubmitRunOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">json</span> <span class="o">=</span> <span class="n">json</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span> <span class="o">=</span> <span class="n">databricks_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span> <span class="o">=</span> <span class="n">polling_period_seconds</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_limit</span> <span class="o">=</span> <span class="n">databricks_retry_limit</span>
+        <span class="k">if</span> <span class="n">spark_jar_task</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;spark_jar_task&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">spark_jar_task</span>
+        <span class="k">if</span> <span class="n">notebook_task</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;notebook_task&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">notebook_task</span>
+        <span class="k">if</span> <span class="n">new_cluster</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;new_cluster&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_cluster</span>
+        <span class="k">if</span> <span class="n">existing_cluster_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;existing_cluster_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">existing_cluster_id</span>
+        <span class="k">if</span> <span class="n">libraries</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;libraries&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">libraries</span>
+        <span class="k">if</span> <span class="n">run_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;run_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">run_name</span>
+        <span class="k">if</span> <span class="n">timeout_seconds</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;timeout_seconds&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">timeout_seconds</span>
+        <span class="k">if</span> <span class="s1">&#39;run_name&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;run_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">run_name</span> <span class="ow">or</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;task_id&#39;</span><span class="p">]</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">json</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deep_string_coerce</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">)</span>
+        <span class="c1"># This variable will be used in case our task gets killed.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">_deep_string_coerce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">json_path</span><span class="o">=</span><span class="s1">&#39;json&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Coerces content or all values of content if it is a dict to a string. The</span>
+<span class="sd">        function will throw if content contains non-string or non-numeric types.</span>
+
+<span class="sd">        The reason why we have this function is because the ``self.json`` field must be a dict</span>
+<span class="sd">        with only string values. This is because ``render_template`` will fail for numerical values.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">c</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deep_string_coerce</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+            <span class="k">return</span> <span class="n">content</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">integer_types</span><span class="o">+</span><span class="p">(</span><span class="nb">float</span><span class="p">,)):</span>
+            <span class="c1"># Databricks can tolerate either numeric or string types in the API backend.</span>
+            <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span>
+            <span class="k">return</span> <span class="p">[</span><span class="n">c</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="s1">&#39;</span><span class="si">{0}</span><span class="s1">[</span><span class="si">{1}</span><span class="s1">]&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">json_path</span><span class="p">,</span> <span class="n">i</span><span class="p">))</span> <span c [...]
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+            <span class="k">return</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">c</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="s1">&#39;</span><span class="si">{0}</span><span class="s1">[</span><span class="si">{1}</span><span class="s1">]&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">json_path</span><span class="p">,</span> <span cl [...]
+                    <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">content</span><span class="o">.</span><span class="n">items</span><span class="p">())}</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">param_type</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="s1">&#39;Type </span><span class="si">{0}</span><span class="s1"> used for parameter </span><span class="si">{1}</span><span class="s1"> is not a number or a string&#39;</span> \
+                    <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">param_type</span><span class="p">,</span> <span class="n">json_path</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_log_run_page_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">url</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;View run status, Spark UI, and logs at </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">url</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">DatabricksHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span><span class="p">,</span>
+            <span class="n">retry_limit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_limit</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">submit_run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">)</span>
+        <span class="n">run_page_url</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_run_page_url</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Run submitted with run_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_log_run_page_url</span><span class="p">(</span><span class="n">run_page_url</span><span class="p">)</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">run_state</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_run_state</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">run_state</span><span class="o">.</span><span class="n">is_terminal</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">run_state</span><span class="o">.</span><span class="n">is_successful</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1"> completed successfully.&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_log_run_page_url</span><span class="p">(</span><span class="n">run_page_url</span><span class="p">)</span>
+                    <span class="k">return</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">error_message</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{t}</span><span class="s1"> failed with terminal state: </span><span class="si">{s}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">t</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+                        <span class="n">s</span><span class="o">=</span><span class="n">run_state</span><span class="p">)</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">error_message</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1"> in run state: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">run_state</span><span clas [...]
+                <span class="bp">self</span><span class="o">.</span><span class="n">_log_run_page_url</span><span class="p">(</span><span class="n">run_page_url</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sleeping for </span><span class="si">%s</span><span class="s1"> seconds.&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span><span class="p">)</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
+        <span class="n">hook</span><span class="o">.</span><span class="n">cancel_run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Task: </span><span class="si">%s</span><span class="s1"> with run_id: </span><span class="si">%s</span><span class="s1"> was requested to be cancelled.&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span>
+        <span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/dataflow_operator.html b/_modules/airflow/contrib/operators/dataflow_operator.html
new file mode 100644
index 0000000..6807e24
--- /dev/null
+++ b/_modules/airflow/contrib/operators/dataflow_operator.html
@@ -0,0 +1,470 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.dataflow_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.dataflow_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.dataflow_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">copy</span>
+<span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">uuid</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="k">import</span> <span class="n">GoogleCloudStorageHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_dataflow_hook</span> <span class="k">import</span> <span class="n">DataFlowHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+
+<div class="viewcode-block" id="DataFlowJavaOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataFlowJavaOperator">[docs]</a><span class="k">class</span> <span class="nc">DataFlowJavaOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Java Cloud DataFlow batch job. The parameters of the operation</span>
+<span class="sd">    will be passed to the job.</span>
+
+<span class="sd">    It&#39;s a good practice to define dataflow_* parameters in the default_args of the dag</span>
+<span class="sd">    like the project, zone and staging location.</span>
+
+<span class="sd">    ```</span>
+<span class="sd">    default_args = {</span>
+<span class="sd">        &#39;dataflow_default_options&#39;: {</span>
+<span class="sd">            &#39;project&#39;: &#39;my-gcp-project&#39;,</span>
+<span class="sd">            &#39;zone&#39;: &#39;europe-west1-d&#39;,</span>
+<span class="sd">            &#39;stagingLocation&#39;: &#39;gs://my-staging-bucket/staging/&#39;</span>
+<span class="sd">        }</span>
+<span class="sd">    }</span>
+<span class="sd">    ```</span>
+
+<span class="sd">    You need to pass the path to your dataflow as a file reference with the ``jar``</span>
+<span class="sd">    parameter, the jar needs to be a self executing jar. Use ``options`` to pass on</span>
+<span class="sd">    options to your job.</span>
+
+<span class="sd">    ```</span>
+<span class="sd">    t1 = DataFlowOperation(</span>
+<span class="sd">        task_id=&#39;datapflow_example&#39;,</span>
+<span class="sd">        jar=&#39;{{var.value.gcp_dataflow_base}}pipeline/build/libs/pipeline-example-1.0.jar&#39;,</span>
+<span class="sd">        options={</span>
+<span class="sd">            &#39;autoscalingAlgorithm&#39;: &#39;BASIC&#39;,</span>
+<span class="sd">            &#39;maxNumWorkers&#39;: &#39;50&#39;,</span>
+<span class="sd">            &#39;start&#39;: &#39;{{ds}}&#39;,</span>
+<span class="sd">            &#39;partitionType&#39;: &#39;DAY&#39;</span>
+<span class="sd">        },</span>
+<span class="sd">        dag=my-dag)</span>
+<span class="sd">    ```</span>
+
+<span class="sd">    Both ``jar`` and ``options`` are templated so you can use variables in them.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;options&#39;</span><span class="p">,</span> <span class="s1">&#39;jar&#39;</span><span class="p">]</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">jar</span><span class="p">,</span>
+            <span class="n">dataflow_default_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataFlowJavaOperator. Note that both</span>
+<span class="sd">        dataflow_default_options and options will be merged to specify pipeline</span>
+<span class="sd">        execution parameter, and dataflow_default_options is expected to save</span>
+<span class="sd">        high-level options, for instances, project and zone information, which</span>
+<span class="sd">        apply to all dataflow operators in the DAG.</span>
+
+<span class="sd">        For more detail on job submission have a look at the reference:</span>
+
+<span class="sd">        https://cloud.google.com/dataflow/pipelines/specifying-exec-params</span>
+
+<span class="sd">        :param jar: The reference to a self executing DataFlow jar.</span>
+<span class="sd">        :type jar: string</span>
+<span class="sd">        :param dataflow_default_options: Map of default job options.</span>
+<span class="sd">        :type dataflow_default_options: dict</span>
+<span class="sd">        :param options: Map of job specific options.</span>
+<span class="sd">        :type options: dict</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud</span>
+<span class="sd">        Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have</span>
+<span class="sd">            domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataFlowJavaOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="n">dataflow_default_options</span> <span class="o">=</span> <span class="n">dataflow_default_options</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="n">options</span> <span class="o">=</span> <span class="n">options</span> <span class="ow">or</span> <span class="p">{}</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">jar</span> <span class="o">=</span> <span class="n">jar</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataflow_default_options</span> <span class="o">=</span> <span class="n">dataflow_default_options</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="n">options</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">bucket_helper</span> <span class="o">=</span> <span class="n">GoogleCloudBucketHelper</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">jar</span> <span class="o">=</span> <span class="n">bucket_helper</span><span class="o">.</span><span class="n">google_cloud_to_local</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">jar</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataFlowHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+
+        <span class="n">dataflow_options</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataflow_default_options</span><span class="p">)</span>
+        <span class="n">dataflow_options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">dataflow_options</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">jar</span><span class="p">)</span></div>
+
+
+<div class="viewcode-block" id="DataFlowPythonOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataFlowPythonOperator">[docs]</a><span class="k">class</span> <span class="nc">DataFlowPythonOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;options&#39;</span><span class="p">,</span> <span class="s1">&#39;dataflow_default_options&#39;</span><span class="p">]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">py_file</span><span class="p">,</span>
+            <span class="n">py_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataflow_default_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataFlowPythonOperator. Note that both</span>
+<span class="sd">        dataflow_default_options and options will be merged to specify pipeline</span>
+<span class="sd">        execution parameter, and dataflow_default_options is expected to save</span>
+<span class="sd">        high-level options, for instances, project and zone information, which</span>
+<span class="sd">        apply to all dataflow operators in the DAG.</span>
+
+<span class="sd">        For more detail on job submission have a look at the reference:</span>
+
+<span class="sd">        https://cloud.google.com/dataflow/pipelines/specifying-exec-params</span>
+
+<span class="sd">        :param py_file: Reference to the python dataflow pipleline file, e.g.,</span>
+<span class="sd">            /some/local/file/path/to/your/python/pipeline/file.py.</span>
+<span class="sd">        :type py_file: string</span>
+<span class="sd">        :param py_options: Additional python options.</span>
+<span class="sd">        :type pyt_options: list of strings, e.g., [&quot;-m&quot;, &quot;-v&quot;].</span>
+<span class="sd">        :param dataflow_default_options: Map of default job options.</span>
+<span class="sd">        :type dataflow_default_options: dict</span>
+<span class="sd">        :param options: Map of job specific options.</span>
+<span class="sd">        :type options: dict</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud</span>
+<span class="sd">            Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have</span>
+<span class="sd">            domain-wide  delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataFlowPythonOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">py_file</span> <span class="o">=</span> <span class="n">py_file</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">py_options</span> <span class="o">=</span> <span class="n">py_options</span> <span class="ow">or</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataflow_default_options</span> <span class="o">=</span> <span class="n">dataflow_default_options</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="n">options</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Execute the python dataflow job.&quot;&quot;&quot;</span>
+        <span class="n">bucket_helper</span> <span class="o">=</span> <span class="n">GoogleCloudBucketHelper</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">py_file</span> <span class="o">=</span> <span class="n">bucket_helper</span><span class="o">.</span><span class="n">google_cloud_to_local</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">py_file</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataFlowHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">dataflow_options</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataflow_default_options</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+        <span class="n">dataflow_options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
+        <span class="c1"># Convert argument names from lowerCamelCase to snake case.</span>
+        <span class="n">camel_to_snake</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">name</span><span class="p">:</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span>
+            <span class="sa">r</span><span class="s1">&#39;[A-Z]&#39;</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="s1">&#39;_&#39;</span> <span class="o">+</span> <span class="n">x</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span> <span class="n">name</s [...]
+        <span class="n">formatted_options</span> <span class="o">=</span> <span class="p">{</span><span class="n">camel_to_snake</span><span class="p">(</span><span class="n">key</span><span class="p">):</span> <span class="n">dataflow_options</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                             <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">dataflow_options</span><span class="p">}</span>
+        <span class="n">hook</span><span class="o">.</span><span class="n">start_python_dataflow</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">formatted_options</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">py_file</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">py_options</span><span class="p">)</span></div>
+
+
+<span class="k">class</span> <span class="nc">GoogleCloudBucketHelper</span><span class="p">():</span>
+    <span class="sd">&quot;&quot;&quot;GoogleCloudStorageHook helper class to download GCS object.&quot;&quot;&quot;</span>
+    <span class="n">GCS_PREFIX_LENGTH</span> <span class="o">=</span> <span class="mi">5</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_gcs_hook</span> <span class="o">=</span> <span class="n">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">google_cloud_to_local</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks whether the file specified by file_name is stored in Google Cloud</span>
+<span class="sd">        Storage (GCS), if so, downloads the file and saves it locally. The full</span>
+<span class="sd">        path of the saved file will be returned. Otherwise the local file_name</span>
+<span class="sd">        will be returned immediately.</span>
+
+<span class="sd">        :param file_name: The full path of input file.</span>
+<span class="sd">        :type file_name: string</span>
+<span class="sd">        :return: The full path of local file.</span>
+<span class="sd">        :type: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">file_name</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;gs://&#39;</span><span class="p">):</span>
+            <span class="k">return</span> <span class="n">file_name</span>
+
+        <span class="c1"># Extracts bucket_id and object_id by first removing &#39;gs://&#39; prefix and</span>
+        <span class="c1"># then split the remaining by path delimiter &#39;/&#39;.</span>
+        <span class="n">path_components</span> <span class="o">=</span> <span class="n">file_name</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">GCS_PREFIX_LENGTH</span><span class="p">:]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">path_components</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                <span class="s1">&#39;Invalid Google Cloud Storage (GCS) object path: </span><span class="si">{}</span><span class="s1">.&#39;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">file_name</span><span class="p">))</span>
+
+        <span class="n">bucket_id</span> <span class="o">=</span> <span class="n">path_components</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">object_id</span> <span class="o">=</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">path_components</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
+        <span class="n">local_file</span> <span class="o">=</span> <span class="s1">&#39;/tmp/dataflow</span><span class="si">{}</span><span class="s1">-</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">] [...]
+                                                 <span class="n">path_components</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+        <span class="n">file_size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_gcs_hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="n">bucket_id</span><span class="p">,</span> <span class="n">object_id</span><span class="p">,</span> <span class="n">local_file</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">file_size</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">local_file</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+            <span class="s1">&#39;Failed to download Google Cloud Storage GCS object: </span><span class="si">{}</span><span class="s1">&#39;</span>
+            <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">file_name</span><span class="p">))</span>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/dataproc_operator.html b/_modules/airflow/contrib/operators/dataproc_operator.html
new file mode 100644
index 0000000..d49719e
--- /dev/null
+++ b/_modules/airflow/contrib/operators/dataproc_operator.html
@@ -0,0 +1,1139 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.dataproc_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.dataproc_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.dataproc_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_dataproc_hook</span> <span class="k">import</span> <span class="n">DataProcHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.version</span> <span class="k">import</span> <span class="n">version</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.errors</span> <span class="k">import</span> <span class="n">HttpError</span>
+
+
+<span class="k">class</span> <span class="nc">DataprocClusterCreateOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Create a new cluster on Google Cloud Dataproc. The operator will wait until the</span>
+<span class="sd">    creation is successful or an error occurs in the creation process.</span>
+
+<span class="sd">    The parameters allow to configure the cluster. Please refer to</span>
+
+<span class="sd">    https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.clusters</span>
+
+<span class="sd">    for a detailed explanation on the different parameters. Most of the configuration</span>
+<span class="sd">    parameters detailed in the link are available as a parameter to this operator.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;cluster_name&#39;</span><span class="p">,]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">cluster_name</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">num_workers</span><span class="p">,</span>
+                 <span class="n">zone</span><span class="p">,</span>
+                 <span class="n">storage_bucket</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">init_actions_uris</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">metadata</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">image_version</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">master_machine_type</span><span class="o">=</span><span class="s1">&#39;n1-standard-4&#39;</span><span class="p">,</span>
+                 <span class="n">master_disk_size</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
+                 <span class="n">worker_machine_type</span><span class="o">=</span><span class="s1">&#39;n1-standard-4&#39;</span><span class="p">,</span>
+                 <span class="n">worker_disk_size</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
+                 <span class="n">num_preemptible_workers</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">region</span><span class="o">=</span><span class="s1">&#39;global&#39;</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">service_account</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">service_account_scopes</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataprocClusterCreateOperator.</span>
+
+<span class="sd">        For more info on the creation of a cluster through the API, have a look at:</span>
+
+<span class="sd">        https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.clusters</span>
+
+<span class="sd">        :param cluster_name: The name of the DataProc cluster to create.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param project_id: The ID of the google cloud project in which</span>
+<span class="sd">            to create the cluster</span>
+<span class="sd">        :type project_id: string</span>
+<span class="sd">        :param num_workers: The # of workers to spin up</span>
+<span class="sd">        :type num_workers: int</span>
+<span class="sd">        :param storage_bucket: The storage bucket to use, setting to None lets dataproc</span>
+<span class="sd">            generate a custom one for you</span>
+<span class="sd">        :type storage_bucket: string</span>
+<span class="sd">        :param init_actions_uris: List of GCS uri&#39;s containing</span>
+<span class="sd">            dataproc initialization scripts</span>
+<span class="sd">        :type init_actions_uris: list[string]</span>
+<span class="sd">        :param metadata: dict of key-value google compute engine metadata entries</span>
+<span class="sd">            to add to all instances</span>
+<span class="sd">        :type metadata: dict</span>
+<span class="sd">        :param image_version: the version of software inside the Dataproc cluster</span>
+<span class="sd">        :type image_version: string</span>
+<span class="sd">        :param properties: dict of properties to set on</span>
+<span class="sd">            config files (e.g. spark-defaults.conf), see</span>
+<span class="sd">            https://cloud.google.com/dataproc/docs/reference/rest/v1/ \</span>
+<span class="sd">            projects.regions.clusters#SoftwareConfig</span>
+<span class="sd">        :type properties: dict</span>
+<span class="sd">        :param master_machine_type: Compute engine machine type to use for the master node</span>
+<span class="sd">        :type master_machine_type: string</span>
+<span class="sd">        :param master_disk_size: Disk size for the master node</span>
+<span class="sd">        :type int</span>
+<span class="sd">        :param worker_machine_type:Compute engine machine type to use for the worker nodes</span>
+<span class="sd">        :type worker_machine_type: string</span>
+<span class="sd">        :param worker_disk_size: Disk size for the worker nodes</span>
+<span class="sd">        :type worker_disk_size: int</span>
+<span class="sd">        :param num_preemptible_workers: The # of preemptible worker nodes to spin up</span>
+<span class="sd">        :type num_preemptible_workers: int</span>
+<span class="sd">        :param labels: dict of labels to add to the cluster</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        :param zone: The zone where the cluster will be located</span>
+<span class="sd">        :type zone: string</span>
+<span class="sd">        :param region: leave as &#39;global&#39;, might become relevant in the future</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        :param service_account: The service account of the dataproc instances.</span>
+<span class="sd">        :type service_account: string</span>
+<span class="sd">        :param service_account_scopes: The URIs of service account scopes to be included.</span>
+<span class="sd">        :type service_account_scopes: list[string]</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataprocClusterCreateOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">num_workers</span> <span class="o">=</span> <span class="n">num_workers</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">num_preemptible_workers</span> <span class="o">=</span> <span class="n">num_preemptible_workers</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">storage_bucket</span> <span class="o">=</span> <span class="n">storage_bucket</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">init_actions_uris</span> <span class="o">=</span> <span class="n">init_actions_uris</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span> <span class="o">=</span> <span class="n">metadata</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span> <span class="o">=</span> <span class="n">image_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">properties</span> <span class="o">=</span> <span class="n">properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">master_machine_type</span> <span class="o">=</span> <span class="n">master_machine_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_size</span> <span class="o">=</span> <span class="n">master_disk_size</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_machine_type</span> <span class="o">=</span> <span class="n">worker_machine_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span> <span class="o">=</span> <span class="n">worker_disk_size</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zone</span> <span class="o">=</span> <span class="n">zone</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">service_account</span> <span class="o">=</span> <span class="n">service_account</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">service_account_scopes</span> <span class="o">=</span> <span class="n">service_account_scopes</span>
+
+    <span class="k">def</span> <span class="nf">_get_cluster_list_for_project</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">region</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;clusters&#39;</span><span class="p">,</span> <span class="p">[])</span>
+
+    <span class="k">def</span> <span class="nf">_get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+        <span class="n">cluster_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster_list_for_project</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+        <span class="n">cluster</span> <span class="o">=</span> <span class="p">[</span><span class="n">c</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">cluster_list</span> <span class="k">if</span> <span class="n">c</span><span class="p">[</span><span class="s1">&#39;clusterName&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span c [...]
+        <span class="k">if</span> <span class="n">cluster</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">cluster</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="k">return</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">_get_cluster_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+        <span class="n">cluster</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;status&#39;</span> <span class="ow">in</span> <span class="n">cluster</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">cluster</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">_cluster_ready</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="s1">&#39;RUNNING&#39;</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="s1">&#39;ERROR&#39;</span><span class="p">:</span>
+            <span class="n">cluster</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">error_details</span> <span class="o">=</span> <span class="n">cluster</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;details&#39;</span><span class="p">]</span>
+            <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
+                <span class="n">error_details</span> <span class="o">=</span> <span class="s1">&#39;Unknown error in cluster creation, &#39;</span> \
+                                <span class="s1">&#39;check Google Cloud console for details.&#39;</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">error_details</span><span class="p">)</span>
+        <span class="k">return</span> <span class="kc">False</span>
+
+    <span class="k">def</span> <span class="nf">_wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster_state</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">state</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No state for cluster &#39;</span><span class="si">%s</span><span class="s2">&#39;&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;State for cluster &#39;</span><span class="si">%s</span><span class="s2">&#39; is </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="n">st [...]
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cluster_ready</span><span class="p">(</span><span class="n">state</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                        <span class="s2">&quot;Cluster &#39;</span><span class="si">%s</span><span class="s2">&#39; successfully created&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span>
+                    <span class="p">)</span>
+                    <span class="k">return</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_build_cluster_data</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">zone_uri</span> <span class="o">=</span> \
+            <span class="s1">&#39;https://www.googleapis.com/compute/v1/projects/</span><span class="si">{}</span><span class="s1">/zones/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span>
+            <span class="p">)</span>
+        <span class="n">master_type_uri</span> <span class="o">=</span> \
+            <span class="s2">&quot;https://www.googleapis.com/compute/v1/projects/</span><span class="si">{}</span><span class="s2">/zones/</span><span class="si">{}</span><span class="s2">/machineTypes/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">master_machine_type</span>
+            <span class="p">)</span>
+        <span class="n">worker_type_uri</span> <span class="o">=</span> \
+            <span class="s2">&quot;https://www.googleapis.com/compute/v1/projects/</span><span class="si">{}</span><span class="s2">/zones/</span><span class="si">{}</span><span class="s2">/machineTypes/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_machine_type</span>
+            <span class="p">)</span>
+        <span class="n">cluster_data</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="s1">&#39;clusterName&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span>
+            <span class="s1">&#39;config&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;gceClusterConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;zoneUri&#39;</span><span class="p">:</span> <span class="n">zone_uri</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;masterConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
+                    <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">master_type_uri</span><span class="p">,</span>
+                    <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_size</span>
+                    <span class="p">}</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;workerConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_workers</span><span class="p">,</span>
+                    <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">worker_type_uri</span><span class="p">,</span>
+                    <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span>
+                    <span class="p">}</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;secondaryWorkerConfig&#39;</span><span class="p">:</span> <span class="p">{},</span>
+                <span class="s1">&#39;softwareConfig&#39;</span><span class="p">:</span> <span class="p">{}</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_preemptible_workers</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;secondaryWorkerConfig&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_preemptible_workers</span><span class="p">,</span>
+                <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">worker_type_uri</span><span class="p">,</span>
+                <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;isPreemptible&#39;</span><span class="p">:</span> <span class="kc">True</span>
+            <span class="p">}</span>
+
+        <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="k">else</span> <span class="p">{}</span>
+        <span class="c1"># Dataproc labels must conform to the following regex:</span>
+        <span class="c1"># [a-z]([-a-z0-9]*[a-z0-9])? (current airflow version string follows</span>
+        <span class="c1"># semantic versioning spec: x.y.z).</span>
+        <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;airflow-version&#39;</span><span class="p">:</span>
+                                       <span class="s1">&#39;v&#39;</span> <span class="o">+</span> <span class="n">version</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">)})</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">storage_bucket</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;configBucket&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">storage_bucket</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;gceClusterConfig&#39;</span><span class="p">][</span><span class="s1">&#39;metadata&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;softwareConfig&#39;</span><span class="p">][</span><span class="s1">&#39;imageVersion&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">properties</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;softwareConfig&#39;</span><span class="p">][</span><span class="s1">&#39;properties&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">properties</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">init_actions_uris</span><span class="p">:</span>
+            <span class="n">init_actions_dict</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="p">{</span><span class="s1">&#39;executableFile&#39;</span><span class="p">:</span> <span class="n">uri</span><span class="p">}</span> <span class="k">for</span> <span class="n">uri</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">init_actions_uris</span>
+            <span class="p">]</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;initializationActions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">init_actions_dict</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">service_account</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;gceClusterConfig&#39;</span><span class="p">][</span><span class="s1">&#39;serviceAccount&#39;</span><span class="p">]</span> <span class="o">=</span>\
+                    <span class="bp">self</span><span class="o">.</span><span class="n">service_account</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">service_account_scopes</span><span class="p">:</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;gceClusterConfig&#39;</span><span class="p">][</span><span class="s1">&#39;serviceAccountScopes&#39;</span><span class="p">]</span> <span class="o">=</span>\
+                    <span class="bp">self</span><span class="o">.</span><span class="n">service_account_scopes</span>
+        <span class="k">return</span> <span class="n">cluster_data</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating cluster: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span>
+        <span class="p">)</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster</span><span class="p">(</span><span class="n">service</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Cluster </span><span class="si">%s</span><span class="s1"> already exists... Checking status...&#39;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span>
+            <span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+
+        <span class="n">cluster_data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_cluster_data</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">region</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">cluster_data</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># probably two cluster start commands at the same time</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cluster</span><span class="p">(</span><span class="n">service</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;Cluster </span><span class="si">{}</span><span class="s1"> already exists... Checking status...&#39;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span>
+                 <span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+                <span class="k">return</span> <span class="kc">True</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">e</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">DataprocClusterDeleteOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Delete a cluster on Google Cloud Dataproc. The operator will wait until the</span>
+<span class="sd">    cluster is destroyed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">cluster_name</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">region</span><span class="o">=</span><span class="s1">&#39;global&#39;</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete a cluster on Google Cloud Dataproc.</span>
+
+<span class="sd">        :param cluster_name: The name of the cluster to create.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param project_id: The ID of the google cloud project in which</span>
+<span class="sd">            the cluster runs</span>
+<span class="sd">        :type project_id: string</span>
+<span class="sd">        :param region: leave as &#39;global&#39;, might become relevant in the future</span>
+<span class="sd">        :type region: string</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataprocClusterDeleteOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
+
+    <span class="k">def</span> <span class="nf">_wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">):</span>
+        <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">name</span><span class="o">=</span><span class="n">operation_name</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="s1">&#39;done&#39;</span> <span class="ow">in</span> <span class="n">response</span> <span class="ow">and</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;done&#39;</span><span class="p">]:</span>
+                <span class="k">if</span> <span class="s1">&#39;error&#39;</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;error&#39;</span><span class="p">]))</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">return</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleting cluster: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span>
+        <span class="p">)</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">region</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">,</span>
+            <span class="n">clusterName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Cluster delete operation name: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="DataProcPigOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPigOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcPigOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Pig query Job on a Cloud DataProc cluster. The parameters of the operation</span>
+<span class="sd">    will be passed to the cluster.</span>
+
+<span class="sd">    It&#39;s a good practice to define dataproc_* parameters in the default_args of the dag</span>
+<span class="sd">    like the cluster name and UDFs.</span>
+
+<span class="sd">    ```</span>
+<span class="sd">    default_args = {</span>
+<span class="sd">        &#39;cluster_name&#39;: &#39;cluster-1&#39;,</span>
+<span class="sd">        &#39;dataproc_pig_jars&#39;: [</span>
+<span class="sd">            &#39;gs://example/udf/jar/datafu/1.2.0/datafu.jar&#39;,</span>
+<span class="sd">            &#39;gs://example/udf/jar/gpig/1.2/gpig.jar&#39;</span>
+<span class="sd">        ]</span>
+<span class="sd">    }</span>
+<span class="sd">    ```</span>
+
+<span class="sd">    You can pass a pig script as string or file reference. Use variables to pass on</span>
+<span class="sd">    variables for the pig script to be resolved on the cluster or use the parameters to</span>
+<span class="sd">    be resolved in the script as template parameters.</span>
+
+<span class="sd">    ```</span>
+<span class="sd">    t1 = DataProcPigOperator(</span>
+<span class="sd">        task_id=&#39;dataproc_pig&#39;,</span>
+<span class="sd">        query=&#39;a_pig_script.pig&#39;,</span>
+<span class="sd">        variables={&#39;out&#39;: &#39;gs://example/output/{{ds}}&#39;},</span>
+<span class="sd">    dag=dag)</span>
+<span class="sd">    ```</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;variables&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.pg&#39;</span><span class="p">,</span> <span class="s1">&#39;.pig&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">query</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">query_uri</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">variables</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_pig_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_pig_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcPigOperator.</span>
+
+<span class="sd">        For more detail on about job submission have a look at the reference:</span>
+
+<span class="sd">        https://cloud.google.com/dataproc/reference/rest/v1/projects.regions.jobs</span>
+
+<span class="sd">        :param query: The query or reference to the query file (pg or pig extension).</span>
+<span class="sd">        :type query: string</span>
+<span class="sd">        :param query_uri: The uri of a pig script on Cloud Storage.</span>
+<span class="sd">        :type query_uri: string</span>
+<span class="sd">        :param variables: Map of named parameters for the query.</span>
+<span class="sd">        :type variables: dict</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_pig_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_pig_properties: dict</span>
+<span class="sd">        :param dataproc_pig_jars: URIs to jars provisioned in Cloud Storage (example: for</span>
+<span class="sd">            UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_pig_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcPigOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="o">=</span> <span class="n">query</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span> <span class="o">=</span> <span class="n">query_uri</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">variables</span> <span class="o">=</span> <span class="n">variables</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_pig_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_pig_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;pigJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query_uri</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_variables</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">variables</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+
+
+<div class="viewcode-block" id="DataProcHiveOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHiveOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcHiveOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Hive query Job on a Cloud DataProc cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;variables&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.q&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">query</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">query_uri</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">variables</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_hive_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_hive_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcHiveOperator.</span>
+
+<span class="sd">        :param query: The query or reference to the query file (q extension).</span>
+<span class="sd">        :type query: string</span>
+<span class="sd">        :param query_uri: The uri of a hive script on Cloud Storage.</span>
+<span class="sd">        :type query_uri: string</span>
+<span class="sd">        :param variables: Map of named parameters for the query.</span>
+<span class="sd">        :type variables: dict</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_hive_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_hive_properties: dict</span>
+<span class="sd">        :param dataproc_hive_jars: URIs to jars provisioned in Cloud Storage (example: for</span>
+<span class="sd">            UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_hive_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcHiveOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="o">=</span> <span class="n">query</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span> <span class="o">=</span> <span class="n">query_uri</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">variables</span> <span class="o">=</span> <span class="n">variables</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_hive_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_hive_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;hiveJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query_uri</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_variables</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">variables</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+
+
+<div class="viewcode-block" id="DataProcSparkSqlOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkSqlOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcSparkSqlOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Spark SQL query Job on a Cloud DataProc cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;variables&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.q&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">query</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">query_uri</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">variables</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_spark_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_spark_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcSparkSqlOperator.</span>
+
+<span class="sd">        :param query: The query or reference to the query file (q extension).</span>
+<span class="sd">        :type query: string</span>
+<span class="sd">        :param query_uri: The uri of a spark sql script on Cloud Storage.</span>
+<span class="sd">        :type query_uri: string</span>
+<span class="sd">        :param variables: Map of named parameters for the query.</span>
+<span class="sd">        :type variables: dict</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_spark_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_spark_properties: dict</span>
+<span class="sd">        :param dataproc_spark_jars: URIs to jars provisioned in Cloud Storage (example:</span>
+<span class="sd">            for UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_spark_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcSparkSqlOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="o">=</span> <span class="n">query</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span> <span class="o">=</span> <span class="n">query_uri</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">variables</span> <span class="o">=</span> <span class="n">variables</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_spark_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_spark_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;sparkSqlJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">query</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query_uri</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query_uri</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">job</span><span class="o">.</span><span class="n">add_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">query</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_variables</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">variables</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+
+
+<div class="viewcode-block" id="DataProcSparkOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcSparkOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Spark Job on a Cloud DataProc cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;arguments&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">main_jar</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">main_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">arguments</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">archives</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">files</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_spark_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_spark_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcSparkOperator.</span>
+
+<span class="sd">        :param main_jar: URI of the job jar provisioned on Cloud Storage. (use this or</span>
+<span class="sd">            the main_class, not both together).</span>
+<span class="sd">        :type main_jar: string</span>
+<span class="sd">        :param main_class: Name of the job class. (use this or the main_jar, not both</span>
+<span class="sd">            together).</span>
+<span class="sd">        :type main_class: string</span>
+<span class="sd">        :param arguments: Arguments for the job.</span>
+<span class="sd">        :type arguments: list</span>
+<span class="sd">        :param archives: List of archived files that will be unpacked in the work</span>
+<span class="sd">            directory. Should be stored in Cloud Storage.</span>
+<span class="sd">        :type archives: list</span>
+<span class="sd">        :param files: List of files to be copied to the working directory</span>
+<span class="sd">        :type files: list</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_spark_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_spark_properties: dict</span>
+<span class="sd">        :param dataproc_spark_jars: URIs to jars provisioned in Cloud Storage (example:</span>
+<span class="sd">            for UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_spark_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcSparkOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">main_jar</span> <span class="o">=</span> <span class="n">main_jar</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">main_class</span> <span class="o">=</span> <span class="n">main_class</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">arguments</span> <span class="o">=</span> <span class="n">arguments</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">archives</span> <span class="o">=</span> <span class="n">archives</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_spark_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_spark_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;sparkJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="n">job</span><span class="o">.</span><span class="n">set_main</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">main_jar</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">main_class</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_args</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arguments</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_archive_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">archives</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+
+
+<div class="viewcode-block" id="DataProcHadoopOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHadoopOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcHadoopOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a Hadoop Job on a Cloud DataProc cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;arguments&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">main_jar</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">main_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">arguments</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">archives</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">files</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_hadoop_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_hadoop_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcHadoopOperator.</span>
+
+<span class="sd">        :param main_jar: URI of the job jar provisioned on Cloud Storage. (use this or</span>
+<span class="sd">            the main_class, not both together).</span>
+<span class="sd">        :type main_jar: string</span>
+<span class="sd">        :param main_class: Name of the job class. (use this or the main_jar, not both</span>
+<span class="sd">            together).</span>
+<span class="sd">        :type main_class: string</span>
+<span class="sd">        :param arguments: Arguments for the job.</span>
+<span class="sd">        :type arguments: list</span>
+<span class="sd">        :param archives: List of archived files that will be unpacked in the work</span>
+<span class="sd">            directory. Should be stored in Cloud Storage.</span>
+<span class="sd">        :type archives: list</span>
+<span class="sd">        :param files: List of files to be copied to the working directory</span>
+<span class="sd">        :type files: list</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_hadoop_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_hadoop_properties: dict</span>
+<span class="sd">        :param dataproc_hadoop_jars: URIs to jars provisioned in Cloud Storage (example:</span>
+<span class="sd">            for UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_hadoop_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcHadoopOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">main_jar</span> <span class="o">=</span> <span class="n">main_jar</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">main_class</span> <span class="o">=</span> <span class="n">main_class</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">arguments</span> <span class="o">=</span> <span class="n">arguments</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">archives</span> <span class="o">=</span> <span class="n">archives</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_hadoop_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_hadoop_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;hadoopJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="n">job</span><span class="o">.</span><span class="n">set_main</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">main_jar</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">main_class</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_args</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arguments</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_archive_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">archives</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+
+
+<div class="viewcode-block" id="DataProcPySparkOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPySparkOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcPySparkOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start a PySpark Job on a Cloud DataProc cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;arguments&#39;</span><span class="p">,</span> <span class="s1">&#39;job_name&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_name&#39;</span><span class="p">]</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#0273d4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">main</span><span class="p">,</span>
+            <span class="n">arguments</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">archives</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">pyfiles</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">files</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">job_name</span><span class="o">=</span><span class="s1">&#39;{{task.task_id}}_{{ds_nodash}}&#39;</span><span class="p">,</span>
+            <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+            <span class="n">dataproc_pyspark_properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dataproc_pyspark_jars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new DataProcPySparkOperator.</span>
+
+<span class="sd">        :param main: [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main</span>
+<span class="sd">            Python file to use as the driver. Must be a .py file.</span>
+<span class="sd">        :type main: string</span>
+<span class="sd">        :param arguments: Arguments for the job.</span>
+<span class="sd">        :type arguments: list</span>
+<span class="sd">        :param archives: List of archived files that will be unpacked in the work</span>
+<span class="sd">            directory. Should be stored in Cloud Storage.</span>
+<span class="sd">        :type archives: list</span>
+<span class="sd">        :param files: List of files to be copied to the working directory</span>
+<span class="sd">        :type files: list</span>
+<span class="sd">        :param pyfiles: List of Python files to pass to the PySpark framework.</span>
+<span class="sd">            Supported file types: .py, .egg, and .zip</span>
+<span class="sd">        :type pyfiles: list</span>
+<span class="sd">        :param job_name: The job name used in the DataProc cluster. This name by default</span>
+<span class="sd">            is the task_id appended with the execution data, but can be templated. The</span>
+<span class="sd">            name will always be appended with a random number to avoid name clashes.</span>
+<span class="sd">        :type job_name: string</span>
+<span class="sd">        :param cluster_name: The name of the DataProc cluster.</span>
+<span class="sd">        :type cluster_name: string</span>
+<span class="sd">        :param dataproc_pyspark_properties: Map for the Pig properties. Ideal to put in</span>
+<span class="sd">            default arguments</span>
+<span class="sd">        :type dataproc_pyspark_properties: dict</span>
+<span class="sd">        :param dataproc_pyspark_jars: URIs to jars provisioned in Cloud Storage (example:</span>
+<span class="sd">            for UDFs and libs) and are ideal to put in default arguments.</span>
+<span class="sd">        :type dataproc_pyspark_jars: list</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud Platform.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have</span>
+<span class="sd">            domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">         &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcPySparkOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">main</span> <span class="o">=</span> <span class="n">main</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">arguments</span> <span class="o">=</span> <span class="n">arguments</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">archives</span> <span class="o">=</span> <span class="n">archives</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pyfiles</span> <span class="o">=</span> <span class="n">pyfiles</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_name</span> <span class="o">=</span> <span class="n">job_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span> <span class="o">=</span> <span class="n">cluster_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span> <span class="o">=</span> <span class="n">dataproc_pyspark_properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_pyspark_jars</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                            <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;pysparkJob&quot;</span><span class="p">,</span>
+                                       <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_properties</span><span class="p">)</span>
+
+        <span class="n">job</span><span class="o">.</span><span class="n">set_python_main</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">main</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_args</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arguments</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_archive_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">archives</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">add_python_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pyfiles</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
+
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">())</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/ecs_operator.html b/_modules/airflow/contrib/operators/ecs_operator.html
new file mode 100644
index 0000000..5c181c5
--- /dev/null
+++ b/_modules/airflow/contrib/operators/ecs_operator.html
@@ -0,0 +1,360 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.ecs_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.ecs_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.ecs_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">import</span> <span class="nn">sys</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="ECSOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.ecs_operator.ECSOperator">[docs]</a><span class="k">class</span> <span class="nc">ECSOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Execute a task on AWS EC2 Container Service</span>
+
+<span class="sd">    :param task_definition: the task definition name on EC2 Container Service</span>
+<span class="sd">    :type task_definition: str</span>
+<span class="sd">    :param cluster: the cluster name on EC2 Container Service</span>
+<span class="sd">    :type cluster: str</span>
+<span class="sd">    :param: overrides: the same parameter that boto3 will receive:</span>
+<span class="sd">            http://boto3.readthedocs.org/en/latest/reference/services/ecs.html#ECS.Client.run_task</span>
+<span class="sd">    :type: overrides: dict</span>
+<span class="sd">    :param aws_conn_id: connection id of AWS credentials / region name. If None,</span>
+<span class="sd">            credential boto3 strategy will be used (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    :param region_name: region name to use in AWS Hook. Override the region_name in connection (if provided)</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0ede4&#39;</span>
+    <span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="n">arn</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;overrides&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_definition</span><span class="p">,</span> <span class="n">cluster</span><span class="p">,</span> <span class="n">overrides</span><span class="p">,</span>
+                 <span class="n">aws_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">ECSOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_definition</span> <span class="o">=</span> <span class="n">task_definition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span> <span class="o">=</span> <span class="n">cluster</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">overrides</span> <span class="o">=</span> <span class="n">overrides</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Running ECS Task - Task definition: </span><span class="si">%s</span><span class="s1"> - on cluster </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_definition</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECSOperator overrides: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">overrides</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span>
+            <span class="s1">&#39;ecs&#39;</span><span class="p">,</span>
+            <span class="n">region_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region_name</span>
+        <span class="p">)</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">run_task</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="p">,</span>
+            <span class="n">taskDefinition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_definition</span><span class="p">,</span>
+            <span class="n">overrides</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">overrides</span><span class="p">,</span>
+            <span class="n">startedBy</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">owner</span>
+        <span class="p">)</span>
+
+        <span class="n">failures</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;failures&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">failures</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECS Task started: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">arn</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;tasks&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;taskArn&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_task_ended</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_check_success_task</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECS Task has been successfully executed: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_wait_for_task_ended</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">waiter</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">get_waiter</span><span class="p">(</span><span class="s1">&#39;tasks_stopped&#39;</span><span class="p">)</span>
+        <span class="n">waiter</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">max_attempts</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxsize</span>  <span class="c1"># timeout is managed by airflow</span>
+        <span class="n">waiter</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="p">,</span>
+            <span class="n">tasks</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">arn</span><span class="p">]</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_check_success_task</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">describe_tasks</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="p">,</span>
+            <span class="n">tasks</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">arn</span><span class="p">]</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECS Task stopped, check status: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;failures&#39;</span><span class="p">,</span> <span class="p">[]))</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;tasks&#39;</span><span class="p">]:</span>
+            <span class="n">containers</span> <span class="o">=</span> <span class="n">task</span><span class="p">[</span><span class="s1">&#39;containers&#39;</span><span class="p">]</span>
+            <span class="k">for</span> <span class="n">container</span> <span class="ow">in</span> <span class="n">containers</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">container</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;lastStatus&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;STOPPED&#39;</span> <span class="ow">and</span> <span class="n">container</span><span class="p">[</span><span class="s1">&#39;exitCode&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="mi">0</span><span [...]
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;This task is not in success state </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="p">))</span>
+                <span class="k">elif</span> <span class="n">container</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;lastStatus&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;PENDING&#39;</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;This task is still pending </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="p">))</span>
+                <span class="k">elif</span> <span class="s1">&#39;error&#39;</span> <span class="ow">in</span> <span class="n">container</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;reason&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">():</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;This containers encounter an error during launching : </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span>
+                                           <span class="nb">format</span><span class="p">(</span><span class="n">container</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;reason&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()))</span>
+
+    <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">AwsHook</span><span class="p">(</span>
+            <span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">stop_task</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="p">,</span>
+            <span class="n">task</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">arn</span><span class="p">,</span>
+            <span class="n">reason</span><span class="o">=</span><span class="s1">&#39;Task killed by the user&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">response</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/emr_add_steps_operator.html b/_modules/airflow/contrib/operators/emr_add_steps_operator.html
new file mode 100644
index 0000000..daac24b
--- /dev/null
+++ b/_modules/airflow/contrib/operators/emr_add_steps_operator.html
@@ -0,0 +1,291 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.emr_add_steps_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.emr_add_steps_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.emr_add_steps_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.emr_hook</span> <span class="k">import</span> <span class="n">EmrHook</span>
+
+
+<div class="viewcode-block" id="EmrAddStepsOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_add_steps_operator.EmrAddStepsOperator">[docs]</a><span class="k">class</span> <span class="nc">EmrAddStepsOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    An operator that adds steps to an existing EMR job_flow.</span>
+
+<span class="sd">    :param job_flow_id: id of the JobFlow to add steps to</span>
+<span class="sd">    :type job_flow_name: str</span>
+<span class="sd">    :param aws_conn_id: aws connection to uses</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    :param steps: boto3 style steps to be added to the jobflow</span>
+<span class="sd">    :type steps: list</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;job_flow_id&#39;</span><span class="p">]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">()</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f9c915&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">job_flow_id</span><span class="p">,</span>
+            <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
+            <span class="n">steps</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">EmrAddStepsOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="n">steps</span> <span class="o">=</span> <span class="n">steps</span> <span class="ow">or</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span> <span class="o">=</span> <span class="n">job_flow_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">steps</span> <span class="o">=</span> <span class="n">steps</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Adding steps to </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">emr</span><span class="o">.</span><span class="n">add_job_flow_steps</span><span class="p">(</span><span class="n">JobFlowId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">,</span> <span class="n">Steps</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">steps</span><span class=" [...]
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;ResponseMetadata&#39;</span><span class="p">][</span><span class="s1">&#39;HTTPStatusCode&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Adding steps failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Steps </span><span class="si">%s</span><span class="s1"> added to JobFlow&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;StepIds&#39;</span><span class="p">])</span>
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;StepIds&#39;</span><span class="p">]</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html b/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
new file mode 100644
index 0000000..1e477c5
--- /dev/null
+++ b/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
@@ -0,0 +1,296 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.emr_create_job_flow_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.emr_create_job_flow_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.emr_create_job_flow_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.emr_hook</span> <span class="k">import</span> <span class="n">EmrHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+
+<div class="viewcode-block" id="EmrCreateJobFlowOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_create_job_flow_operator.EmrCreateJobFlowOperator">[docs]</a><span class="k">class</span> <span class="nc">EmrCreateJobFlowOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Creates an EMR JobFlow, reading the config from the EMR connection.</span>
+<span class="sd">    A dictionary of JobFlow overrides can be passed that override the config from the connection.</span>
+
+<span class="sd">    :param aws_conn_id: aws connection to uses</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    :param emr_conn_id: emr connection to use</span>
+<span class="sd">    :type emr_conn_id: str</span>
+<span class="sd">    :param job_flow_overrides: boto3 style arguments to override emr_connection extra</span>
+<span class="sd">    :type steps: dict</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">()</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f9c915&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
+            <span class="n">emr_conn_id</span><span class="o">=</span><span class="s1">&#39;emr_default&#39;</span><span class="p">,</span>
+            <span class="n">job_flow_overrides</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">EmrCreateJobFlowOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span> <span class="o">=</span> <span class="n">emr_conn_id</span>
+        <span class="k">if</span> <span class="n">job_flow_overrides</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">job_flow_overrides</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_overrides</span> <span class="o">=</span> <span class="n">job_flow_overrides</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">,</span> <span class="n">emr_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Creating JobFlow using aws-conn-id: </span><span class="si">%s</span><span class="s1">, emr-conn-id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span>
+        <span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">emr</span><span class="o">.</span><span class="n">create_job_flow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_flow_overrides</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;ResponseMetadata&#39;</span><span class="p">][</span><span class="s1">&#39;HTTPStatusCode&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;JobFlow creation failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> created&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;JobFlowId&#39;</span><span class="p">])</span>
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;JobFlowId&#39;</span><span class="p">]</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html b/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
new file mode 100644
index 0000000..7f2f1ca
--- /dev/null
+++ b/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
@@ -0,0 +1,285 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.emr_terminate_job_flow_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.emr_terminate_job_flow_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.emr_terminate_job_flow_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.emr_hook</span> <span class="k">import</span> <span class="n">EmrHook</span>
+
+
+<div class="viewcode-block" id="EmrTerminateJobFlowOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_terminate_job_flow_operator.EmrTerminateJobFlowOperator">[docs]</a><span class="k">class</span> <span class="nc">EmrTerminateJobFlowOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Operator to terminate EMR JobFlows.</span>
+
+<span class="sd">    :param job_flow_id: id of the JobFlow to terminate</span>
+<span class="sd">    :type job_flow_name: str</span>
+<span class="sd">    :param aws_conn_id: aws connection to uses</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;job_flow_id&#39;</span><span class="p">]</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">()</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f9c915&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">job_flow_id</span><span class="p">,</span>
+            <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">EmrTerminateJobFlowOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span> <span class="o">=</span> <span class="n">job_flow_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Terminating JobFlow </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">emr</span><span class="o">.</span><span class="n">terminate_job_flows</span><span class="p">(</span><span class="n">JobFlowIds</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">])</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;ResponseMetadata&#39;</span><span class="p">][</span><span class="s1">&#39;HTTPStatusCode&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;JobFlow termination failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> terminated&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/file_to_wasb.html
similarity index 50%
copy from _modules/airflow/contrib/operators/bigquery_operator.html
copy to _modules/airflow/contrib/operators/file_to_wasb.html
index c7fcfd9..0c67052 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/file_to_wasb.html
@@ -8,11 +8,13 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>airflow.contrib.operators.bigquery_operator &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.operators.file_to_wasb &mdash; Airflow Documentation</title>
   
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,25 +131,42 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.bigquery_operator</li>
+        
+      <li>airflow.contrib.operators.file_to_wasb</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for airflow.contrib.operators.bigquery_operator</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.operators.file_to_wasb</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
 <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
@@ -150,70 +180,56 @@
 <span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
-
-<span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="c1">#</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.wasb_hook</span> <span class="k">import</span> <span class="n">WasbHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
-<div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="FileToWasbOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.file_to_wasb.FileToWasbOperator">[docs]</a><span class="k">class</span> <span class="nc">FileToWasbOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
+<span class="sd">    Uploads a file to Azure Blob Storage.</span>
+
+<span class="sd">    :param file_path: Path to the file to load.</span>
+<span class="sd">    :type file_path: str</span>
+<span class="sd">    :param container_name: Name of the container.</span>
+<span class="sd">    :type container_name: str</span>
+<span class="sd">    :param blob_name: Name of the blob.</span>
+<span class="sd">    :type blob_name: str</span>
+<span class="sd">    :param wasb_conn_id: Reference to the wasb connection.</span>
+<span class="sd">    :type wasb_conn_id: str</span>
+<span class="sd">    :param load_options: Optional keyword arguments that</span>
+<span class="sd">        `WasbHook.load_file()` takes.</span>
+<span class="sd">    :type load_options: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
-    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4f0e8&#39;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;file_path&#39;</span><span class="p">,</span> <span class="s1">&#39;container_name&#39;</span><span class="p">,</span> <span class="s1">&#39;blob_name&#39;</span><span class="p">)</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">bql</span><span class="p">,</span>
-                 <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
-                 <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-                 <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">udf_config</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span>
+                 <span class="n">wasb_conn_id</span><span class="o">=</span><span class="s1">&#39;wasb_default&#39;</span><span class="p">,</span> <span class="n">load_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new BigQueryOperator.</span>
-
-<span class="sd">        :param bql: the sql code to be executed</span>
-<span class="sd">        :type bql: Can receive a str representing a sql statement,</span>
-<span class="sd">            a list of str (sql statements), or reference to a template file.</span>
-<span class="sd">            Template reference are recognized by str ending in &#39;.sql&#39;</span>
-<span class="sd">        :param destination_dataset_table: A dotted dataset.table that, if set,</span>
-<span class="sd">            will store the results of the query.</span>
-<span class="sd">        :type destination_dataset_table: string</span>
-<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
-<span class="sd">        :type bigquery_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
-<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
-<span class="sd">        :type udf_config: list</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">bql</span> <span class="o">=</span> <span class="n">bql</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="n">destination_dataset_table</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span> <span class="o">=</span> <span class="n">allow_large_results</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">udf_config</span> <span class="o">=</span> <span class="n">udf_config</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">FileToWasbOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">load_options</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">load_options</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_path</span> <span class="o">=</span> <span class="n">file_path</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">container_name</span> <span class="o">=</span> <span class="n">container_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">blob_name</span> <span class="o">=</span> <span class="n">blob_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">wasb_conn_id</span> <span class="o">=</span> <span class="n">wasb_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">load_options</span> <span class="o">=</span> <span class="n">load_options</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
-        <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
-        <span class="n">cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span> <span class="bp">self</span><s [...]
+        <span class="sd">&quot;&quot;&quot;Upload a file to Azure Blob Storage.&quot;&quot;&quot;</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">WasbHook</span><span class="p">(</span><span class="n">wasb_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">wasb_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Uploading </span><span class="si">{self.file_path}</span><span class="s1"> to wasb://</span><span class="si">{self.container_name}</span><span class="s1"> as </span><span class="si">{self.blob_name}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+        <span class="p">)</span>
+        <span class="n">hook</span><span class="o">.</span><span class="n">load_file</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_path</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">container_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="bp">sel [...]
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -246,7 +262,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/gcs_download_operator.html b/_modules/airflow/contrib/operators/gcs_download_operator.html
index 39186e2..de261e7 100644
--- a/_modules/airflow/contrib/operators/gcs_download_operator.html
+++ b/_modules/airflow/contrib/operators/gcs_download_operator.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -30,6 +32,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +45,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -76,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -90,6 +99,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +115,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +131,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.gcs_download_operator</li>
+        
+      <li>airflow.contrib.operators.gcs_download_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,58 +181,52 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">sys</span>
 
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudStorageHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="k">import</span> <span class="n">GoogleCloudStorageHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
-<div class="viewcode-block" id="GoogleCloudStorageDownloadOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageDownloadOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="GoogleCloudStorageDownloadOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageDownloadOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Downloads a file from Google Cloud Storage.</span>
+
+<span class="sd">    :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">    :type bucket: string</span>
+<span class="sd">    :param object: The name of the object to download in the Google cloud</span>
+<span class="sd">        storage bucket.</span>
+<span class="sd">    :type object: string</span>
+<span class="sd">    :param filename: The file path on the local file system (where the</span>
+<span class="sd">        operator is being executed) that the file should be downloaded to.</span>
+<span class="sd">        If false, the downloaded data will not be stored on the local file</span>
+<span class="sd">        system.</span>
+<span class="sd">    :type filename: string</span>
+<span class="sd">    :param store_to_xcom_key: If this param is set, the operator will push</span>
+<span class="sd">        the contents of the downloaded file to XCom with the key set in this</span>
+<span class="sd">        parameter. If false, the downloaded data will not be pushed to XCom.</span>
+<span class="sd">    :type store_to_xcom_key: string</span>
+<span class="sd">    :param google_cloud_storage_conn_id: The connection ID to use when</span>
+<span class="sd">        connecting to Google cloud storage.</span>
+<span class="sd">    :type google_cloud_storage_conn_id: string</span>
+<span class="sd">    :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">        For this to work, the service account making the request must have domain-wide delegation enabled.</span>
+<span class="sd">    :type delegate_to: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span><span class="s1">&#39;object&#39;</span><span class="p">,</span><span class="s1">&#39;filename&#39;</span><span class="p">,</span><span class="s1">&#39;store_to_xcom_key&#39;</span><span class="p">,)</span>
-    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span> <span class="s1">&#39;object&#39;</span><span class="p">,</span> <span class="s1">&#39;filename&#39;</span><span class="p">,</span> <span class="s1">&#39;store_to_xcom_key&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-        <span class="bp">self</span><span class="p">,</span>
-        <span class="n">bucket</span><span class="p">,</span>
-        <span class="nb">object</span><span class="p">,</span>
-        <span class="n">filename</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-        <span class="n">store_to_xcom_key</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-        <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
-        <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-        <span class="o">*</span><span class="n">args</span><span class="p">,</span>
-        <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new GoogleCloudStorageDownloadOperator.</span>
-
-<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
-<span class="sd">        :type bucket: string</span>
-<span class="sd">        :param object: The name of the object to download in the Google cloud</span>
-<span class="sd">            storage bucket.</span>
-<span class="sd">        :type object: string</span>
-<span class="sd">        :param filename: The file path on the local file system (where the</span>
-<span class="sd">            operator is being executed) that the file should be downloaded to.</span>
-<span class="sd">            If false, the downloaded data will not be stored on the local file</span>
-<span class="sd">            system.</span>
-<span class="sd">        :type filename: string</span>
-<span class="sd">        :param store_to_xcom_key: If this param is set, the operator will push</span>
-<span class="sd">            the contents of the downloaded file to XCom with the key set in this</span>
-<span class="sd">            parameter. If false, the downloaded data will not be pushed to XCom.</span>
-<span class="sd">        :type store_to_xcom_key: string</span>
-<span class="sd">        :param google_cloud_storage_conn_id: The connection ID to use when</span>
-<span class="sd">            connecting to Google cloud storage.</span>
-<span class="sd">        :type google_cloud_storage_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageDownloadOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">bucket</span><span class="p">,</span>
+                 <span class="nb">object</span><span class="p">,</span>
+                 <span class="n">filename</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">store_to_xcom_key</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageDownloadOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span> <span class="o">=</span> <span class="n">bucket</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">object</span> <span class="o">=</span> <span class="nb">object</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">filename</span> <span class="o">=</span> <span class="n">filename</span>
@@ -211,7 +235,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing download: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class= [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing download: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">, [...]
         <span class="n">hook</span> <span class="o">=</span> <span class="n">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
                                       <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">file_bytes</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">object</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
@@ -220,10 +244,13 @@
                 <span class="n">context</span><span class="p">[</span><span class="s1">&#39;ti&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">store_to_xcom_key</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">file_bytes</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">&#39;The size of the downloaded file is too large to push to XCom!&#39;</span><span class="p">)</span>
-        <span class="k">print</span><span class="p">(</span><span class="n">file_bytes</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">file_bytes</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -256,7 +283,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/gcs_to_bq.html b/_modules/airflow/contrib/operators/gcs_to_bq.html
new file mode 100644
index 0000000..1d61268
--- /dev/null
+++ b/_modules/airflow/contrib/operators/gcs_to_bq.html
@@ -0,0 +1,429 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.gcs_to_bq &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.gcs_to_bq</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.gcs_to_bq</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">json</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="k">import</span> <span class="n">GoogleCloudStorageHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+
+<div class="viewcode-block" id="GoogleCloudStorageToBigQueryOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageToBigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Loads files from Google cloud storage into BigQuery.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span> <span class="s1">&#39;source_objects&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;schema_object&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">bucket</span><span class="p">,</span>
+        <span class="n">source_objects</span><span class="p">,</span>
+        <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+        <span class="n">schema_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+        <span class="n">schema_object</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+        <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+        <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+        <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+        <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+        <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+        <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+        <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+        <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+        <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+        <span class="n">max_id_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+        <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+        <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
+        <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+        <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
+        <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{},</span>
+        <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+        <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        The schema to be used for the BigQuery table may be specified in one of</span>
+<span class="sd">        two ways. You may either directly pass the schema fields in, or you may</span>
+<span class="sd">        point the operator to a Google cloud storage object name. The object in</span>
+<span class="sd">        Google cloud storage must be a JSON file with the schema fields in it.</span>
+
+<span class="sd">        :param bucket: The bucket to load from.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param source_objects: List of Google cloud storage URIs to load from.</span>
+<span class="sd">            If source_format is &#39;DATASTORE_BACKUP&#39;, the list must only contain a single URI.</span>
+<span class="sd">        :type object: list</span>
+<span class="sd">        :param destination_project_dataset_table: The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery table to load data into. If &lt;project&gt; is not included, project will</span>
+<span class="sd">            be the project defined in the connection json.</span>
+<span class="sd">        :type destination_project_dataset_table: string</span>
+<span class="sd">        :param schema_fields: If set, the schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</span>
+<span class="sd">            Should not be set when source_format is &#39;DATASTORE_BACKUP&#39;.</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param schema_object: If set, a GCS object path pointing to a .json file that</span>
+<span class="sd">            contains the schema for the table.</span>
+<span class="sd">        :param schema_object: string</span>
+<span class="sd">        :param source_format: File format to export.</span>
+<span class="sd">        :type source_format: string</span>
+<span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param skip_leading_rows: Number of rows to skip when loading from a CSV.</span>
+<span class="sd">        :type skip_leading_rows: int</span>
+<span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
+<span class="sd">            ignore when running the job.</span>
+<span class="sd">        :type max_bad_records: int</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV file.</span>
+<span class="sd">        :type quote_character: string</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not (false).</span>
+<span class="sd">        :type allow_quoted_newlines: boolean</span>
+<span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing trailing columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an invalid error is</span>
+<span class="sd">            returned in the job result. Only applicable to CSV, ignored for other formats.</span>
+<span class="sd">        :type allow_jagged_rows: bool</span>
+<span class="sd">        :param max_id_key: If set, the name of a column in the BigQuery table</span>
+<span class="sd">            that&#39;s to be loaded. Thsi will be used to select the MAX value from</span>
+<span class="sd">            BigQuery after the load occurs. The results will be returned by the</span>
+<span class="sd">            execute() command, which in turn gets stored in XCom for future</span>
+<span class="sd">            operators to use. This can be helpful with incremental loads--during</span>
+<span class="sd">            future executions, you can pick up from the max ID.</span>
+<span class="sd">        :type max_id_key: string</span>
+<span class="sd">        :param bigquery_conn_id: Reference to a specific BigQuery hook.</span>
+<span class="sd">        :type bigquery_conn_id: string</span>
+<span class="sd">        :param google_cloud_storage_conn_id: Reference to a specific Google</span>
+<span class="sd">            cloud storage hook.</span>
+<span class="sd">        :type google_cloud_storage_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any. For this to</span>
+<span class="sd">            work, the service account making the request must have domain-wide</span>
+<span class="sd">            delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
+<span class="sd">            table to be updated as a side effect of the load job.</span>
+<span class="sd">        :type schema_update_options: list</span>
+<span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
+<span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageToBigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="c1"># GCS config</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span> <span class="o">=</span> <span class="n">bucket</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_objects</span> <span class="o">=</span> <span class="n">source_objects</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema_object</span> <span class="o">=</span> <span class="n">schema_object</span>
+
+        <span class="c1"># BQ config</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span> <span class="o">=</span> <span class="n">destination_project_dataset_table</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema_fields</span> <span class="o">=</span> <span class="n">schema_fields</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span> <span class="o">=</span> <span class="n">create_disposition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">skip_leading_rows</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">field_delimiter</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">max_bad_records</span> <span class="o">=</span> <span class="n">max_bad_records</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">quote_character</span> <span class="o">=</span> <span class="n">quote_character</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">allow_quoted_newlines</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">allow_jagged_rows</span> <span class="o">=</span> <span class="n">allow_jagged_rows</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">max_id_key</span> <span class="o">=</span> <span class="n">max_id_key</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span> <span class="o">=</span> <span class="n">google_cloud_storage_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema_update_options</span> <span class="o">=</span> <span class="n">schema_update_options</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="n">src_fmt_configs</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">bq_hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                               <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">schema_fields</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">schema_object</span> \
+                                  <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">source_format</span> <span class="o">!=</span> <span class="s1">&#39;DATASTORE_BACKUP&#39;</span><span class="p">:</span>
+            <span class="n">gcs_hook</span> <span class="o">=</span> <span class="n">GoogleCloudStorageHook</span><span class="p">(</span>
+                <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
+                <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+            <span class="n">schema_fields</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">gcs_hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">schema_object</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">&quot;utf-8&quot;</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">schema_fields</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">schema_fields</span>
+
+        <span class="n">source_uris</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;gs://</span><span class="si">{}</span><span class="s1">/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">)</span>
+                       <span class="k">for</span> <span class="n">source_object</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">source_objects</span><span class="p">]</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">bq_hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_load</span><span class="p">(</span>
+            <span class="n">destination_project_dataset_table</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+            <span class="n">schema_fields</span><span class="o">=</span><span class="n">schema_fields</span><span class="p">,</span>
+            <span class="n">source_uris</span><span class="o">=</span><span class="n">source_uris</span><span class="p">,</span>
+            <span class="n">source_format</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">source_format</span><span class="p">,</span>
+            <span class="n">create_disposition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">,</span>
+            <span class="n">skip_leading_rows</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">skip_leading_rows</span><span class="p">,</span>
+            <span class="n">write_disposition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span>
+            <span class="n">field_delimiter</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">field_delimiter</span><span class="p">,</span>
+            <span class="n">max_bad_records</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">max_bad_records</span><span class="p">,</span>
+            <span class="n">quote_character</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">quote_character</span><span class="p">,</span>
+            <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">allow_quoted_newlines</span><span class="p">,</span>
+            <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">allow_jagged_rows</span><span class="p">,</span>
+            <span class="n">schema_update_options</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">schema_update_options</span><span class="p">,</span>
+            <span class="n">src_fmt_configs</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">src_fmt_configs</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_id_key</span><span class="p">:</span>
+            <span class="n">cursor</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">&#39;SELECT MAX(</span><span class="si">{}</span><span class="s1">) FROM </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">max_id_key</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span><span class="p">))</span>
+            <span class="n">row</span> <span class="o">=</span> <span class="n">cursor</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+            <span class="n">max_id</span> <span class="o">=</span> <span class="n">row</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">if</span> <span class="n">row</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">else</span> <span class="mi">0</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Loaded BQ data with max </span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">=</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_id_key</span><span class="p">,</span> <span class="n">max_id</span>
+            <span class="p">)</span>
+            <span class="k">return</span> <span class="n">max_id</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/hipchat_operator.html b/_modules/airflow/contrib/operators/hipchat_operator.html
index 194afad..1e04bf3 100644
--- a/_modules/airflow/contrib/operators/hipchat_operator.html
+++ b/_modules/airflow/contrib/operators/hipchat_operator.html
@@ -13,6 +13,8 @@
 
   
   
+  
+  
 
   
 
@@ -80,7 +82,10 @@
           
             
             
-                <ul>
+              
+            
+            
+              <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
@@ -181,7 +186,6 @@
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">requests</span>
 <span class="kn">import</span> <span class="nn">json</span>
 
@@ -193,6 +197,7 @@
 <span class="sd">    at https://www.hipchat.com/docs/apiv2. Before using any HipChat API operators you need</span>
 <span class="sd">    to get an authentication token at https://www.hipchat.com/docs/apiv2/auth.</span>
 <span class="sd">    In the future additional HipChat operators will be derived from this class as well.</span>
+
 <span class="sd">    :param token: HipChat REST API authentication token</span>
 <span class="sd">    :type token: str</span>
 <span class="sd">    :param base_url: HipChat REST API base url.</span>
@@ -204,7 +209,7 @@
                  <span class="n">base_url</span><span class="o">=</span><span class="s1">&#39;https://api.hipchat.com/v2&#39;</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPIOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPIOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">token</span> <span class="o">=</span> <span class="n">token</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">base_url</span> <span class="o">=</span> <span class="n">base_url</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="kc">None</span>
@@ -230,8 +235,8 @@
                                         <span class="s1">&#39;Authorization&#39;</span><span class="p">:</span> <span class="s1">&#39;Bearer </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">token</span><span class="p">},</span>
                                     <span class="n">data</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">&gt;=</span> <span class="mi">400</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;HipChat API call failed: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-                          <span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;HipChat API call failed: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                           <span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span><span class="p">)</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;HipChat API call failed: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
                                    <span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span><span class="p">))</span></div>
 
@@ -240,6 +245,7 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Send notification to a specific HipChat room.</span>
 <span class="sd">    More info: https://www.hipchat.com/docs/apiv2/method/send_room_notification</span>
+
 <span class="sd">    :param room_id: Room in which to send notification on HipChat</span>
 <span class="sd">    :type room_id: str</span>
 <span class="sd">    :param message: The message body</span>
@@ -262,7 +268,7 @@
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">room_id</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPISendRoomNotificationOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPISendRoomNotificationOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">room_id</span> <span class="o">=</span> <span class="n">room_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">message</span> <span class="o">=</span> <span class="n">message</span>
         <span class="n">default_options</span> <span class="o">=</span> <span class="p">{</span>
diff --git a/_modules/airflow/contrib/operators/mlengine_operator.html b/_modules/airflow/contrib/operators/mlengine_operator.html
new file mode 100644
index 0000000..b322476
--- /dev/null
+++ b/_modules/airflow/contrib/operators/mlengine_operator.html
@@ -0,0 +1,795 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.mlengine_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.mlengine_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.mlengine_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
+<span class="c1"># contributor license agreements.  See the NOTICE file distributed with</span>
+<span class="c1"># this work for additional information regarding copyright ownership.</span>
+<span class="c1"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
+<span class="c1"># (the &#39;License&#39;); you may not use this file except in compliance with</span>
+<span class="c1"># the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#    http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &#39;AS IS&#39; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_mlengine_hook</span> <span class="k">import</span> <span class="n">MLEngineHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">apiclient</span> <span class="k">import</span> <span class="n">errors</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+<span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+
+
+<span class="k">def</span> <span class="nf">_create_prediction_input</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">region</span><span class="p">,</span>
+                             <span class="n">data_format</span><span class="p">,</span>
+                             <span class="n">input_paths</span><span class="p">,</span>
+                             <span class="n">output_path</span><span class="p">,</span>
+                             <span class="n">model_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
... 25393 lines suppressed ...


[airflow-site] 22/30: Fix version info for 1.10.5 docs

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit fe653b7f674d1306aa5a0e7532f1e14c189b617d
Author: kaxil <ka...@gmail.com>
AuthorDate: Wed Sep 4 13:57:46 2019 +0100

    Fix version info for 1.10.5 docs
---
 .buildinfo                                         |    2 +-
 1.10.5/.buildinfo                                  |    2 +-
 1.10.5/_api/airflow/contrib/executors/index.html   |    2 +-
 .../executors/kubernetes_executor/index.html       |    2 +-
 .../contrib/executors/mesos_executor/index.html    |    2 +-
 .../contrib/hooks/aws_athena_hook/index.html       |    2 +-
 .../contrib/hooks/aws_dynamodb_hook/index.html     |    2 +-
 .../contrib/hooks/aws_firehose_hook/index.html     |    2 +-
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   14 +-
 .../_api/airflow/contrib/hooks/aws_hook/index.html |    2 +-
 .../contrib/hooks/aws_lambda_hook/index.html       |    2 +-
 .../airflow/contrib/hooks/aws_logs_hook/index.html |    2 +-
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |    2 +-
 .../hooks/azure_container_instance_hook/index.html |    2 +-
 .../hooks/azure_container_registry_hook/index.html |    2 +-
 .../hooks/azure_container_volume_hook/index.html   |    2 +-
 .../contrib/hooks/azure_cosmos_hook/index.html     |    2 +-
 .../contrib/hooks/azure_data_lake_hook/index.html  |    2 +-
 .../contrib/hooks/azure_fileshare_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/bigquery_hook/index.html |   72 +-
 .../contrib/hooks/cassandra_hook/index.html        |   32 +-
 .../airflow/contrib/hooks/cloudant_hook/index.html |    2 +-
 .../contrib/hooks/databricks_hook/index.html       |    8 +-
 .../airflow/contrib/hooks/datadog_hook/index.html  |    2 +-
 .../contrib/hooks/datastore_hook/index.html        |    2 +-
 .../airflow/contrib/hooks/dingding_hook/index.html |    2 +-
 .../contrib/hooks/discord_webhook_hook/index.html  |    2 +-
 .../_api/airflow/contrib/hooks/emr_hook/index.html |    2 +-
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |    2 +-
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   16 +-
 .../contrib/hooks/gcp_api_base_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_bigtable_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |    2 +-
 .../contrib/hooks/gcp_compute_hook/index.html      |    2 +-
 .../contrib/hooks/gcp_container_hook/index.html    |    2 +-
 .../contrib/hooks/gcp_dataflow_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_dataproc_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |    2 +-
 .../contrib/hooks/gcp_function_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |    2 +-
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   10 +-
 .../hooks/gcp_natural_language_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_pubsub_hook/index.html       |    2 +-
 .../contrib/hooks/gcp_spanner_hook/index.html      |    2 +-
 .../hooks/gcp_speech_to_text_hook/index.html       |    2 +-
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |    2 +-
 .../hooks/gcp_text_to_speech_hook/index.html       |    2 +-
 .../contrib/hooks/gcp_transfer_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_translate_hook/index.html    |    2 +-
 .../hooks/gcp_video_intelligence_hook/index.html   |    2 +-
 .../contrib/hooks/gcp_vision_hook/index.html       |    2 +-
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |    2 +-
 .../airflow/contrib/hooks/grpc_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/imap_hook/index.html     |    2 +-
 1.10.5/_api/airflow/contrib/hooks/index.html       |    2 +-
 .../airflow/contrib/hooks/jenkins_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/jira_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/mongo_hook/index.html    |    2 +-
 .../airflow/contrib/hooks/openfaas_hook/index.html |    2 +-
 .../contrib/hooks/opsgenie_alert_hook/index.html   |    2 +-
 .../airflow/contrib/hooks/pinot_hook/index.html    |    2 +-
 .../contrib/hooks/qubole_check_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/qubole_hook/index.html   |    2 +-
 .../airflow/contrib/hooks/redis_hook/index.html    |    2 +-
 .../airflow/contrib/hooks/redshift_hook/index.html |    2 +-
 .../contrib/hooks/sagemaker_hook/index.html        |    2 +-
 .../contrib/hooks/salesforce_hook/index.html       |    2 +-
 .../airflow/contrib/hooks/segment_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/sftp_hook/index.html     |   28 +-
 .../contrib/hooks/slack_webhook_hook/index.html    |    2 +-
 .../contrib/hooks/snowflake_hook/index.html        |    2 +-
 .../contrib/hooks/spark_jdbc_hook/index.html       |    2 +-
 .../contrib/hooks/spark_jdbc_script/index.html     |    2 +-
 .../contrib/hooks/spark_sql_hook/index.html        |    2 +-
 .../contrib/hooks/spark_submit_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/sqoop_hook/index.html    |    2 +-
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |    2 +-
 .../airflow/contrib/hooks/vertica_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/wasb_hook/index.html     |    2 +-
 .../airflow/contrib/hooks/winrm_hook/index.html    |    2 +-
 .../operators/adls_list_operator/index.html        |   10 +-
 .../contrib/operators/adls_to_gcs/index.html       |   18 +-
 .../operators/aws_athena_operator/index.html       |    2 +-
 .../operators/aws_sqs_publish_operator/index.html  |    2 +-
 .../contrib/operators/awsbatch_operator/index.html |    2 +-
 .../azure_container_instances_operator/index.html  |   42 +-
 .../operators/azure_cosmos_operator/index.html     |    2 +-
 .../operators/bigquery_check_operator/index.html   |    4 +-
 .../contrib/operators/bigquery_get_data/index.html |   16 +-
 .../contrib/operators/bigquery_operator/index.html |   78 +-
 .../bigquery_table_delete_operator/index.html      |    2 +-
 .../operators/bigquery_to_bigquery/index.html      |    6 +-
 .../contrib/operators/bigquery_to_gcs/index.html   |    2 +-
 .../contrib/operators/cassandra_to_gcs/index.html  |    2 +-
 .../operators/databricks_operator/index.html       |   48 +-
 .../contrib/operators/dataflow_operator/index.html |   96 +-
 .../contrib/operators/dataproc_operator/index.html |   30 +-
 .../operators/datastore_export_operator/index.html |    2 +-
 .../operators/datastore_import_operator/index.html |    2 +-
 .../contrib/operators/dingding_operator/index.html |    2 +-
 .../operators/discord_webhook_operator/index.html  |    2 +-
 .../contrib/operators/druid_operator/index.html    |    2 +-
 .../contrib/operators/ecs_operator/index.html      |    2 +-
 .../operators/emr_add_steps_operator/index.html    |    2 +-
 .../emr_create_job_flow_operator/index.html        |    2 +-
 .../emr_terminate_job_flow_operator/index.html     |    2 +-
 .../contrib/operators/file_to_gcs/index.html       |    2 +-
 .../contrib/operators/file_to_wasb/index.html      |    2 +-
 .../operators/gcp_bigtable_operator/index.html     |    2 +-
 .../operators/gcp_cloud_build_operator/index.html  |    6 +-
 .../operators/gcp_compute_operator/index.html      |    2 +-
 .../operators/gcp_container_operator/index.html    |   34 +-
 .../contrib/operators/gcp_dlp_operator/index.html  |    2 +-
 .../operators/gcp_function_operator/index.html     |    2 +-
 .../gcp_natural_language_operator/index.html       |    2 +-
 .../operators/gcp_spanner_operator/index.html      |    2 +-
 .../gcp_speech_to_text_operator/index.html         |    2 +-
 .../contrib/operators/gcp_sql_operator/index.html  |    2 +-
 .../gcp_text_to_speech_operator/index.html         |    2 +-
 .../operators/gcp_transfer_operator/index.html     |   22 +-
 .../operators/gcp_translate_operator/index.html    |    2 +-
 .../gcp_translate_speech_operator/index.html       |    2 +-
 .../gcp_video_intelligence_operator/index.html     |    2 +-
 .../operators/gcp_vision_operator/index.html       |    2 +-
 .../contrib/operators/gcs_acl_operator/index.html  |    2 +-
 .../operators/gcs_delete_operator/index.html       |    2 +-
 .../operators/gcs_download_operator/index.html     |    2 +-
 .../contrib/operators/gcs_list_operator/index.html |   12 +-
 .../contrib/operators/gcs_operator/index.html      |   16 +-
 .../airflow/contrib/operators/gcs_to_bq/index.html |    6 +-
 .../contrib/operators/gcs_to_gcs/index.html        |   38 +-
 .../airflow/contrib/operators/gcs_to_s3/index.html |    2 +-
 .../contrib/operators/hipchat_operator/index.html  |    2 +-
 .../contrib/operators/hive_to_dynamodb/index.html  |    2 +-
 .../imap_attachment_to_s3_operator/index.html      |    2 +-
 1.10.5/_api/airflow/contrib/operators/index.html   |    2 +-
 .../jenkins_job_trigger_operator/index.html        |    2 +-
 .../contrib/operators/jira_operator/index.html     |    2 +-
 .../operators/kubernetes_pod_operator/index.html   |    2 +-
 .../contrib/operators/mlengine_operator/index.html |    8 +-
 .../contrib/operators/mongo_to_s3/index.html       |    2 +-
 .../contrib/operators/mssql_to_gcs/index.html      |   18 +-
 .../contrib/operators/mysql_to_gcs/index.html      |    2 +-
 .../operators/opsgenie_alert_operator/index.html   |    2 +-
 .../oracle_to_azure_data_lake_transfer/index.html  |    2 +-
 .../operators/oracle_to_oracle_transfer/index.html |    2 +-
 .../operators/postgres_to_gcs_operator/index.html  |    2 +-
 .../contrib/operators/pubsub_operator/index.html   |   88 +-
 .../operators/qubole_check_operator/index.html     |    2 +-
 .../contrib/operators/qubole_operator/index.html   |    2 +-
 .../operators/redis_publish_operator/index.html    |    2 +-
 .../operators/s3_copy_object_operator/index.html   |    2 +-
 .../s3_delete_objects_operator/index.html          |    2 +-
 .../contrib/operators/s3_list_operator/index.html  |   14 +-
 .../operators/s3_to_gcs_operator/index.html        |   14 +-
 .../operators/s3_to_sftp_operator/index.html       |    2 +-
 .../operators/sagemaker_base_operator/index.html   |    2 +-
 .../sagemaker_endpoint_config_operator/index.html  |    2 +-
 .../sagemaker_endpoint_operator/index.html         |   12 +-
 .../operators/sagemaker_model_operator/index.html  |    2 +-
 .../sagemaker_training_operator/index.html         |    2 +-
 .../sagemaker_transform_operator/index.html        |   10 +-
 .../operators/sagemaker_tuning_operator/index.html |    2 +-
 .../segment_track_event_operator/index.html        |    2 +-
 .../contrib/operators/sftp_operator/index.html     |   16 +-
 .../operators/sftp_to_s3_operator/index.html       |    2 +-
 .../operators/slack_webhook_operator/index.html    |    2 +-
 .../operators/snowflake_operator/index.html        |    2 +-
 .../operators/sns_publish_operator/index.html      |    2 +-
 .../operators/spark_jdbc_operator/index.html       |    2 +-
 .../operators/spark_sql_operator/index.html        |    2 +-
 .../operators/spark_submit_operator/index.html     |    2 +-
 .../contrib/operators/sql_to_gcs/index.html        |    2 +-
 .../contrib/operators/sqoop_operator/index.html    |    2 +-
 .../contrib/operators/ssh_operator/index.html      |    2 +-
 .../contrib/operators/vertica_operator/index.html  |    2 +-
 .../contrib/operators/vertica_to_hive/index.html   |    2 +-
 .../contrib/operators/vertica_to_mysql/index.html  |    2 +-
 .../operators/wasb_delete_blob_operator/index.html |    2 +-
 .../contrib/operators/winrm_operator/index.html    |    2 +-
 .../contrib/sensors/aws_athena_sensor/index.html   |    2 +-
 .../aws_glue_catalog_partition_sensor/index.html   |    2 +-
 .../sensors/aws_redshift_cluster_sensor/index.html |    2 +-
 .../contrib/sensors/aws_sqs_sensor/index.html      |    2 +-
 .../contrib/sensors/azure_cosmos_sensor/index.html |   12 +-
 .../airflow/contrib/sensors/bash_sensor/index.html |    2 +-
 .../contrib/sensors/bigquery_sensor/index.html     |    2 +-
 .../sensors/cassandra_record_sensor/index.html     |   10 +-
 .../sensors/cassandra_table_sensor/index.html      |    8 +-
 .../contrib/sensors/datadog_sensor/index.html      |    2 +-
 .../contrib/sensors/emr_base_sensor/index.html     |    2 +-
 .../contrib/sensors/emr_job_flow_sensor/index.html |    2 +-
 .../contrib/sensors/emr_step_sensor/index.html     |    2 +-
 .../airflow/contrib/sensors/file_sensor/index.html |    2 +-
 .../airflow/contrib/sensors/ftp_sensor/index.html  |    2 +-
 .../contrib/sensors/gcp_transfer_sensor/index.html |    2 +-
 .../airflow/contrib/sensors/gcs_sensor/index.html  |    2 +-
 .../airflow/contrib/sensors/hdfs_sensor/index.html |    2 +-
 .../sensors/imap_attachment_sensor/index.html      |    2 +-
 1.10.5/_api/airflow/contrib/sensors/index.html     |    2 +-
 .../airflow/contrib/sensors/jira_sensor/index.html |    2 +-
 .../contrib/sensors/mongo_sensor/index.html        |   10 +-
 .../contrib/sensors/pubsub_sensor/index.html       |    2 +-
 .../contrib/sensors/python_sensor/index.html       |    2 +-
 .../contrib/sensors/qubole_sensor/index.html       |    2 +-
 .../contrib/sensors/redis_key_sensor/index.html    |    2 +-
 .../sensors/redis_pub_sub_sensor/index.html        |    2 +-
 .../sensors/sagemaker_base_sensor/index.html       |    2 +-
 .../sensors/sagemaker_endpoint_sensor/index.html   |    2 +-
 .../sensors/sagemaker_training_sensor/index.html   |    2 +-
 .../sensors/sagemaker_transform_sensor/index.html  |    2 +-
 .../sensors/sagemaker_tuning_sensor/index.html     |    2 +-
 .../airflow/contrib/sensors/sftp_sensor/index.html |    2 +-
 .../airflow/contrib/sensors/wasb_sensor/index.html |    2 +-
 .../contrib/sensors/weekday_sensor/index.html      |   24 +-
 .../airflow/executors/base_executor/index.html     |    2 +-
 .../airflow/executors/celery_executor/index.html   |    2 +-
 .../airflow/executors/dask_executor/index.html     |    2 +-
 1.10.5/_api/airflow/executors/index.html           |    2 +-
 .../airflow/executors/local_executor/index.html    |    2 +-
 .../executors/sequential_executor/index.html       |    2 +-
 1.10.5/_api/airflow/hooks/S3_hook/index.html       |    2 +-
 1.10.5/_api/airflow/hooks/base_hook/index.html     |    2 +-
 1.10.5/_api/airflow/hooks/dbapi_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/docker_hook/index.html   |    2 +-
 1.10.5/_api/airflow/hooks/druid_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/hdfs_hook/index.html     |    2 +-
 1.10.5/_api/airflow/hooks/hive_hooks/index.html    |   60 +-
 1.10.5/_api/airflow/hooks/http_hook/index.html     |    6 +-
 1.10.5/_api/airflow/hooks/index.html               |    2 +-
 1.10.5/_api/airflow/hooks/jdbc_hook/index.html     |    2 +-
 1.10.5/_api/airflow/hooks/mssql_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/mysql_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/oracle_hook/index.html   |    2 +-
 1.10.5/_api/airflow/hooks/pig_hook/index.html      |    8 +-
 1.10.5/_api/airflow/hooks/postgres_hook/index.html |    2 +-
 1.10.5/_api/airflow/hooks/presto_hook/index.html   |    6 +-
 1.10.5/_api/airflow/hooks/samba_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/slack_hook/index.html    |    2 +-
 1.10.5/_api/airflow/hooks/sqlite_hook/index.html   |    2 +-
 1.10.5/_api/airflow/hooks/webhdfs_hook/index.html  |    2 +-
 1.10.5/_api/airflow/hooks/zendesk_hook/index.html  |    2 +-
 1.10.5/_api/airflow/models/base/index.html         |    2 +-
 1.10.5/_api/airflow/models/baseoperator/index.html |    8 +-
 1.10.5/_api/airflow/models/chart/index.html        |    2 +-
 1.10.5/_api/airflow/models/connection/index.html   |    2 +-
 1.10.5/_api/airflow/models/crypto/index.html       |    2 +-
 1.10.5/_api/airflow/models/dag/index.html          |    2 +-
 1.10.5/_api/airflow/models/dagbag/index.html       |    2 +-
 1.10.5/_api/airflow/models/dagpickle/index.html    |    2 +-
 1.10.5/_api/airflow/models/dagrun/index.html       |    2 +-
 1.10.5/_api/airflow/models/errors/index.html       |    2 +-
 1.10.5/_api/airflow/models/index.html              |    8 +-
 1.10.5/_api/airflow/models/knownevent/index.html   |    2 +-
 1.10.5/_api/airflow/models/kubernetes/index.html   |    2 +-
 1.10.5/_api/airflow/models/log/index.html          |    2 +-
 1.10.5/_api/airflow/models/pool/index.html         |    2 +-
 1.10.5/_api/airflow/models/skipmixin/index.html    |    2 +-
 1.10.5/_api/airflow/models/slamiss/index.html      |    2 +-
 1.10.5/_api/airflow/models/taskfail/index.html     |    2 +-
 1.10.5/_api/airflow/models/taskinstance/index.html |    2 +-
 .../_api/airflow/models/taskreschedule/index.html  |    2 +-
 1.10.5/_api/airflow/models/user/index.html         |    2 +-
 1.10.5/_api/airflow/models/variable/index.html     |    2 +-
 1.10.5/_api/airflow/models/xcom/index.html         |    2 +-
 .../airflow/operators/bash_operator/index.html     |    2 +-
 .../airflow/operators/branch_operator/index.html   |    2 +-
 .../airflow/operators/check_operator/index.html    |    2 +-
 .../airflow/operators/dagrun_operator/index.html   |    2 +-
 .../airflow/operators/docker_operator/index.html   |    2 +-
 .../operators/druid_check_operator/index.html      |    2 +-
 .../airflow/operators/dummy_operator/index.html    |    2 +-
 .../airflow/operators/email_operator/index.html    |    2 +-
 .../airflow/operators/generic_transfer/index.html  |    2 +-
 .../airflow/operators/hive_operator/index.html     |    2 +-
 .../operators/hive_stats_operator/index.html       |    4 +-
 .../airflow/operators/hive_to_druid/index.html     |    2 +-
 .../airflow/operators/hive_to_mysql/index.html     |    2 +-
 .../operators/hive_to_samba_operator/index.html    |    2 +-
 .../airflow/operators/http_operator/index.html     |    2 +-
 1.10.5/_api/airflow/operators/index.html           |    8 +-
 .../airflow/operators/jdbc_operator/index.html     |    2 +-
 .../operators/latest_only_operator/index.html      |    2 +-
 .../airflow/operators/mssql_operator/index.html    |    2 +-
 .../airflow/operators/mssql_to_hive/index.html     |    2 +-
 .../airflow/operators/mysql_operator/index.html    |    2 +-
 .../airflow/operators/mysql_to_hive/index.html     |    2 +-
 .../airflow/operators/oracle_operator/index.html   |    2 +-
 .../_api/airflow/operators/pig_operator/index.html |    2 +-
 .../airflow/operators/postgres_operator/index.html |    2 +-
 .../operators/presto_check_operator/index.html     |    2 +-
 .../airflow/operators/presto_to_mysql/index.html   |    2 +-
 .../airflow/operators/python_operator/index.html   |    2 +-
 .../operators/redshift_to_s3_operator/index.html   |    2 +-
 .../s3_file_transform_operator/index.html          |    2 +-
 .../operators/s3_to_hive_operator/index.html       |    2 +-
 .../operators/s3_to_redshift_operator/index.html   |    2 +-
 1.10.5/_api/airflow/operators/sensors/index.html   |    2 +-
 .../airflow/operators/slack_operator/index.html    |    2 +-
 .../airflow/operators/sqlite_operator/index.html   |    2 +-
 .../airflow/operators/subdag_operator/index.html   |    2 +-
 .../sensors/base_sensor_operator/index.html        |    2 +-
 .../sensors/external_task_sensor/index.html        |    2 +-
 1.10.5/_api/airflow/sensors/hdfs_sensor/index.html |    2 +-
 .../sensors/hive_partition_sensor/index.html       |    2 +-
 1.10.5/_api/airflow/sensors/http_sensor/index.html |    2 +-
 1.10.5/_api/airflow/sensors/index.html             |    2 +-
 .../sensors/metastore_partition_sensor/index.html  |    2 +-
 .../sensors/named_hive_partition_sensor/index.html |    2 +-
 .../_api/airflow/sensors/s3_key_sensor/index.html  |    2 +-
 .../airflow/sensors/s3_prefix_sensor/index.html    |    2 +-
 1.10.5/_api/airflow/sensors/sql_sensor/index.html  |    2 +-
 .../airflow/sensors/time_delta_sensor/index.html   |    2 +-
 1.10.5/_api/airflow/sensors/time_sensor/index.html |    2 +-
 .../airflow/sensors/web_hdfs_sensor/index.html     |    2 +-
 1.10.5/_api/index.html                             |    2 +-
 .../example_dags/example_dingding_operator.html    |  260 ++--
 .../example_gcp_bigtable_operators.html            |  126 +-
 .../example_dags/example_gcp_cloud_build.html      |  106 +-
 .../contrib/example_dags/example_gcp_compute.html  |  104 +-
 .../example_dags/example_gcp_compute_igm.html      |  130 +-
 .../contrib/example_dags/example_gcp_function.html |  134 +-
 .../example_dags/example_gcp_natural_language.html |  128 +-
 .../contrib/example_dags/example_gcp_spanner.html  |  142 +--
 .../contrib/example_dags/example_gcp_speech.html   |  104 +-
 .../contrib/example_dags/example_gcp_sql.html      |  402 +++---
 .../example_dags/example_gcp_sql_query.html        |  374 +++---
 .../contrib/example_dags/example_gcp_transfer.html |  172 +--
 .../example_dags/example_gcp_translate.html        |   66 +-
 .../example_gcp_video_intelligence.html            |  120 +-
 .../contrib/example_dags/example_gcp_vision.html   |  412 +++---
 .../contrib/example_dags/example_gcs_acl.html      |   70 +-
 .../example_dags/example_gcs_to_bq_operator.html   |   76 +-
 .../contrib/executors/kubernetes_executor.html     |  564 ++++-----
 .../airflow/contrib/executors/mesos_executor.html  |  182 +--
 1.10.5/_modules/airflow/contrib/hooks.html         |  120 +-
 .../airflow/contrib/hooks/aws_athena_hook.html     |   94 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   52 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   42 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |   70 +-
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  166 +--
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   48 +-
 .../airflow/contrib/hooks/aws_logs_hook.html       |   58 +-
 .../airflow/contrib/hooks/aws_sns_hook.html        |   46 +-
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   44 +-
 .../hooks/azure_container_instance_hook.html       |   66 +-
 .../hooks/azure_container_registry_hook.html       |   40 +-
 .../contrib/hooks/azure_container_volume_hook.html |   50 +-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  204 +--
 .../contrib/hooks/azure_data_lake_hook.html        |   54 +-
 .../contrib/hooks/azure_fileshare_hook.html        |   44 +-
 .../airflow/contrib/hooks/bigquery_hook.html       | 1162 ++++++++---------
 .../airflow/contrib/hooks/cassandra_hook.html      |  114 +-
 .../airflow/contrib/hooks/cloudant_hook.html       |   68 +-
 .../airflow/contrib/hooks/databricks_hook.html     |  144 +--
 .../airflow/contrib/hooks/datadog_hook.html        |   70 +-
 .../airflow/contrib/hooks/datastore_hook.html      |  106 +-
 .../airflow/contrib/hooks/dingding_hook.html       |   96 +-
 .../contrib/hooks/discord_webhook_hook.html        |   90 +-
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   46 +-
 1.10.5/_modules/airflow/contrib/hooks/fs_hook.html |   44 +-
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  102 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  138 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   80 +-
 .../contrib/hooks/gcp_cloud_build_hook.html        |   80 +-
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  144 +--
 .../airflow/contrib/hooks/gcp_container_hook.html  |   90 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  234 ++--
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  270 ++--
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  508 ++++----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   94 +-
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   66 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  128 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |   58 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  116 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  106 +-
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   48 +-
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  520 ++++----
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   48 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  170 +--
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   46 +-
 .../contrib/hooks/gcp_video_intelligence_hook.html |   62 +-
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  280 ++--
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  224 ++--
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   68 +-
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  112 +-
 .../airflow/contrib/hooks/jenkins_hook.html        |   60 +-
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   88 +-
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  104 +-
 .../airflow/contrib/hooks/openfaas_hook.html       |   88 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   58 +-
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   72 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |   96 +-
 .../airflow/contrib/hooks/qubole_hook.html         |  188 +--
 .../_modules/airflow/contrib/hooks/redis_hook.html |   56 +-
 .../airflow/contrib/hooks/redshift_hook.html       |   68 +-
 .../airflow/contrib/hooks/sagemaker_hook.html      |  336 ++---
 .../airflow/contrib/hooks/salesforce_hook.html     |  204 +--
 .../airflow/contrib/hooks/segment_hook.html        |   62 +-
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  124 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   90 +-
 .../airflow/contrib/hooks/snowflake_hook.html      |  104 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  172 +--
 .../airflow/contrib/hooks/spark_jdbc_script.html   |  138 +-
 .../airflow/contrib/hooks/spark_sql_hook.html      |  110 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |  414 +++---
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  198 +--
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  162 +--
 .../airflow/contrib/hooks/vertica_hook.html        |   58 +-
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   56 +-
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  172 +--
 1.10.5/_modules/airflow/contrib/operators.html     |   90 +-
 .../contrib/operators/adls_list_operator.html      |   48 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |   64 +-
 .../contrib/operators/aws_athena_operator.html     |   82 +-
 .../operators/aws_sqs_publish_operator.html        |   50 +-
 .../contrib/operators/awsbatch_operator.html       |  116 +-
 .../azure_container_instances_operator.html        |  164 +--
 .../contrib/operators/azure_cosmos_operator.html   |   54 +-
 .../contrib/operators/bigquery_check_operator.html |   70 +-
 .../contrib/operators/bigquery_get_data.html       |   64 +-
 .../contrib/operators/bigquery_operator.html       |  250 ++--
 .../operators/bigquery_table_delete_operator.html  |   52 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   62 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |   62 +-
 .../contrib/operators/cassandra_to_gcs.html        |  240 ++--
 .../contrib/operators/databricks_operator.html     |  192 +--
 .../contrib/operators/dataflow_operator.html       |  120 +-
 .../contrib/operators/dataproc_operator.html       |  554 ++++----
 .../operators/datastore_export_operator.html       |   68 +-
 .../operators/datastore_import_operator.html       |   64 +-
 .../contrib/operators/dingding_operator.html       |   56 +-
 .../operators/discord_webhook_operator.html        |   62 +-
 .../airflow/contrib/operators/druid_operator.html  |   54 +-
 .../airflow/contrib/operators/ecs_operator.html    |  156 +--
 .../contrib/operators/emr_add_steps_operator.html  |   58 +-
 .../operators/emr_create_job_flow_operator.html    |   64 +-
 .../operators/emr_terminate_job_flow_operator.html |   54 +-
 .../airflow/contrib/operators/file_to_gcs.html     |   52 +-
 .../airflow/contrib/operators/file_to_wasb.html    |   52 +-
 .../contrib/operators/gcp_bigtable_operator.html   |  214 ++--
 .../operators/gcp_cloud_build_operator.html        |   92 +-
 .../contrib/operators/gcp_compute_operator.html    |  294 ++---
 .../contrib/operators/gcp_container_operator.html  |  158 +--
 .../contrib/operators/gcp_dlp_operator.html        |  710 +++++------
 .../contrib/operators/gcp_function_operator.html   |  198 +--
 .../operators/gcp_natural_language_operator.html   |  124 +-
 .../contrib/operators/gcp_spanner_operator.html    |  236 ++--
 .../operators/gcp_speech_to_text_operator.html     |   62 +-
 .../contrib/operators/gcp_sql_operator.html        |  456 +++----
 .../operators/gcp_text_to_speech_operator.html     |   80 +-
 .../contrib/operators/gcp_transfer_operator.html   |  236 ++--
 .../contrib/operators/gcp_translate_operator.html  |   52 +-
 .../operators/gcp_translate_speech_operator.html   |   66 +-
 .../operators/gcp_video_intelligence_operator.html |  116 +-
 .../contrib/operators/gcp_vision_operator.html     |  380 +++---
 .../contrib/operators/gcs_acl_operator.html        |   66 +-
 .../contrib/operators/gcs_delete_operator.html     |   54 +-
 .../contrib/operators/gcs_download_operator.html   |   58 +-
 .../contrib/operators/gcs_list_operator.html       |   54 +-
 .../airflow/contrib/operators/gcs_operator.html    |   64 +-
 .../airflow/contrib/operators/gcs_to_bq.html       |  116 +-
 .../airflow/contrib/operators/gcs_to_gcs.html      |   78 +-
 .../airflow/contrib/operators/gcs_to_s3.html       |   86 +-
 .../contrib/operators/hipchat_operator.html        |   92 +-
 .../contrib/operators/hive_to_dynamodb.html        |   70 +-
 .../operators/imap_attachment_to_s3_operator.html  |   56 +-
 .../operators/jenkins_job_trigger_operator.html    |  180 +--
 .../airflow/contrib/operators/jira_operator.html   |   76 +-
 .../contrib/operators/kubernetes_pod_operator.html |   96 +-
 .../contrib/operators/mlengine_operator.html       |  316 ++---
 .../airflow/contrib/operators/mongo_to_s3.html     |   70 +-
 .../airflow/contrib/operators/mssql_to_gcs.html    |   58 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |  104 +-
 .../contrib/operators/opsgenie_alert_operator.html |   78 +-
 .../oracle_to_azure_data_lake_transfer.html        |   62 +-
 .../operators/oracle_to_oracle_transfer.html       |   54 +-
 .../operators/postgres_to_gcs_operator.html        |   82 +-
 .../airflow/contrib/operators/pubsub_operator.html |  102 +-
 .../contrib/operators/qubole_check_operator.html   |   98 +-
 .../airflow/contrib/operators/qubole_operator.html |   84 +-
 .../contrib/operators/redis_publish_operator.html  |   48 +-
 .../contrib/operators/s3_copy_object_operator.html |   54 +-
 .../operators/s3_delete_objects_operator.html      |   56 +-
 .../contrib/operators/s3_list_operator.html        |   54 +-
 .../contrib/operators/s3_to_gcs_operator.html      |  122 +-
 .../contrib/operators/s3_to_sftp_operator.html     |   50 +-
 .../contrib/operators/sagemaker_base_operator.html |   62 +-
 .../sagemaker_endpoint_config_operator.html        |   52 +-
 .../operators/sagemaker_endpoint_operator.html     |   96 +-
 .../operators/sagemaker_model_operator.html        |   54 +-
 .../operators/sagemaker_training_operator.html     |   66 +-
 .../operators/sagemaker_transform_operator.html    |   80 +-
 .../operators/sagemaker_tuning_operator.html       |   72 +-
 .../operators/segment_track_event_operator.html    |   52 +-
 .../airflow/contrib/operators/sftp_operator.html   |  100 +-
 .../contrib/operators/sftp_to_s3_operator.html     |   52 +-
 .../contrib/operators/slack_webhook_operator.html  |   68 +-
 .../contrib/operators/snowflake_operator.html      |   54 +-
 .../contrib/operators/sns_publish_operator.html    |   46 +-
 .../contrib/operators/spark_jdbc_operator.html     |   98 +-
 .../contrib/operators/spark_sql_operator.html      |   70 +-
 .../contrib/operators/spark_submit_operator.html   |  100 +-
 .../airflow/contrib/operators/sql_to_gcs.html      |  156 +--
 .../airflow/contrib/operators/sqoop_operator.html  |  144 +--
 .../airflow/contrib/operators/ssh_operator.html    |  114 +-
 .../contrib/operators/vertica_operator.html        |   50 +-
 .../airflow/contrib/operators/vertica_to_hive.html |   92 +-
 .../contrib/operators/vertica_to_mysql.html        |   92 +-
 .../operators/wasb_delete_blob_operator.html       |   52 +-
 .../airflow/contrib/operators/winrm_operator.html  |  100 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |   62 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |   60 +-
 .../sensors/aws_redshift_cluster_sensor.html       |   48 +-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   64 +-
 .../contrib/sensors/azure_cosmos_sensor.html       |   48 +-
 .../airflow/contrib/sensors/bash_sensor.html       |   70 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   52 +-
 .../contrib/sensors/cassandra_record_sensor.html   |   44 +-
 .../contrib/sensors/cassandra_table_sensor.html    |   44 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   70 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |   60 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |   60 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |   60 +-
 .../airflow/contrib/sensors/file_sensor.html       |   60 +-
 .../airflow/contrib/sensors/ftp_sensor.html        |   56 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |   54 +-
 .../airflow/contrib/sensors/gcs_sensor.html        |  108 +-
 .../airflow/contrib/sensors/hdfs_sensor.html       |   62 +-
 .../contrib/sensors/imap_attachment_sensor.html    |   50 +-
 .../airflow/contrib/sensors/jira_sensor.html       |  102 +-
 .../airflow/contrib/sensors/mongo_sensor.html      |   50 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |   56 +-
 .../airflow/contrib/sensors/python_sensor.html     |   54 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   66 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |   46 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |   58 +-
 .../contrib/sensors/sagemaker_base_sensor.html     |   68 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   48 +-
 .../contrib/sensors/sagemaker_training_sensor.html |   70 +-
 .../sensors/sagemaker_transform_sensor.html        |   48 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   48 +-
 .../airflow/contrib/sensors/sftp_sensor.html       |   50 +-
 .../airflow/contrib/sensors/wasb_sensor.html       |   62 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |   50 +-
 .../example_dags/example_bash_operator.html        |   70 +-
 .../example_dags/example_python_operator.html      |   66 +-
 1.10.5/_modules/airflow/exceptions.html            |   44 +-
 1.10.5/_modules/airflow/executors.html             |   74 +-
 .../_modules/airflow/executors/base_executor.html  |  112 +-
 .../airflow/executors/celery_executor.html         |  126 +-
 .../_modules/airflow/executors/dask_executor.html  |   78 +-
 .../_modules/airflow/executors/local_executor.html |   76 +-
 .../airflow/executors/sequential_executor.html     |   48 +-
 1.10.5/_modules/airflow/hooks.html                 |  134 +-
 1.10.5/_modules/airflow/hooks/S3_hook.html         |  224 ++--
 1.10.5/_modules/airflow/hooks/base_hook.html       |   64 +-
 1.10.5/_modules/airflow/hooks/dbapi_hook.html      |  134 +-
 1.10.5/_modules/airflow/hooks/docker_hook.html     |   68 +-
 1.10.5/_modules/airflow/hooks/druid_hook.html      |  126 +-
 1.10.5/_modules/airflow/hooks/hdfs_hook.html       |   72 +-
 1.10.5/_modules/airflow/hooks/hive_hooks.html      |  508 ++++----
 1.10.5/_modules/airflow/hooks/http_hook.html       |  114 +-
 1.10.5/_modules/airflow/hooks/jdbc_hook.html       |   50 +-
 1.10.5/_modules/airflow/hooks/mssql_hook.html      |   48 +-
 1.10.5/_modules/airflow/hooks/mysql_hook.html      |  136 +-
 1.10.5/_modules/airflow/hooks/oracle_hook.html     |  202 +--
 1.10.5/_modules/airflow/hooks/pig_hook.html        |   68 +-
 1.10.5/_modules/airflow/hooks/postgres_hook.html   |   90 +-
 1.10.5/_modules/airflow/hooks/presto_hook.html     |   84 +-
 1.10.5/_modules/airflow/hooks/samba_hook.html      |   38 +-
 1.10.5/_modules/airflow/hooks/slack_hook.html      |   56 +-
 1.10.5/_modules/airflow/hooks/sqlite_hook.html     |   44 +-
 1.10.5/_modules/airflow/hooks/webhdfs_hook.html    |   68 +-
 1.10.5/_modules/airflow/hooks/zendesk_hook.html    |   88 +-
 1.10.5/_modules/airflow/macros.html                |   72 +-
 1.10.5/_modules/airflow/macros/hive.html           |   64 +-
 1.10.5/_modules/airflow/models.html                |   84 +-
 1.10.5/_modules/airflow/models/base.html           |   44 +-
 1.10.5/_modules/airflow/models/baseoperator.html   |  406 +++---
 1.10.5/_modules/airflow/models/chart.html          |   60 +-
 1.10.5/_modules/airflow/models/connection.html     |  254 ++--
 1.10.5/_modules/airflow/models/crypto.html         |   60 +-
 1.10.5/_modules/airflow/models/dag.html            |  664 +++++-----
 1.10.5/_modules/airflow/models/dagbag.html         |  218 ++--
 1.10.5/_modules/airflow/models/dagpickle.html      |   46 +-
 1.10.5/_modules/airflow/models/dagrun.html         |  212 ++--
 1.10.5/_modules/airflow/models/errors.html         |   42 +-
 1.10.5/_modules/airflow/models/knownevent.html     |   58 +-
 1.10.5/_modules/airflow/models/kubernetes.html     |   62 +-
 1.10.5/_modules/airflow/models/log.html            |   62 +-
 1.10.5/_modules/airflow/models/pool.html           |   64 +-
 1.10.5/_modules/airflow/models/skipmixin.html      |   62 +-
 1.10.5/_modules/airflow/models/slamiss.html        |   52 +-
 1.10.5/_modules/airflow/models/taskfail.html       |   54 +-
 1.10.5/_modules/airflow/models/taskinstance.html   |  752 +++++------
 1.10.5/_modules/airflow/models/taskreschedule.html |   70 +-
 1.10.5/_modules/airflow/models/user.html           |   46 +-
 1.10.5/_modules/airflow/models/variable.html       |  122 +-
 1.10.5/_modules/airflow/models/xcom.html           |  174 +--
 1.10.5/_modules/airflow/operators.html             |  196 +--
 .../_modules/airflow/operators/bash_operator.html  |   90 +-
 .../airflow/operators/branch_operator.html         |   42 +-
 .../_modules/airflow/operators/check_operator.html |  170 +--
 .../airflow/operators/dagrun_operator.html         |   68 +-
 .../airflow/operators/docker_operator.html         |  152 +--
 .../airflow/operators/druid_check_operator.html    |   52 +-
 .../_modules/airflow/operators/dummy_operator.html |   42 +-
 .../_modules/airflow/operators/email_operator.html |   56 +-
 .../airflow/operators/generic_transfer.html        |   56 +-
 .../_modules/airflow/operators/hive_operator.html  |   94 +-
 .../airflow/operators/hive_stats_operator.html     |  158 +--
 .../_modules/airflow/operators/hive_to_druid.html  |  208 +--
 .../_modules/airflow/operators/hive_to_mysql.html  |   72 +-
 .../airflow/operators/hive_to_samba_operator.html  |   54 +-
 .../_modules/airflow/operators/http_operator.html  |   64 +-
 .../_modules/airflow/operators/jdbc_operator.html  |   50 +-
 .../airflow/operators/latest_only_operator.html    |   70 +-
 .../_modules/airflow/operators/mssql_operator.html |   52 +-
 .../_modules/airflow/operators/mssql_to_hive.html  |   80 +-
 .../_modules/airflow/operators/mysql_operator.html |   52 +-
 .../_modules/airflow/operators/mysql_to_hive.html  |   94 +-
 .../airflow/operators/oracle_operator.html         |   52 +-
 .../_modules/airflow/operators/pig_operator.html   |   56 +-
 .../airflow/operators/postgres_operator.html       |   54 +-
 .../airflow/operators/presto_check_operator.html   |   54 +-
 .../airflow/operators/presto_to_mysql.html         |   58 +-
 .../airflow/operators/python_operator.html         |  264 ++--
 .../airflow/operators/redshift_to_s3_operator.html |  110 +-
 .../operators/s3_file_transform_operator.html      |   90 +-
 .../airflow/operators/s3_to_hive_operator.html     |  156 +--
 .../airflow/operators/s3_to_redshift_operator.html |   74 +-
 1.10.5/_modules/airflow/operators/sensors.html     |   58 +-
 .../_modules/airflow/operators/slack_operator.html |   92 +-
 .../airflow/operators/sqlite_operator.html         |   50 +-
 .../airflow/operators/subdag_operator.html         |   88 +-
 1.10.5/_modules/airflow/sensors.html               |   90 +-
 .../airflow/sensors/base_sensor_operator.html      |   86 +-
 .../airflow/sensors/external_task_sensor.html      |   90 +-
 1.10.5/_modules/airflow/sensors/hdfs_sensor.html   |   96 +-
 .../airflow/sensors/hive_partition_sensor.html     |   60 +-
 1.10.5/_modules/airflow/sensors/http_sensor.html   |   64 +-
 .../sensors/metastore_partition_sensor.html        |   86 +-
 .../sensors/named_hive_partition_sensor.html       |   68 +-
 1.10.5/_modules/airflow/sensors/s3_key_sensor.html |   62 +-
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   54 +-
 1.10.5/_modules/airflow/sensors/sql_sensor.html    |   76 +-
 .../airflow/sensors/time_delta_sensor.html         |   46 +-
 1.10.5/_modules/airflow/sensors/time_sensor.html   |   42 +-
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   46 +-
 .../_modules/airflow/utils/log/logging_mixin.html  |   84 +-
 1.10.5/_modules/index.html                         |    2 +-
 1.10.5/_static/basic.css                           |   11 +-
 1.10.5/_static/documentation_options.js            |    2 +-
 .../_static/jquery-3.4.1.js                        | 1339 ++++++++++++--------
 1.10.5/_static/jquery.js                           |    6 +-
 1.10.5/_static/pygments.css                        |    6 +
 1.10.5/api.html                                    |   12 +-
 1.10.5/changelog.html                              |    2 +-
 1.10.5/cli.html                                    |   72 +-
 1.10.5/concepts.html                               |  240 ++--
 1.10.5/faq.html                                    |   10 +-
 1.10.5/genindex.html                               |  622 ++++-----
 1.10.5/howto/check-health.html                     |    4 +-
 1.10.5/howto/connection/aws.html                   |    4 +-
 1.10.5/howto/connection/gcp.html                   |    4 +-
 1.10.5/howto/connection/gcp_sql.html               |    6 +-
 1.10.5/howto/connection/grpc.html                  |    2 +-
 1.10.5/howto/connection/index.html                 |    2 +-
 1.10.5/howto/connection/mysql.html                 |    8 +-
 1.10.5/howto/connection/oracle.html                |    6 +-
 1.10.5/howto/connection/postgres.html              |    6 +-
 1.10.5/howto/connection/ssh.html                   |    6 +-
 1.10.5/howto/define_extra_link.html                |   14 +-
 1.10.5/howto/executor/use-celery.html              |    6 +-
 1.10.5/howto/executor/use-dask.html                |   10 +-
 1.10.5/howto/executor/use-mesos.html               |    6 +-
 1.10.5/howto/index.html                            |    2 +-
 1.10.5/howto/initialize-database.html              |    4 +-
 1.10.5/howto/operator/bash.html                    |   26 +-
 1.10.5/howto/operator/dingding.html                |   72 +-
 1.10.5/howto/operator/gcp/bigtable.html            |   62 +-
 1.10.5/howto/operator/gcp/cloud_build.html         |   42 +-
 1.10.5/howto/operator/gcp/compute.html             |  130 +-
 1.10.5/howto/operator/gcp/function.html            |   88 +-
 1.10.5/howto/operator/gcp/gcs.html                 |   52 +-
 1.10.5/howto/operator/gcp/index.html               |    2 +-
 1.10.5/howto/operator/gcp/natural_language.html    |   62 +-
 1.10.5/howto/operator/gcp/spanner.html             |  164 +--
 1.10.5/howto/operator/gcp/speech.html              |   50 +-
 1.10.5/howto/operator/gcp/sql.html                 |  648 +++++-----
 1.10.5/howto/operator/gcp/transfer.html            |  214 ++--
 1.10.5/howto/operator/gcp/translate-speech.html    |   18 +-
 1.10.5/howto/operator/gcp/translate.html           |   22 +-
 1.10.5/howto/operator/gcp/video.html               |   62 +-
 1.10.5/howto/operator/gcp/vision.html              |  332 ++---
 1.10.5/howto/operator/index.html                   |    2 +-
 1.10.5/howto/operator/python.html                  |   16 +-
 1.10.5/howto/run-behind-proxy.html                 |   14 +-
 1.10.5/howto/run-with-systemd.html                 |    2 +-
 1.10.5/howto/run-with-upstart.html                 |    4 +-
 1.10.5/howto/secure-connections.html               |   10 +-
 1.10.5/howto/set-config.html                       |    8 +-
 1.10.5/howto/tracking-user-activity.html           |    8 +-
 1.10.5/howto/use-test-config.html                  |    4 +-
 1.10.5/howto/write-logs.html                       |   68 +-
 1.10.5/http-routingtable.html                      |    2 +-
 1.10.5/index.html                                  |    2 +-
 1.10.5/installation.html                           |    8 +-
 1.10.5/integration.html                            |    2 +-
 1.10.5/kubernetes.html                             |   96 +-
 1.10.5/license.html                                |   34 +-
 1.10.5/lineage.html                                |   34 +-
 1.10.5/macros.html                                 |   16 +-
 1.10.5/metrics.html                                |    8 +-
 1.10.5/objects.inv                                 |  Bin 39960 -> 39960 bytes
 1.10.5/plugins.html                                |  134 +-
 1.10.5/privacy_notice.html                         |    2 +-
 1.10.5/profiling.html                              |    2 +-
 1.10.5/project.html                                |    2 +-
 1.10.5/py-modindex.html                            |    2 +-
 1.10.5/scheduler.html                              |   26 +-
 1.10.5/search.html                                 |    2 +-
 1.10.5/security.html                               |  240 ++--
 1.10.5/start.html                                  |   30 +-
 1.10.5/timezone.html                               |   32 +-
 1.10.5/tutorial.html                               |  232 ++--
 1.10.5/ui.html                                     |    2 +-
 _api/airflow/contrib/executors/index.html          |    2 +-
 .../executors/kubernetes_executor/index.html       |    2 +-
 .../contrib/executors/mesos_executor/index.html    |    2 +-
 .../contrib/hooks/aws_athena_hook/index.html       |    2 +-
 .../contrib/hooks/aws_dynamodb_hook/index.html     |    2 +-
 .../contrib/hooks/aws_firehose_hook/index.html     |    2 +-
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   14 +-
 _api/airflow/contrib/hooks/aws_hook/index.html     |    2 +-
 .../contrib/hooks/aws_lambda_hook/index.html       |    2 +-
 .../airflow/contrib/hooks/aws_logs_hook/index.html |    2 +-
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |    2 +-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |    2 +-
 .../hooks/azure_container_instance_hook/index.html |    2 +-
 .../hooks/azure_container_registry_hook/index.html |    2 +-
 .../hooks/azure_container_volume_hook/index.html   |    2 +-
 .../contrib/hooks/azure_cosmos_hook/index.html     |    2 +-
 .../contrib/hooks/azure_data_lake_hook/index.html  |    2 +-
 .../contrib/hooks/azure_fileshare_hook/index.html  |    2 +-
 .../airflow/contrib/hooks/bigquery_hook/index.html |   72 +-
 .../contrib/hooks/cassandra_hook/index.html        |   32 +-
 .../airflow/contrib/hooks/cloudant_hook/index.html |    2 +-
 .../contrib/hooks/databricks_hook/index.html       |    8 +-
 _api/airflow/contrib/hooks/datadog_hook/index.html |    2 +-
 .../contrib/hooks/datastore_hook/index.html        |    2 +-
 .../airflow/contrib/hooks/dingding_hook/index.html |    2 +-
 .../contrib/hooks/discord_webhook_hook/index.html  |    2 +-
 _api/airflow/contrib/hooks/emr_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/fs_hook/index.html      |    2 +-
 _api/airflow/contrib/hooks/ftp_hook/index.html     |   16 +-
 .../contrib/hooks/gcp_api_base_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_bigtable_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |    2 +-
 .../contrib/hooks/gcp_compute_hook/index.html      |    2 +-
 .../contrib/hooks/gcp_container_hook/index.html    |    2 +-
 .../contrib/hooks/gcp_dataflow_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_dataproc_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |    2 +-
 .../contrib/hooks/gcp_function_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |    2 +-
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   10 +-
 .../hooks/gcp_natural_language_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_pubsub_hook/index.html       |    2 +-
 .../contrib/hooks/gcp_spanner_hook/index.html      |    2 +-
 .../hooks/gcp_speech_to_text_hook/index.html       |    2 +-
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |    2 +-
 .../hooks/gcp_text_to_speech_hook/index.html       |    2 +-
 .../contrib/hooks/gcp_transfer_hook/index.html     |    2 +-
 .../contrib/hooks/gcp_translate_hook/index.html    |    2 +-
 .../hooks/gcp_video_intelligence_hook/index.html   |    2 +-
 .../contrib/hooks/gcp_vision_hook/index.html       |    2 +-
 _api/airflow/contrib/hooks/gcs_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/grpc_hook/index.html    |    2 +-
 _api/airflow/contrib/hooks/imap_hook/index.html    |    2 +-
 _api/airflow/contrib/hooks/index.html              |    2 +-
 _api/airflow/contrib/hooks/jenkins_hook/index.html |    2 +-
 _api/airflow/contrib/hooks/jira_hook/index.html    |    2 +-
 _api/airflow/contrib/hooks/mongo_hook/index.html   |    2 +-
 .../airflow/contrib/hooks/openfaas_hook/index.html |    2 +-
 .../contrib/hooks/opsgenie_alert_hook/index.html   |    2 +-
 _api/airflow/contrib/hooks/pinot_hook/index.html   |    2 +-
 .../contrib/hooks/qubole_check_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/qubole_hook/index.html  |    2 +-
 _api/airflow/contrib/hooks/redis_hook/index.html   |    2 +-
 .../airflow/contrib/hooks/redshift_hook/index.html |    2 +-
 .../contrib/hooks/sagemaker_hook/index.html        |    2 +-
 .../contrib/hooks/salesforce_hook/index.html       |    2 +-
 _api/airflow/contrib/hooks/segment_hook/index.html |    2 +-
 _api/airflow/contrib/hooks/sftp_hook/index.html    |   28 +-
 .../contrib/hooks/slack_webhook_hook/index.html    |    2 +-
 .../contrib/hooks/snowflake_hook/index.html        |    2 +-
 .../contrib/hooks/spark_jdbc_hook/index.html       |    2 +-
 .../contrib/hooks/spark_jdbc_script/index.html     |    2 +-
 .../contrib/hooks/spark_sql_hook/index.html        |    2 +-
 .../contrib/hooks/spark_submit_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |    2 +-
 _api/airflow/contrib/hooks/ssh_hook/index.html     |    2 +-
 _api/airflow/contrib/hooks/vertica_hook/index.html |    2 +-
 _api/airflow/contrib/hooks/wasb_hook/index.html    |    2 +-
 _api/airflow/contrib/hooks/winrm_hook/index.html   |    2 +-
 .../operators/adls_list_operator/index.html        |   10 +-
 .../contrib/operators/adls_to_gcs/index.html       |   18 +-
 .../operators/aws_athena_operator/index.html       |    2 +-
 .../operators/aws_sqs_publish_operator/index.html  |    2 +-
 .../contrib/operators/awsbatch_operator/index.html |    2 +-
 .../azure_container_instances_operator/index.html  |   42 +-
 .../operators/azure_cosmos_operator/index.html     |    2 +-
 .../operators/bigquery_check_operator/index.html   |    4 +-
 .../contrib/operators/bigquery_get_data/index.html |   16 +-
 .../contrib/operators/bigquery_operator/index.html |   78 +-
 .../bigquery_table_delete_operator/index.html      |    2 +-
 .../operators/bigquery_to_bigquery/index.html      |    6 +-
 .../contrib/operators/bigquery_to_gcs/index.html   |    2 +-
 .../contrib/operators/cassandra_to_gcs/index.html  |    2 +-
 .../operators/databricks_operator/index.html       |   48 +-
 .../contrib/operators/dataflow_operator/index.html |   96 +-
 .../contrib/operators/dataproc_operator/index.html |   30 +-
 .../operators/datastore_export_operator/index.html |    2 +-
 .../operators/datastore_import_operator/index.html |    2 +-
 .../contrib/operators/dingding_operator/index.html |    2 +-
 .../operators/discord_webhook_operator/index.html  |    2 +-
 .../contrib/operators/druid_operator/index.html    |    2 +-
 .../contrib/operators/ecs_operator/index.html      |    2 +-
 .../operators/emr_add_steps_operator/index.html    |    2 +-
 .../emr_create_job_flow_operator/index.html        |    2 +-
 .../emr_terminate_job_flow_operator/index.html     |    2 +-
 .../contrib/operators/file_to_gcs/index.html       |    2 +-
 .../contrib/operators/file_to_wasb/index.html      |    2 +-
 .../operators/gcp_bigtable_operator/index.html     |    2 +-
 .../operators/gcp_cloud_build_operator/index.html  |    6 +-
 .../operators/gcp_compute_operator/index.html      |    2 +-
 .../operators/gcp_container_operator/index.html    |   34 +-
 .../contrib/operators/gcp_dlp_operator/index.html  |    2 +-
 .../operators/gcp_function_operator/index.html     |    2 +-
 .../gcp_natural_language_operator/index.html       |    2 +-
 .../operators/gcp_spanner_operator/index.html      |    2 +-
 .../gcp_speech_to_text_operator/index.html         |    2 +-
 .../contrib/operators/gcp_sql_operator/index.html  |    2 +-
 .../gcp_text_to_speech_operator/index.html         |    2 +-
 .../operators/gcp_transfer_operator/index.html     |   22 +-
 .../operators/gcp_translate_operator/index.html    |    2 +-
 .../gcp_translate_speech_operator/index.html       |    2 +-
 .../gcp_video_intelligence_operator/index.html     |    2 +-
 .../operators/gcp_vision_operator/index.html       |    2 +-
 .../contrib/operators/gcs_acl_operator/index.html  |    2 +-
 .../operators/gcs_delete_operator/index.html       |    2 +-
 .../operators/gcs_download_operator/index.html     |    2 +-
 .../contrib/operators/gcs_list_operator/index.html |   12 +-
 .../contrib/operators/gcs_operator/index.html      |   16 +-
 .../airflow/contrib/operators/gcs_to_bq/index.html |    6 +-
 .../contrib/operators/gcs_to_gcs/index.html        |   38 +-
 .../airflow/contrib/operators/gcs_to_s3/index.html |    2 +-
 .../contrib/operators/hipchat_operator/index.html  |    2 +-
 .../contrib/operators/hive_to_dynamodb/index.html  |    2 +-
 .../imap_attachment_to_s3_operator/index.html      |    2 +-
 _api/airflow/contrib/operators/index.html          |    2 +-
 .../jenkins_job_trigger_operator/index.html        |    2 +-
 .../contrib/operators/jira_operator/index.html     |    2 +-
 .../operators/kubernetes_pod_operator/index.html   |    2 +-
 .../contrib/operators/mlengine_operator/index.html |    8 +-
 .../contrib/operators/mongo_to_s3/index.html       |    2 +-
 .../contrib/operators/mssql_to_gcs/index.html      |   18 +-
 .../contrib/operators/mysql_to_gcs/index.html      |    2 +-
 .../operators/opsgenie_alert_operator/index.html   |    2 +-
 .../oracle_to_azure_data_lake_transfer/index.html  |    2 +-
 .../operators/oracle_to_oracle_transfer/index.html |    2 +-
 .../operators/postgres_to_gcs_operator/index.html  |    2 +-
 .../contrib/operators/pubsub_operator/index.html   |   88 +-
 .../operators/qubole_check_operator/index.html     |    2 +-
 .../contrib/operators/qubole_operator/index.html   |    2 +-
 .../operators/redis_publish_operator/index.html    |    2 +-
 .../operators/s3_copy_object_operator/index.html   |    2 +-
 .../s3_delete_objects_operator/index.html          |    2 +-
 .../contrib/operators/s3_list_operator/index.html  |   14 +-
 .../operators/s3_to_gcs_operator/index.html        |   14 +-
 .../operators/s3_to_sftp_operator/index.html       |    2 +-
 .../operators/sagemaker_base_operator/index.html   |    2 +-
 .../sagemaker_endpoint_config_operator/index.html  |    2 +-
 .../sagemaker_endpoint_operator/index.html         |   12 +-
 .../operators/sagemaker_model_operator/index.html  |    2 +-
 .../sagemaker_training_operator/index.html         |    2 +-
 .../sagemaker_transform_operator/index.html        |   10 +-
 .../operators/sagemaker_tuning_operator/index.html |    2 +-
 .../segment_track_event_operator/index.html        |    2 +-
 .../contrib/operators/sftp_operator/index.html     |   16 +-
 .../operators/sftp_to_s3_operator/index.html       |    2 +-
 .../operators/slack_webhook_operator/index.html    |    2 +-
 .../operators/snowflake_operator/index.html        |    2 +-
 .../operators/sns_publish_operator/index.html      |    2 +-
 .../operators/spark_jdbc_operator/index.html       |    2 +-
 .../operators/spark_sql_operator/index.html        |    2 +-
 .../operators/spark_submit_operator/index.html     |    2 +-
 .../contrib/operators/sql_to_gcs/index.html        |    2 +-
 .../contrib/operators/sqoop_operator/index.html    |    2 +-
 .../contrib/operators/ssh_operator/index.html      |    2 +-
 .../contrib/operators/vertica_operator/index.html  |    2 +-
 .../contrib/operators/vertica_to_hive/index.html   |    2 +-
 .../contrib/operators/vertica_to_mysql/index.html  |    2 +-
 .../operators/wasb_delete_blob_operator/index.html |    2 +-
 .../contrib/operators/winrm_operator/index.html    |    2 +-
 .../contrib/sensors/aws_athena_sensor/index.html   |    2 +-
 .../aws_glue_catalog_partition_sensor/index.html   |    2 +-
 .../sensors/aws_redshift_cluster_sensor/index.html |    2 +-
 .../contrib/sensors/aws_sqs_sensor/index.html      |    2 +-
 .../contrib/sensors/azure_cosmos_sensor/index.html |   12 +-
 .../airflow/contrib/sensors/bash_sensor/index.html |    2 +-
 .../contrib/sensors/bigquery_sensor/index.html     |    2 +-
 .../sensors/cassandra_record_sensor/index.html     |   10 +-
 .../sensors/cassandra_table_sensor/index.html      |    8 +-
 .../contrib/sensors/datadog_sensor/index.html      |    2 +-
 .../contrib/sensors/emr_base_sensor/index.html     |    2 +-
 .../contrib/sensors/emr_job_flow_sensor/index.html |    2 +-
 .../contrib/sensors/emr_step_sensor/index.html     |    2 +-
 .../airflow/contrib/sensors/file_sensor/index.html |    2 +-
 _api/airflow/contrib/sensors/ftp_sensor/index.html |    2 +-
 .../contrib/sensors/gcp_transfer_sensor/index.html |    2 +-
 _api/airflow/contrib/sensors/gcs_sensor/index.html |    2 +-
 .../airflow/contrib/sensors/hdfs_sensor/index.html |    2 +-
 .../sensors/imap_attachment_sensor/index.html      |    2 +-
 _api/airflow/contrib/sensors/index.html            |    2 +-
 .../airflow/contrib/sensors/jira_sensor/index.html |    2 +-
 .../contrib/sensors/mongo_sensor/index.html        |   10 +-
 .../contrib/sensors/pubsub_sensor/index.html       |    2 +-
 .../contrib/sensors/python_sensor/index.html       |    2 +-
 .../contrib/sensors/qubole_sensor/index.html       |    2 +-
 .../contrib/sensors/redis_key_sensor/index.html    |    2 +-
 .../sensors/redis_pub_sub_sensor/index.html        |    2 +-
 .../sensors/sagemaker_base_sensor/index.html       |    2 +-
 .../sensors/sagemaker_endpoint_sensor/index.html   |    2 +-
 .../sensors/sagemaker_training_sensor/index.html   |    2 +-
 .../sensors/sagemaker_transform_sensor/index.html  |    2 +-
 .../sensors/sagemaker_tuning_sensor/index.html     |    2 +-
 .../airflow/contrib/sensors/sftp_sensor/index.html |    2 +-
 .../airflow/contrib/sensors/wasb_sensor/index.html |    2 +-
 .../contrib/sensors/weekday_sensor/index.html      |   24 +-
 _api/airflow/executors/base_executor/index.html    |    2 +-
 _api/airflow/executors/celery_executor/index.html  |    2 +-
 _api/airflow/executors/dask_executor/index.html    |    2 +-
 _api/airflow/executors/index.html                  |    2 +-
 _api/airflow/executors/local_executor/index.html   |    2 +-
 .../executors/sequential_executor/index.html       |    2 +-
 _api/airflow/hooks/S3_hook/index.html              |    2 +-
 _api/airflow/hooks/base_hook/index.html            |    2 +-
 _api/airflow/hooks/dbapi_hook/index.html           |    2 +-
 _api/airflow/hooks/docker_hook/index.html          |    2 +-
 _api/airflow/hooks/druid_hook/index.html           |    2 +-
 _api/airflow/hooks/hdfs_hook/index.html            |    2 +-
 _api/airflow/hooks/hive_hooks/index.html           |   60 +-
 _api/airflow/hooks/http_hook/index.html            |    6 +-
 _api/airflow/hooks/index.html                      |    2 +-
 _api/airflow/hooks/jdbc_hook/index.html            |    2 +-
 _api/airflow/hooks/mssql_hook/index.html           |    2 +-
 _api/airflow/hooks/mysql_hook/index.html           |    2 +-
 _api/airflow/hooks/oracle_hook/index.html          |    2 +-
 _api/airflow/hooks/pig_hook/index.html             |    8 +-
 _api/airflow/hooks/postgres_hook/index.html        |    2 +-
 _api/airflow/hooks/presto_hook/index.html          |    6 +-
 _api/airflow/hooks/samba_hook/index.html           |    2 +-
 _api/airflow/hooks/slack_hook/index.html           |    2 +-
 _api/airflow/hooks/sqlite_hook/index.html          |    2 +-
 _api/airflow/hooks/webhdfs_hook/index.html         |    2 +-
 _api/airflow/hooks/zendesk_hook/index.html         |    2 +-
 _api/airflow/models/base/index.html                |    2 +-
 _api/airflow/models/baseoperator/index.html        |    8 +-
 _api/airflow/models/chart/index.html               |    2 +-
 _api/airflow/models/connection/index.html          |    2 +-
 _api/airflow/models/crypto/index.html              |    2 +-
 _api/airflow/models/dag/index.html                 |    2 +-
 _api/airflow/models/dagbag/index.html              |    2 +-
 _api/airflow/models/dagpickle/index.html           |    2 +-
 _api/airflow/models/dagrun/index.html              |    2 +-
 _api/airflow/models/errors/index.html              |    2 +-
 _api/airflow/models/index.html                     |    8 +-
 _api/airflow/models/knownevent/index.html          |    2 +-
 _api/airflow/models/kubernetes/index.html          |    2 +-
 _api/airflow/models/log/index.html                 |    2 +-
 _api/airflow/models/pool/index.html                |    2 +-
 _api/airflow/models/skipmixin/index.html           |    2 +-
 _api/airflow/models/slamiss/index.html             |    2 +-
 _api/airflow/models/taskfail/index.html            |    2 +-
 _api/airflow/models/taskinstance/index.html        |    2 +-
 _api/airflow/models/taskreschedule/index.html      |    2 +-
 _api/airflow/models/user/index.html                |    2 +-
 _api/airflow/models/variable/index.html            |    2 +-
 _api/airflow/models/xcom/index.html                |    2 +-
 _api/airflow/operators/bash_operator/index.html    |    2 +-
 _api/airflow/operators/branch_operator/index.html  |    2 +-
 _api/airflow/operators/check_operator/index.html   |    2 +-
 _api/airflow/operators/dagrun_operator/index.html  |    2 +-
 _api/airflow/operators/docker_operator/index.html  |    2 +-
 .../operators/druid_check_operator/index.html      |    2 +-
 _api/airflow/operators/dummy_operator/index.html   |    2 +-
 _api/airflow/operators/email_operator/index.html   |    2 +-
 _api/airflow/operators/generic_transfer/index.html |    2 +-
 _api/airflow/operators/hive_operator/index.html    |    2 +-
 .../operators/hive_stats_operator/index.html       |    4 +-
 _api/airflow/operators/hive_to_druid/index.html    |    2 +-
 _api/airflow/operators/hive_to_mysql/index.html    |    2 +-
 .../operators/hive_to_samba_operator/index.html    |    2 +-
 _api/airflow/operators/http_operator/index.html    |    2 +-
 _api/airflow/operators/index.html                  |    8 +-
 _api/airflow/operators/jdbc_operator/index.html    |    2 +-
 .../operators/latest_only_operator/index.html      |    2 +-
 _api/airflow/operators/mssql_operator/index.html   |    2 +-
 _api/airflow/operators/mssql_to_hive/index.html    |    2 +-
 _api/airflow/operators/mysql_operator/index.html   |    2 +-
 _api/airflow/operators/mysql_to_hive/index.html    |    2 +-
 _api/airflow/operators/oracle_operator/index.html  |    2 +-
 _api/airflow/operators/pig_operator/index.html     |    2 +-
 .../airflow/operators/postgres_operator/index.html |    2 +-
 .../operators/presto_check_operator/index.html     |    2 +-
 _api/airflow/operators/presto_to_mysql/index.html  |    2 +-
 _api/airflow/operators/python_operator/index.html  |    2 +-
 .../operators/redshift_to_s3_operator/index.html   |    2 +-
 .../s3_file_transform_operator/index.html          |    2 +-
 .../operators/s3_to_hive_operator/index.html       |    2 +-
 .../operators/s3_to_redshift_operator/index.html   |    2 +-
 _api/airflow/operators/sensors/index.html          |    2 +-
 _api/airflow/operators/slack_operator/index.html   |    2 +-
 _api/airflow/operators/sqlite_operator/index.html  |    2 +-
 _api/airflow/operators/subdag_operator/index.html  |    2 +-
 .../sensors/base_sensor_operator/index.html        |    2 +-
 .../sensors/external_task_sensor/index.html        |    2 +-
 _api/airflow/sensors/hdfs_sensor/index.html        |    2 +-
 .../sensors/hive_partition_sensor/index.html       |    2 +-
 _api/airflow/sensors/http_sensor/index.html        |    2 +-
 _api/airflow/sensors/index.html                    |    2 +-
 .../sensors/metastore_partition_sensor/index.html  |    2 +-
 .../sensors/named_hive_partition_sensor/index.html |    2 +-
 _api/airflow/sensors/s3_key_sensor/index.html      |    2 +-
 _api/airflow/sensors/s3_prefix_sensor/index.html   |    2 +-
 _api/airflow/sensors/sql_sensor/index.html         |    2 +-
 _api/airflow/sensors/time_delta_sensor/index.html  |    2 +-
 _api/airflow/sensors/time_sensor/index.html        |    2 +-
 _api/airflow/sensors/web_hdfs_sensor/index.html    |    2 +-
 _api/index.html                                    |    2 +-
 .../example_dags/example_dingding_operator.html    |  260 ++--
 .../example_gcp_bigtable_operators.html            |  126 +-
 .../example_dags/example_gcp_cloud_build.html      |  106 +-
 .../contrib/example_dags/example_gcp_compute.html  |  104 +-
 .../example_dags/example_gcp_compute_igm.html      |  130 +-
 .../contrib/example_dags/example_gcp_function.html |  134 +-
 .../example_dags/example_gcp_natural_language.html |  128 +-
 .../contrib/example_dags/example_gcp_spanner.html  |  142 +--
 .../contrib/example_dags/example_gcp_speech.html   |  104 +-
 .../contrib/example_dags/example_gcp_sql.html      |  402 +++---
 .../example_dags/example_gcp_sql_query.html        |  374 +++---
 .../contrib/example_dags/example_gcp_transfer.html |  172 +--
 .../example_dags/example_gcp_translate.html        |   66 +-
 .../example_gcp_video_intelligence.html            |  120 +-
 .../contrib/example_dags/example_gcp_vision.html   |  412 +++---
 .../contrib/example_dags/example_gcs_acl.html      |   70 +-
 .../example_dags/example_gcs_to_bq_operator.html   |   76 +-
 .../contrib/executors/kubernetes_executor.html     |  564 ++++-----
 .../airflow/contrib/executors/mesos_executor.html  |  182 +--
 _modules/airflow/contrib/hooks.html                |  120 +-
 .../airflow/contrib/hooks/aws_athena_hook.html     |   94 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   52 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   42 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |   70 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |  166 +--
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   48 +-
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |   58 +-
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |   46 +-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |   44 +-
 .../hooks/azure_container_instance_hook.html       |   66 +-
 .../hooks/azure_container_registry_hook.html       |   40 +-
 .../contrib/hooks/azure_container_volume_hook.html |   50 +-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  204 +--
 .../contrib/hooks/azure_data_lake_hook.html        |   54 +-
 .../contrib/hooks/azure_fileshare_hook.html        |   44 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  | 1162 ++++++++---------
 _modules/airflow/contrib/hooks/cassandra_hook.html |  114 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   68 +-
 .../airflow/contrib/hooks/databricks_hook.html     |  144 +--
 _modules/airflow/contrib/hooks/datadog_hook.html   |   70 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |  106 +-
 _modules/airflow/contrib/hooks/dingding_hook.html  |   96 +-
 .../contrib/hooks/discord_webhook_hook.html        |   90 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |   46 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |   44 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |  102 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  138 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   80 +-
 .../contrib/hooks/gcp_cloud_build_hook.html        |   80 +-
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  144 +--
 .../airflow/contrib/hooks/gcp_container_hook.html  |   90 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  234 ++--
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  270 ++--
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |  508 ++++----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   94 +-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   66 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  128 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |   58 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  116 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  106 +-
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   48 +-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |  520 ++++----
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   48 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  170 +--
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   46 +-
 .../contrib/hooks/gcp_video_intelligence_hook.html |   62 +-
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  280 ++--
 _modules/airflow/contrib/hooks/gcs_hook.html       |  224 ++--
 _modules/airflow/contrib/hooks/grpc_hook.html      |   68 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |  112 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   60 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |   88 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |  104 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   88 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   58 +-
 _modules/airflow/contrib/hooks/pinot_hook.html     |   72 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |   96 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |  188 +--
 _modules/airflow/contrib/hooks/redis_hook.html     |   56 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |   68 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |  336 ++---
 .../airflow/contrib/hooks/salesforce_hook.html     |  204 +--
 _modules/airflow/contrib/hooks/segment_hook.html   |   62 +-
 _modules/airflow/contrib/hooks/sftp_hook.html      |  124 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   90 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |  104 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  172 +--
 .../airflow/contrib/hooks/spark_jdbc_script.html   |  138 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |  110 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |  414 +++---
 _modules/airflow/contrib/hooks/sqoop_hook.html     |  198 +--
 _modules/airflow/contrib/hooks/ssh_hook.html       |  162 +--
 _modules/airflow/contrib/hooks/vertica_hook.html   |   58 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |   56 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |  172 +--
 _modules/airflow/contrib/operators.html            |   90 +-
 .../contrib/operators/adls_list_operator.html      |   48 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |   64 +-
 .../contrib/operators/aws_athena_operator.html     |   82 +-
 .../operators/aws_sqs_publish_operator.html        |   50 +-
 .../contrib/operators/awsbatch_operator.html       |  116 +-
 .../azure_container_instances_operator.html        |  164 +--
 .../contrib/operators/azure_cosmos_operator.html   |   54 +-
 .../contrib/operators/bigquery_check_operator.html |   70 +-
 .../contrib/operators/bigquery_get_data.html       |   64 +-
 .../contrib/operators/bigquery_operator.html       |  250 ++--
 .../operators/bigquery_table_delete_operator.html  |   52 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   62 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |   62 +-
 .../contrib/operators/cassandra_to_gcs.html        |  240 ++--
 .../contrib/operators/databricks_operator.html     |  192 +--
 .../contrib/operators/dataflow_operator.html       |  120 +-
 .../contrib/operators/dataproc_operator.html       |  554 ++++----
 .../operators/datastore_export_operator.html       |   68 +-
 .../operators/datastore_import_operator.html       |   64 +-
 .../contrib/operators/dingding_operator.html       |   56 +-
 .../operators/discord_webhook_operator.html        |   62 +-
 .../airflow/contrib/operators/druid_operator.html  |   54 +-
 .../airflow/contrib/operators/ecs_operator.html    |  156 +--
 .../contrib/operators/emr_add_steps_operator.html  |   58 +-
 .../operators/emr_create_job_flow_operator.html    |   64 +-
 .../operators/emr_terminate_job_flow_operator.html |   54 +-
 .../airflow/contrib/operators/file_to_gcs.html     |   52 +-
 .../airflow/contrib/operators/file_to_wasb.html    |   52 +-
 .../contrib/operators/gcp_bigtable_operator.html   |  214 ++--
 .../operators/gcp_cloud_build_operator.html        |   92 +-
 .../contrib/operators/gcp_compute_operator.html    |  294 ++---
 .../contrib/operators/gcp_container_operator.html  |  158 +--
 .../contrib/operators/gcp_dlp_operator.html        |  710 +++++------
 .../contrib/operators/gcp_function_operator.html   |  198 +--
 .../operators/gcp_natural_language_operator.html   |  124 +-
 .../contrib/operators/gcp_spanner_operator.html    |  236 ++--
 .../operators/gcp_speech_to_text_operator.html     |   62 +-
 .../contrib/operators/gcp_sql_operator.html        |  456 +++----
 .../operators/gcp_text_to_speech_operator.html     |   80 +-
 .../contrib/operators/gcp_transfer_operator.html   |  236 ++--
 .../contrib/operators/gcp_translate_operator.html  |   52 +-
 .../operators/gcp_translate_speech_operator.html   |   66 +-
 .../operators/gcp_video_intelligence_operator.html |  116 +-
 .../contrib/operators/gcp_vision_operator.html     |  380 +++---
 .../contrib/operators/gcs_acl_operator.html        |   66 +-
 .../contrib/operators/gcs_delete_operator.html     |   54 +-
 .../contrib/operators/gcs_download_operator.html   |   58 +-
 .../contrib/operators/gcs_list_operator.html       |   54 +-
 .../airflow/contrib/operators/gcs_operator.html    |   64 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |  116 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   78 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   86 +-
 .../contrib/operators/hipchat_operator.html        |   92 +-
 .../contrib/operators/hive_to_dynamodb.html        |   70 +-
 .../operators/imap_attachment_to_s3_operator.html  |   56 +-
 .../operators/jenkins_job_trigger_operator.html    |  180 +--
 .../airflow/contrib/operators/jira_operator.html   |   76 +-
 .../contrib/operators/kubernetes_pod_operator.html |   96 +-
 .../contrib/operators/mlengine_operator.html       |  316 ++---
 .../airflow/contrib/operators/mongo_to_s3.html     |   70 +-
 .../airflow/contrib/operators/mssql_to_gcs.html    |   58 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |  104 +-
 .../contrib/operators/opsgenie_alert_operator.html |   78 +-
 .../oracle_to_azure_data_lake_transfer.html        |   62 +-
 .../operators/oracle_to_oracle_transfer.html       |   54 +-
 .../operators/postgres_to_gcs_operator.html        |   82 +-
 .../airflow/contrib/operators/pubsub_operator.html |  102 +-
 .../contrib/operators/qubole_check_operator.html   |   98 +-
 .../airflow/contrib/operators/qubole_operator.html |   84 +-
 .../contrib/operators/redis_publish_operator.html  |   48 +-
 .../contrib/operators/s3_copy_object_operator.html |   54 +-
 .../operators/s3_delete_objects_operator.html      |   56 +-
 .../contrib/operators/s3_list_operator.html        |   54 +-
 .../contrib/operators/s3_to_gcs_operator.html      |  122 +-
 .../contrib/operators/s3_to_sftp_operator.html     |   50 +-
 .../contrib/operators/sagemaker_base_operator.html |   62 +-
 .../sagemaker_endpoint_config_operator.html        |   52 +-
 .../operators/sagemaker_endpoint_operator.html     |   96 +-
 .../operators/sagemaker_model_operator.html        |   54 +-
 .../operators/sagemaker_training_operator.html     |   66 +-
 .../operators/sagemaker_transform_operator.html    |   80 +-
 .../operators/sagemaker_tuning_operator.html       |   72 +-
 .../operators/segment_track_event_operator.html    |   52 +-
 .../airflow/contrib/operators/sftp_operator.html   |  100 +-
 .../contrib/operators/sftp_to_s3_operator.html     |   52 +-
 .../contrib/operators/slack_webhook_operator.html  |   68 +-
 .../contrib/operators/snowflake_operator.html      |   54 +-
 .../contrib/operators/sns_publish_operator.html    |   46 +-
 .../contrib/operators/spark_jdbc_operator.html     |   98 +-
 .../contrib/operators/spark_sql_operator.html      |   70 +-
 .../contrib/operators/spark_submit_operator.html   |  100 +-
 _modules/airflow/contrib/operators/sql_to_gcs.html |  156 +--
 .../airflow/contrib/operators/sqoop_operator.html  |  144 +--
 .../airflow/contrib/operators/ssh_operator.html    |  114 +-
 .../contrib/operators/vertica_operator.html        |   50 +-
 .../airflow/contrib/operators/vertica_to_hive.html |   92 +-
 .../contrib/operators/vertica_to_mysql.html        |   92 +-
 .../operators/wasb_delete_blob_operator.html       |   52 +-
 .../airflow/contrib/operators/winrm_operator.html  |  100 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |   62 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |   60 +-
 .../sensors/aws_redshift_cluster_sensor.html       |   48 +-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   64 +-
 .../contrib/sensors/azure_cosmos_sensor.html       |   48 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |   70 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   52 +-
 .../contrib/sensors/cassandra_record_sensor.html   |   44 +-
 .../contrib/sensors/cassandra_table_sensor.html    |   44 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   70 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |   60 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |   60 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |   60 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |   60 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   56 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |   54 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |  108 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   62 +-
 .../contrib/sensors/imap_attachment_sensor.html    |   50 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |  102 +-
 _modules/airflow/contrib/sensors/mongo_sensor.html |   50 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |   56 +-
 .../airflow/contrib/sensors/python_sensor.html     |   54 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   66 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |   46 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |   58 +-
 .../contrib/sensors/sagemaker_base_sensor.html     |   68 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   48 +-
 .../contrib/sensors/sagemaker_training_sensor.html |   70 +-
 .../sensors/sagemaker_transform_sensor.html        |   48 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   48 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   50 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   62 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |   50 +-
 .../example_dags/example_bash_operator.html        |   70 +-
 .../example_dags/example_python_operator.html      |   66 +-
 _modules/airflow/exceptions.html                   |   44 +-
 _modules/airflow/executors.html                    |   74 +-
 _modules/airflow/executors/base_executor.html      |  112 +-
 _modules/airflow/executors/celery_executor.html    |  126 +-
 _modules/airflow/executors/dask_executor.html      |   78 +-
 _modules/airflow/executors/local_executor.html     |   76 +-
 .../airflow/executors/sequential_executor.html     |   48 +-
 _modules/airflow/hooks.html                        |  134 +-
 _modules/airflow/hooks/S3_hook.html                |  224 ++--
 _modules/airflow/hooks/base_hook.html              |   64 +-
 _modules/airflow/hooks/dbapi_hook.html             |  134 +-
 _modules/airflow/hooks/docker_hook.html            |   68 +-
 _modules/airflow/hooks/druid_hook.html             |  126 +-
 _modules/airflow/hooks/hdfs_hook.html              |   72 +-
 _modules/airflow/hooks/hive_hooks.html             |  508 ++++----
 _modules/airflow/hooks/http_hook.html              |  114 +-
 _modules/airflow/hooks/jdbc_hook.html              |   50 +-
 _modules/airflow/hooks/mssql_hook.html             |   48 +-
 _modules/airflow/hooks/mysql_hook.html             |  136 +-
 _modules/airflow/hooks/oracle_hook.html            |  202 +--
 _modules/airflow/hooks/pig_hook.html               |   68 +-
 _modules/airflow/hooks/postgres_hook.html          |   90 +-
 _modules/airflow/hooks/presto_hook.html            |   84 +-
 _modules/airflow/hooks/samba_hook.html             |   38 +-
 _modules/airflow/hooks/slack_hook.html             |   56 +-
 _modules/airflow/hooks/sqlite_hook.html            |   44 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   68 +-
 _modules/airflow/hooks/zendesk_hook.html           |   88 +-
 _modules/airflow/macros.html                       |   72 +-
 _modules/airflow/macros/hive.html                  |   64 +-
 _modules/airflow/models.html                       |   84 +-
 _modules/airflow/models/base.html                  |   44 +-
 _modules/airflow/models/baseoperator.html          |  406 +++---
 _modules/airflow/models/chart.html                 |   60 +-
 _modules/airflow/models/connection.html            |  254 ++--
 _modules/airflow/models/crypto.html                |   60 +-
 _modules/airflow/models/dag.html                   |  664 +++++-----
 _modules/airflow/models/dagbag.html                |  218 ++--
 _modules/airflow/models/dagpickle.html             |   46 +-
 _modules/airflow/models/dagrun.html                |  212 ++--
 _modules/airflow/models/errors.html                |   42 +-
 _modules/airflow/models/knownevent.html            |   58 +-
 _modules/airflow/models/kubernetes.html            |   62 +-
 _modules/airflow/models/log.html                   |   62 +-
 _modules/airflow/models/pool.html                  |   64 +-
 _modules/airflow/models/skipmixin.html             |   62 +-
 _modules/airflow/models/slamiss.html               |   52 +-
 _modules/airflow/models/taskfail.html              |   54 +-
 _modules/airflow/models/taskinstance.html          |  752 +++++------
 _modules/airflow/models/taskreschedule.html        |   70 +-
 _modules/airflow/models/user.html                  |   46 +-
 _modules/airflow/models/variable.html              |  122 +-
 _modules/airflow/models/xcom.html                  |  174 +--
 _modules/airflow/operators.html                    |  196 +--
 _modules/airflow/operators/bash_operator.html      |   90 +-
 _modules/airflow/operators/branch_operator.html    |   42 +-
 _modules/airflow/operators/check_operator.html     |  170 +--
 _modules/airflow/operators/dagrun_operator.html    |   68 +-
 _modules/airflow/operators/docker_operator.html    |  152 +--
 .../airflow/operators/druid_check_operator.html    |   52 +-
 _modules/airflow/operators/dummy_operator.html     |   42 +-
 _modules/airflow/operators/email_operator.html     |   56 +-
 _modules/airflow/operators/generic_transfer.html   |   56 +-
 _modules/airflow/operators/hive_operator.html      |   94 +-
 .../airflow/operators/hive_stats_operator.html     |  158 +--
 _modules/airflow/operators/hive_to_druid.html      |  208 +--
 _modules/airflow/operators/hive_to_mysql.html      |   72 +-
 .../airflow/operators/hive_to_samba_operator.html  |   54 +-
 _modules/airflow/operators/http_operator.html      |   64 +-
 _modules/airflow/operators/jdbc_operator.html      |   50 +-
 .../airflow/operators/latest_only_operator.html    |   70 +-
 _modules/airflow/operators/mssql_operator.html     |   52 +-
 _modules/airflow/operators/mssql_to_hive.html      |   80 +-
 _modules/airflow/operators/mysql_operator.html     |   52 +-
 _modules/airflow/operators/mysql_to_hive.html      |   94 +-
 _modules/airflow/operators/oracle_operator.html    |   52 +-
 _modules/airflow/operators/pig_operator.html       |   56 +-
 _modules/airflow/operators/postgres_operator.html  |   54 +-
 .../airflow/operators/presto_check_operator.html   |   54 +-
 _modules/airflow/operators/presto_to_mysql.html    |   58 +-
 _modules/airflow/operators/python_operator.html    |  264 ++--
 .../airflow/operators/redshift_to_s3_operator.html |  110 +-
 .../operators/s3_file_transform_operator.html      |   90 +-
 .../airflow/operators/s3_to_hive_operator.html     |  156 +--
 .../airflow/operators/s3_to_redshift_operator.html |   74 +-
 _modules/airflow/operators/sensors.html            |   58 +-
 _modules/airflow/operators/slack_operator.html     |   92 +-
 _modules/airflow/operators/sqlite_operator.html    |   50 +-
 _modules/airflow/operators/subdag_operator.html    |   88 +-
 _modules/airflow/sensors.html                      |   90 +-
 _modules/airflow/sensors/base_sensor_operator.html |   86 +-
 _modules/airflow/sensors/external_task_sensor.html |   90 +-
 _modules/airflow/sensors/hdfs_sensor.html          |   96 +-
 .../airflow/sensors/hive_partition_sensor.html     |   60 +-
 _modules/airflow/sensors/http_sensor.html          |   64 +-
 .../sensors/metastore_partition_sensor.html        |   86 +-
 .../sensors/named_hive_partition_sensor.html       |   68 +-
 _modules/airflow/sensors/s3_key_sensor.html        |   62 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |   54 +-
 _modules/airflow/sensors/sql_sensor.html           |   76 +-
 _modules/airflow/sensors/time_delta_sensor.html    |   46 +-
 _modules/airflow/sensors/time_sensor.html          |   42 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |   46 +-
 _modules/airflow/utils/log/logging_mixin.html      |   84 +-
 _modules/index.html                                |    2 +-
 _static/basic.css                                  |   11 +-
 _static/documentation_options.js                   |    2 +-
 .../jquery-3.2.1.js => _static/jquery-3.4.1.js     | 1339 ++++++++++++--------
 _static/jquery.js                                  |    6 +-
 _static/pygments.css                               |    6 +
 api.html                                           |   12 +-
 changelog.html                                     |    2 +-
 cli.html                                           |   72 +-
 concepts.html                                      |  240 ++--
 faq.html                                           |   10 +-
 genindex.html                                      |  622 ++++-----
 howto/check-health.html                            |    4 +-
 howto/connection/aws.html                          |    4 +-
 howto/connection/gcp.html                          |    4 +-
 howto/connection/gcp_sql.html                      |    6 +-
 howto/connection/grpc.html                         |    2 +-
 howto/connection/index.html                        |    2 +-
 howto/connection/mysql.html                        |    8 +-
 howto/connection/oracle.html                       |    6 +-
 howto/connection/postgres.html                     |    6 +-
 howto/connection/ssh.html                          |    6 +-
 howto/define_extra_link.html                       |   14 +-
 howto/executor/use-celery.html                     |    6 +-
 howto/executor/use-dask.html                       |   10 +-
 howto/executor/use-mesos.html                      |    6 +-
 howto/index.html                                   |    2 +-
 howto/initialize-database.html                     |    4 +-
 howto/operator/bash.html                           |   26 +-
 howto/operator/dingding.html                       |   72 +-
 howto/operator/gcp/bigtable.html                   |   62 +-
 howto/operator/gcp/cloud_build.html                |   42 +-
 howto/operator/gcp/compute.html                    |  130 +-
 howto/operator/gcp/function.html                   |   88 +-
 howto/operator/gcp/gcs.html                        |   52 +-
 howto/operator/gcp/index.html                      |    2 +-
 howto/operator/gcp/natural_language.html           |   62 +-
 howto/operator/gcp/spanner.html                    |  164 +--
 howto/operator/gcp/speech.html                     |   50 +-
 howto/operator/gcp/sql.html                        |  648 +++++-----
 howto/operator/gcp/transfer.html                   |  214 ++--
 howto/operator/gcp/translate-speech.html           |   18 +-
 howto/operator/gcp/translate.html                  |   22 +-
 howto/operator/gcp/video.html                      |   62 +-
 howto/operator/gcp/vision.html                     |  332 ++---
 howto/operator/index.html                          |    2 +-
 howto/operator/python.html                         |   16 +-
 howto/run-behind-proxy.html                        |   14 +-
 howto/run-with-systemd.html                        |    2 +-
 howto/run-with-upstart.html                        |    4 +-
 howto/secure-connections.html                      |   10 +-
 howto/set-config.html                              |    8 +-
 howto/tracking-user-activity.html                  |    8 +-
 howto/use-test-config.html                         |    4 +-
 howto/write-logs.html                              |   68 +-
 http-routingtable.html                             |    2 +-
 index.html                                         |    2 +-
 installation.html                                  |    8 +-
 integration.html                                   |    2 +-
 kubernetes.html                                    |   96 +-
 license.html                                       |   34 +-
 lineage.html                                       |   34 +-
 macros.html                                        |   16 +-
 metrics.html                                       |    8 +-
 objects.inv                                        |  Bin 39960 -> 39960 bytes
 plugins.html                                       |  134 +-
 privacy_notice.html                                |    2 +-
 profiling.html                                     |    2 +-
 project.html                                       |    2 +-
 py-modindex.html                                   |    2 +-
 scheduler.html                                     |   26 +-
 search.html                                        |    2 +-
 security.html                                      |  240 ++--
 start.html                                         |   30 +-
 timezone.html                                      |   32 +-
 tutorial.html                                      |  232 ++--
 ui.html                                            |    2 +-
 1456 files changed, 45604 insertions(+), 44892 deletions(-)

diff --git a/.buildinfo b/.buildinfo
index 9ac6a72..60ac6a3 100644
--- a/.buildinfo
+++ b/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: ab201de8b04254f935fbd0f1eb3d7254
+config: e355f1ac441ea459bcd16e3760339883
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.5/.buildinfo b/1.10.5/.buildinfo
index 9ac6a72..60ac6a3 100644
--- a/1.10.5/.buildinfo
+++ b/1.10.5/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: ab201de8b04254f935fbd0f1eb3d7254
+config: e355f1ac441ea459bcd16e3760339883
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.5/_api/airflow/contrib/executors/index.html b/1.10.5/_api/airflow/contrib/executors/index.html
index 7854af5..8f72a51 100644
--- a/1.10.5/_api/airflow/contrib/executors/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
index 4a24d4e..5e8849a 100644
--- a/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
index d5ef3c7..3920aa2 100644
--- a/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
index a3f1849..4304754 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
index 2833b86..cca8e61 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
index 62c0bf2..b1661c5 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
index 7561248..b4c917a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -353,9 +353,9 @@ a partition may be composed of multiple columns. For example:
 <dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
 <span class="go">True</span>
 </pre></div>
 </div>
@@ -376,9 +376,9 @@ a partition may be composed of multiple columns. For example:
 <dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s">&#39;db&#39;</span><span class="p">,</span> <span class="s">&#39;table_foo&#39;</span><span class="p">)</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;table_foo&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s1">&#39;db&#39;</span><span class="p">,</span> <span class="s1">&#39;table_foo&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s1">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;table_foo&#39;</span>
 </pre></div>
 </div>
 </dd></dl>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
index b189308..a7fecee 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
index b08bde0..9899a14 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
index a892019..1c8d243 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
index 6ee9b03..4c90a9d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
index 5e935bd..2fb88f6 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
index 435022d..be8110f 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
index 41a872e..0d82837 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
index 00948ce..d233c9e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
index 0ed2333..982630c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
index 7e4a8f1..7e352f8 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
index 2bea5df..bdd5fde 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
index 8309922..53f9c05 100644
--- a/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -433,8 +433,8 @@ To create a view, which is defined by a SQL query, parse a dictionary to ‘view
 </dd>
 </dl>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span clas [...]
-               <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">: [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
 </pre></div>
 </div>
 <dl class="field-list simple">
@@ -458,9 +458,9 @@ If set, it will create a view instead of a table:
 </dd>
 </dl>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;query&quot;</span><span class="p">:</span> <span class="s">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 1000&quot;</span><span class="p">,</span>
-    <span class="s">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="k">False</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 1000&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="kc">False</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -468,8 +468,8 @@ If set, it will create a view instead of a table:
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -530,8 +530,8 @@ soure_format is CSV.</p></li>
 <li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the table, passed to BigQuery</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -565,8 +565,8 @@ properties of a table stored outside of BigQuery.</p></li>
 The supported schema modifications and unsupported schema modification are listed here:
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/managing-table-schemas">https://cloud.google.com/bigquery/docs/managing-table-schemas</a>
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">schema</span><span class="o">=</span><span class="p">[{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">& [...]
-               <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
 </pre></div>
 </div>
 </p></li>
@@ -576,9 +576,9 @@ definition for the table.</p></li>
 If set, it will patch a view instead of a table:
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view</a>
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;query&quot;</span><span class="p">:</span> <span class="s">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 500&quot;</span><span class="p">,</span>
-    <span class="s">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="k">False</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 500&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="kc">False</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -587,8 +587,8 @@ If set, it will patch a view instead of a table:
 partition filter. If false, queries over the table</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -657,8 +657,8 @@ US and EU. See details at
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/locations#specifying_your_location">https://cloud.google.com/bigquery/docs/locations#specifying_your_location</a></p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -719,8 +719,8 @@ table. Format is: <code class="docutils literal notranslate"><span class="pre">(
 passed to BigQuery</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -784,8 +784,8 @@ by one or more columns. This is only available in combination with
 time_partitioning. The order of columns given determines the sort order.</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -1005,22 +1005,22 @@ try to get all datasets</p>
 <dt class="field-even">Returns</dt>
 <dd class="field-even"><p><p>datasets_list</p>
 <p>Example of returned datasets_list:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre>   <span class="p">{</span>
-      <span class="s">&quot;kind&quot;</span><span class="p">:</span><span class="s">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
-      <span class="s">&quot;location&quot;</span><span class="p">:</span><span class="s">&quot;US&quot;</span><span class="p">,</span>
-      <span class="s">&quot;id&quot;</span><span class="p">:</span><span class="s">&quot;your-project:dataset_2_test&quot;</span><span class="p">,</span>
-      <span class="s">&quot;datasetReference&quot;</span><span class="p">:{</span>
-         <span class="s">&quot;projectId&quot;</span><span class="p">:</span><span class="s">&quot;your-project&quot;</span><span class="p">,</span>
-         <span class="s">&quot;datasetId&quot;</span><span class="p">:</span><span class="s">&quot;dataset_2_test&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>   <span class="p">{</span>
+      <span class="s2">&quot;kind&quot;</span><span class="p">:</span><span class="s2">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;location&quot;</span><span class="p">:</span><span class="s2">&quot;US&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;id&quot;</span><span class="p">:</span><span class="s2">&quot;your-project:dataset_2_test&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;datasetReference&quot;</span><span class="p">:{</span>
+         <span class="s2">&quot;projectId&quot;</span><span class="p">:</span><span class="s2">&quot;your-project&quot;</span><span class="p">,</span>
+         <span class="s2">&quot;datasetId&quot;</span><span class="p">:</span><span class="s2">&quot;dataset_2_test&quot;</span>
       <span class="p">}</span>
    <span class="p">},</span>
    <span class="p">{</span>
-      <span class="s">&quot;kind&quot;</span><span class="p">:</span><span class="s">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
-      <span class="s">&quot;location&quot;</span><span class="p">:</span><span class="s">&quot;US&quot;</span><span class="p">,</span>
-      <span class="s">&quot;id&quot;</span><span class="p">:</span><span class="s">&quot;your-project:dataset_1_test&quot;</span><span class="p">,</span>
-      <span class="s">&quot;datasetReference&quot;</span><span class="p">:{</span>
-         <span class="s">&quot;projectId&quot;</span><span class="p">:</span><span class="s">&quot;your-project&quot;</span><span class="p">,</span>
-         <span class="s">&quot;datasetId&quot;</span><span class="p">:</span><span class="s">&quot;dataset_1_test&quot;</span>
+      <span class="s2">&quot;kind&quot;</span><span class="p">:</span><span class="s2">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;location&quot;</span><span class="p">:</span><span class="s2">&quot;US&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;id&quot;</span><span class="p">:</span><span class="s2">&quot;your-project:dataset_1_test&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;datasetReference&quot;</span><span class="p">:{</span>
+         <span class="s2">&quot;projectId&quot;</span><span class="p">:</span><span class="s2">&quot;your-project&quot;</span><span class="p">,</span>
+         <span class="s2">&quot;datasetId&quot;</span><span class="p">:</span><span class="s2">&quot;dataset_1_test&quot;</span>
       <span class="p">}</span>
    <span class="p">}</span>
 <span class="p">]</span>
diff --git a/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
index 0231f18..0eb7d25 100644
--- a/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -300,36 +300,36 @@ field of the connection.</p>
 <p>Port can be specified in the port field of the connection.</p>
 <p>If SSL is enabled in Cassandra, pass in a dict in the extra field as kwargs for
 <code class="docutils literal notranslate"><span class="pre">ssl.wrap_socket()</span></code>. For example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="p">{</span>
-    <span class="s">&#39;ssl_options&#39;</span> <span class="p">:</span> <span class="p">{</span>
-        <span class="s">&#39;ca_certs&#39;</span> <span class="p">:</span> <span class="n">PATH_TO_CA_CERTS</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+    <span class="s1">&#39;ssl_options&#39;</span> <span class="p">:</span> <span class="p">{</span>
+        <span class="s1">&#39;ca_certs&#39;</span> <span class="p">:</span> <span class="n">PATH_TO_CA_CERTS</span>
     <span class="p">}</span>
 <span class="p">}</span>
 </pre></div>
 </div>
 <p>Default load balancing policy is RoundRobinPolicy. To specify a different
 LB policy:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="o">-</span> <span class="n">DCAwareRoundRobinPolicy</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">DCAwareRoundRobinPolicy</span>
     <span class="p">{</span>
-        <span class="s">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">,</span>
-        <span class="s">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&#39;local_dc&#39;</span><span class="p">:</span> <span class="n">LOCAL_DC_NAME</span><span class="p">,</span>                      <span class="o">//</span> <span class="n">optional</span>
-            <span class="s">&#39;used_hosts_per_remote_dc&#39;</span><span class="p">:</span> <span class="n">SOME_INT_VALUE</span><span class="p">,</span>     <span class="o">//</span> <span class="n">optional</span>
+        <span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s1">&#39;local_dc&#39;</span><span class="p">:</span> <span class="n">LOCAL_DC_NAME</span><span class="p">,</span>                      <span class="o">//</span> <span class="n">optional</span>
+            <span class="s1">&#39;used_hosts_per_remote_dc&#39;</span><span class="p">:</span> <span class="n">SOME_INT_VALUE</span><span class="p">,</span>     <span class="o">//</span> <span class="n">optional</span>
         <span class="p">}</span>
      <span class="p">}</span>
 <span class="o">-</span> <span class="n">WhiteListRoundRobinPolicy</span>
     <span class="p">{</span>
-        <span class="s">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">,</span>
-        <span class="s">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&#39;hosts&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;HOST1&#39;</span><span class="p">,</span> <span class="s">&#39;HOST2&#39;</span><span class="p">,</span> <span class="s">&#39;HOST3&#39;</span><span class="p">]</span>
+        <span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s1">&#39;hosts&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;HOST1&#39;</span><span class="p">,</span> <span class="s1">&#39;HOST2&#39;</span><span class="p">,</span> <span class="s1">&#39;HOST3&#39;</span><span class="p">]</span>
         <span class="p">}</span>
     <span class="p">}</span>
 <span class="o">-</span> <span class="n">TokenAwarePolicy</span>
     <span class="p">{</span>
-        <span class="s">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s">&#39;TokenAwarePolicy&#39;</span><span class="p">,</span>
-        <span class="s">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&#39;child_load_balancing_policy&#39;</span><span class="p">:</span> <span class="n">CHILD_POLICY_NAME</span><span class="p">,</span> <span class="o">//</span> <span class="n">optional</span>
-            <span class="s">&#39;child_load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span> <span class="o">...</span> <span class="p">}</span>       <span class="o">//</span> <span class="n">optional</span>
+        <span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">:</span> <span class="s1">&#39;TokenAwarePolicy&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s1">&#39;child_load_balancing_policy&#39;</span><span class="p">:</span> <span class="n">CHILD_POLICY_NAME</span><span class="p">,</span> <span class="o">//</span> <span class="n">optional</span>
+            <span class="s1">&#39;child_load_balancing_policy_args&#39;</span><span class="p">:</span> <span class="p">{</span> <span class="o">...</span> <span class="p">}</span>       <span class="o">//</span> <span class="n">optional</span>
         <span class="p">}</span>
     <span class="p">}</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
index e1053ee..83e14ff 100644
--- a/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
index fa6cebb..ca4c0c4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -342,13 +342,13 @@ https://www.sphinx-doc.org/en/master/templating.html
 settings provided by users, specifically in the host field.</p>
 <p>For example – when users supply <code class="docutils literal notranslate"><span class="pre">https://xx.cloud.databricks.com</span></code> as the
 host, we must strip out the protocol to get the host.:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">h</span> <span class="o">=</span> <span class="n">DatabricksHook</span><span class="p">()</span>
-<span class="k">assert</span> <span class="n">h</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="s">&#39;https://xx.cloud.databricks.com&#39;</span><span class="p">)</span> <span class="o">==</span>                 <span class="s">&#39;xx.cloud.databricks.com&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">h</span> <span class="o">=</span> <span class="n">DatabricksHook</span><span class="p">()</span>
+<span class="k">assert</span> <span class="n">h</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="s1">&#39;https://xx.cloud.databricks.com&#39;</span><span class="p">)</span> <span class="o">==</span>                 <span class="s1">&#39;xx.cloud.databricks.com&#39;</span>
 </pre></div>
 </div>
 <p>In the case where users supply the correct <code class="docutils literal notranslate"><span class="pre">xx.cloud.databricks.com</span></code> as the
 host, this function is a no-op.:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">assert</span> <span class="n">h</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="s">&#39;xx.cloud.databricks.com&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;xx.cloud.databricks.com&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">assert</span> <span class="n">h</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="s1">&#39;xx.cloud.databricks.com&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;xx.cloud.databricks.com&#39;</span>
 </pre></div>
 </div>
 </dd></dl>
diff --git a/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
index 14163e7..8de3a14 100644
--- a/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
index 00a41b3..1bcb9e6 100644
--- a/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
index 2d7cc14..6f9dbab 100644
--- a/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
index 5b2830f..8d83385 100644
--- a/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
index bccd966..876da51 100644
--- a/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
index ca52815..e5724b5 100644
--- a/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
index a174fcc..98d356a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -404,18 +404,18 @@ callback.
 </ul>
 </dd>
 </dl>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">hook</span> <span class="o">=</span> <span class="n">FTPHook</span><span class="p">(</span><span class="n">ftp_conn_id</span><span class="o">=</span><span class="s">&#39;my_conn&#39;</span><span class="p">)</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">hook</span> <span class="o">=</span> <span class="n">FTPHook</span><span class="p">(</span><span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;my_conn&#39;</span><span class="p">)</span>
 
-<span class="n">remote_path</span> <span class="o">=</span> <span class="s">&#39;/path/to/remote/file&#39;</span>
-<span class="n">local_path</span> <span class="o">=</span> <span class="s">&#39;/path/to/local/file&#39;</span>
+<span class="n">remote_path</span> <span class="o">=</span> <span class="s1">&#39;/path/to/remote/file&#39;</span>
+<span class="n">local_path</span> <span class="o">=</span> <span class="s1">&#39;/path/to/local/file&#39;</span>
 
-<span class="c"># with a custom callback (in this case displaying progress on each read)</span>
+<span class="c1"># with a custom callback (in this case displaying progress on each read)</span>
 <span class="k">def</span> <span class="nf">print_progress</span><span class="p">(</span><span class="n">percent_progress</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&#39;Percent Downloaded: </span><span class="si">%s%%</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">percent_progress</span><span class="p">)</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Percent Downloaded: </span><span class="si">%s%%</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">percent_progress</span><span class="p">)</span>
 
 <span class="n">total_downloaded</span> <span class="o">=</span> <span class="mi">0</span>
 <span class="n">total_file_size</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_size</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
-<span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="s">&#39;wb&#39;</span><span class="p">)</span>
+<span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
 <span class="k">def</span> <span class="nf">write_to_file_with_progress</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
     <span class="n">total_downloaded</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
     <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
@@ -423,7 +423,7 @@ callback.
     <span class="n">print_progress</span><span class="p">(</span><span class="n">percent_progress</span><span class="p">)</span>
 <span class="n">hook</span><span class="o">.</span><span class="n">retrieve_file</span><span class="p">(</span><span class="n">remote_path</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">callback</span><span class="o">=</span><span class="n">write_to_file_with_progress</span><span class="p">)</span>
 
-<span class="c"># without a custom callback data is written to the local_path</span>
+<span class="c1"># without a custom callback data is written to the local_path</span>
 <span class="n">hook</span><span class="o">.</span><span class="n">retrieve_file</span><span class="p">(</span><span class="n">remote_path</span><span class="p">,</span> <span class="n">local_path</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
index bd966f9..a4bfa5d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
index 426f021..f1a44f3 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
index ab3c317..b7a7f37 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
index ea4a083..7282427 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
index a4c5586..20085d3 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
index e2eefdf..2357ec0 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
index bed5cbc..0f3e12d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
index fce2ed8..8dbdc6d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
index 633f8b0..ac24a61 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
index 5522e6a..ae4e87c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
index 5baee87..66bd244 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -316,10 +316,10 @@ https://www.sphinx-doc.org/en/master/templating.html
 job will be launched.</p></li>
 <li><p><strong>job</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>MLEngine Job object that should be provided to the MLEngine
 API, such as:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="p">{</span>
-  <span class="s">&#39;jobId&#39;</span><span class="p">:</span> <span class="s">&#39;my_job_id&#39;</span><span class="p">,</span>
-  <span class="s">&#39;trainingInput&#39;</span><span class="p">:</span> <span class="p">{</span>
-    <span class="s">&#39;scaleTier&#39;</span><span class="p">:</span> <span class="s">&#39;STANDARD_1&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+  <span class="s1">&#39;jobId&#39;</span><span class="p">:</span> <span class="s1">&#39;my_job_id&#39;</span><span class="p">,</span>
+  <span class="s1">&#39;trainingInput&#39;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s1">&#39;scaleTier&#39;</span><span class="p">:</span> <span class="s1">&#39;STANDARD_1&#39;</span><span class="p">,</span>
     <span class="o">...</span>
   <span class="p">}</span>
 <span class="p">}</span>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
index a2c2149..cc41736 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
index 2468946..e4c3c06 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
index a13db1b..497cd27 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
index ac9b344..9cc77b7 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
index fa35559..88ffc81 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
index 4bd8240..79427ad 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
index d4436a9..7d843ee 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
index d435b3b..983d8bb 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
index 7ce9b8f..c605cd1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
index db16c1e..898f86d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
index 5b109b0..eeb6779 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
index e357301..9da6482 100644
--- a/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
index 5cfea72..5c2af6e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/index.html b/1.10.5/_api/airflow/contrib/hooks/index.html
index 28d50c5..dff28fd 100644
--- a/1.10.5/_api/airflow/contrib/hooks/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
index e628b30..f063d73 100644
--- a/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
index ac3b38f..1db4351 100644
--- a/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
index 0e53ffd..e2fabd4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
index 0eadbd6..8bdd9c6 100644
--- a/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
index e60e41d..e91d8d1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
index f05a722..2dc8329 100644
--- a/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
index 0509772..e364c7e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
index 553d79f..fcc5d27 100644
--- a/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
index e1739ac..8fa6064 100644
--- a/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
index 0a61134..7453244 100644
--- a/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
index 606596a..fad863b 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
index 59842ec..ad74430 100644
--- a/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
index 8c03498..e8052a0 100644
--- a/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
index 3650df1..7187658 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -297,16 +297,22 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>This hook is inherited from SSH hook. Please refer to SSH hook for the input
 arguments.</p>
 <p>Interact with SFTP. Aims to be interchangeable with FTPHook.</p>
-<p>:Pitfalls:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="o">-</span> <span class="n">In</span> <span class="n">contrast</span> <span class="k">with</span> <span class="n">FTPHook</span> <span class="n">describe_directory</span> <span class="n">only</span> <span class="n">returns</span> <span class="n">size</span><span class="p">,</span> <span class="nb">type</span> <span class="ow">and</span>
-  <span class="n">modify</span><span class="o">.</span> <span class="n">It</span> <span class="n">doesn</span><span class="s">&#39;t return unix.owner, unix.mode, perm, unix.group and</span>
-  <span class="n">unique</span><span class="o">.</span>
-<span class="o">-</span> <span class="n">retrieve_file</span> <span class="ow">and</span> <span class="n">store_file</span> <span class="n">only</span> <span class="n">take</span> <span class="n">a</span> <span class="n">local</span> <span class="n">full</span> <span class="n">path</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span>
-   <span class="n">buffer</span><span class="o">.</span>
-<span class="o">-</span> <span class="n">If</span> <span class="n">no</span> <span class="n">mode</span> <span class="ow">is</span> <span class="n">passed</span> <span class="n">to</span> <span class="n">create_directory</span> <span class="n">it</span> <span class="n">will</span> <span class="n">be</span> <span class="n">created</span> <span class="k">with</span> <span class="mi">777</span>
-  <span class="n">permissions</span><span class="o">.</span>
-</pre></div>
-</div>
+<dl class="field-list simple">
+<dt class="field-odd">Pitfalls:</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p>In contrast with FTPHook describe_directory only returns size, type and
+modify. It doesn’t return unix.owner, unix.mode, perm, unix.group and
+unique.</p></li>
+<li><dl class="simple">
+<dt>retrieve_file and store_file only take a local full path and not a</dt><dd><p>buffer.</p>
+</dd>
+</dl>
+</li>
+<li><p>If no mode is passed to create_directory it will be created with 777
+permissions.</p></li>
+</ul>
+</dd>
+</dl>
 <p>Errors that may occur throughout but should be handled downstream.</p>
 <dl class="method">
 <dt id="airflow.contrib.hooks.sftp_hook.SFTPHook.get_conn">
diff --git a/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
index a57f84b..c2c28b1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
index c31cc0f..bb1e180 100644
--- a/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
index fbfa32c..d01fdbd 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
index f5c3b53..35eaab2 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
index 2e16966..a5d387d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
index 2aeb9ff..bfb7cc5 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
index 6f32084..d4ba5d0 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
index 279e2e2..db82bd5 100644
--- a/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
index b19bbea..03fa7b6 100644
--- a/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
index 2dedefb..80348d1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
index a28810d..a221589 100644
--- a/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
index af12494..38895da 100644
--- a/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -316,10 +316,10 @@ connecting to Azure Data Lake Storage.</p></li>
 <dl>
 <dt><strong>Example</strong>:</dt><dd><p>The following Operator would list all the Parquet files from <code class="docutils literal notranslate"><span class="pre">folder/output/</span></code>
 folder in the specified ADLS account</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">adls_files</span> <span class="o">=</span> <span class="n">AzureDataLakeStorageListOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;adls_files&#39;</span><span class="p">,</span>
-    <span class="n">path</span><span class="o">=</span><span class="s">&#39;folder/output/*.parquet&#39;</span><span class="p">,</span>
-    <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s">&#39;azure_data_lake_default&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">adls_files</span> <span class="o">=</span> <span class="n">AzureDataLakeStorageListOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;adls_files&#39;</span><span class="p">,</span>
+    <span class="n">path</span><span class="o">=</span><span class="s1">&#39;folder/output/*.parquet&#39;</span><span class="p">,</span>
+    <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s1">&#39;azure_data_lake_default&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
index 6d4eb9f..0fa0e61 100644
--- a/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -320,19 +320,19 @@ domain-wide delegation enabled.</p></li>
 <dt><strong>Examples</strong>:</dt><dd><p>The following Operator would copy a single file named
 <code class="docutils literal notranslate"><span class="pre">hello/world.avro</span></code> from ADLS to the GCS bucket <code class="docutils literal notranslate"><span class="pre">mybucket</span></code>. Its full
 resulting gcs path will be <code class="docutils literal notranslate"><span class="pre">gs://mybucket/hello/world.avro</span></code></p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">copy_single_file</span> <span class="o">=</span> <span class="n">AdlsToGoogleCloudStorageOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;copy_single_file&#39;</span><span class="p">,</span>
-    <span class="n">src_adls</span><span class="o">=</span><span class="s">&#39;hello/world.avro&#39;</span><span class="p">,</span>
-    <span class="n">dest_gcs</span><span class="o">=</span><span class="s">&#39;gs://mybucket&#39;</span><span class="p">,</span>
-    <span class="n">replace</span><span class="o">=</span><span class="k">False</span><span class="p">,</span>
-    <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s">&#39;azure_data_lake_default&#39;</span><span class="p">,</span>
-    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s">&#39;google_cloud_default&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">copy_single_file</span> <span class="o">=</span> <span class="n">AdlsToGoogleCloudStorageOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;copy_single_file&#39;</span><span class="p">,</span>
+    <span class="n">src_adls</span><span class="o">=</span><span class="s1">&#39;hello/world.avro&#39;</span><span class="p">,</span>
+    <span class="n">dest_gcs</span><span class="o">=</span><span class="s1">&#39;gs://mybucket&#39;</span><span class="p">,</span>
+    <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+    <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s1">&#39;azure_data_lake_default&#39;</span><span class="p">,</span>
+    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
 <p>The following Operator would copy all parquet files from ADLS
 to the GCS bucket <code class="docutils literal notranslate"><span class="pre">mybucket</span></code>.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre>   copy_all_files = AdlsToGoogleCloudStorageOperator(
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>   copy_all_files = AdlsToGoogleCloudStorageOperator(
        task_id=&#39;copy_all_files&#39;,
        src_adls=&#39;*.parquet&#39;,
        dest_gcs=&#39;gs://mybucket&#39;,
diff --git a/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html b/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
index 6f392a5..1517178 100644
--- a/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
index 5a3634b..42e3ba2 100644
--- a/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html b/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
index f4f0f72..e8178b8 100644
--- a/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html b/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
index f1c166d..21aa939 100644
--- a/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -358,29 +358,29 @@ the container instance.</p></li>
 </dd>
 </dl>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">AzureContainerInstancesOperator</span><span class="p">(</span>
-    <span class="s">&quot;azure_service_principal&quot;</span><span class="p">,</span>
-    <span class="s">&quot;azure_registry_user&quot;</span><span class="p">,</span>
-    <span class="s">&quot;my-resource-group&quot;</span><span class="p">,</span>
-    <span class="s">&quot;my-container-name-{{ ds }}&quot;</span><span class="p">,</span>
-    <span class="s">&quot;myprivateregistry.azurecr.io/my_container:latest&quot;</span><span class="p">,</span>
-    <span class="s">&quot;westeurope&quot;</span><span class="p">,</span>
-    <span class="p">{</span><span class="s">&quot;MODEL_PATH&quot;</span><span class="p">:</span>  <span class="s">&quot;my_value&quot;</span><span class="p">,</span>
-     <span class="s">&quot;POSTGRES_LOGIN&quot;</span><span class="p">:</span> <span class="s">&quot;{{ macros.connection(&#39;postgres_default&#39;).login }}&quot;</span>
-     <span class="s">&quot;POSTGRES_PASSWORD&quot;</span><span class="p">:</span> <span class="s">&quot;{{ macros.connection(&#39;postgres_default&#39;).password }}&quot;</span><span class="p">,</span>
-     <span class="s">&quot;JOB_GUID&quot;</span><span class="p">:</span> <span class="s">&quot;{{ ti.xcom_pull(task_ids=&#39;task1&#39;, key=&#39;guid&#39;) }}&quot;</span> <span class="p">},</span>
-    <span class="p">[</span><span class="s">&#39;POSTGRES_PASSWORD&#39;</span><span class="p">],</span>
-    <span class="p">[(</span><span class="s">&quot;azure_wasb_conn_id&quot;</span><span class="p">,</span>
-    <span class="s">&quot;my_storage_container&quot;</span><span class="p">,</span>
-    <span class="s">&quot;my_fileshare&quot;</span><span class="p">,</span>
-    <span class="s">&quot;/input-data&quot;</span><span class="p">,</span>
-    <span class="k">True</span><span class="p">),],</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">AzureContainerInstancesOperator</span><span class="p">(</span>
+    <span class="s2">&quot;azure_service_principal&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;azure_registry_user&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;my-resource-group&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;my-container-name-{{ ds }}&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;myprivateregistry.azurecr.io/my_container:latest&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;westeurope&quot;</span><span class="p">,</span>
+    <span class="p">{</span><span class="s2">&quot;MODEL_PATH&quot;</span><span class="p">:</span>  <span class="s2">&quot;my_value&quot;</span><span class="p">,</span>
+     <span class="s2">&quot;POSTGRES_LOGIN&quot;</span><span class="p">:</span> <span class="s2">&quot;{{ macros.connection(&#39;postgres_default&#39;).login }}&quot;</span>
+     <span class="s2">&quot;POSTGRES_PASSWORD&quot;</span><span class="p">:</span> <span class="s2">&quot;{{ macros.connection(&#39;postgres_default&#39;).password }}&quot;</span><span class="p">,</span>
+     <span class="s2">&quot;JOB_GUID&quot;</span><span class="p">:</span> <span class="s2">&quot;{{ ti.xcom_pull(task_ids=&#39;task1&#39;, key=&#39;guid&#39;) }}&quot;</span> <span class="p">},</span>
+    <span class="p">[</span><span class="s1">&#39;POSTGRES_PASSWORD&#39;</span><span class="p">],</span>
+    <span class="p">[(</span><span class="s2">&quot;azure_wasb_conn_id&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;my_storage_container&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;my_fileshare&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;/input-data&quot;</span><span class="p">,</span>
+    <span class="kc">True</span><span class="p">),],</span>
     <span class="n">memory_in_gb</span><span class="o">=</span><span class="mf">14.0</span><span class="p">,</span>
     <span class="n">cpu</span><span class="o">=</span><span class="mf">4.0</span><span class="p">,</span>
-    <span class="n">gpu</span><span class="o">=</span><span class="n">GpuResource</span><span class="p">(</span><span class="n">count</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">sku</span><span class="o">=</span><span class="s">&#39;K80&#39;</span><span class="p">),</span>
-    <span class="n">command</span><span class="o">=</span><span class="p">[</span><span class="s">&quot;/bin/echo&quot;</span><span class="p">,</span> <span class="s">&quot;world&quot;</span><span class="p">],</span>
+    <span class="n">gpu</span><span class="o">=</span><span class="n">GpuResource</span><span class="p">(</span><span class="n">count</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">sku</span><span class="o">=</span><span class="s1">&#39;K80&#39;</span><span class="p">),</span>
+    <span class="n">command</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;/bin/echo&quot;</span><span class="p">,</span> <span class="s2">&quot;world&quot;</span><span class="p">],</span>
     <span class="n">container_timeout</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;start_container&quot;</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;start_container&quot;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html b/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
index ebbe5fe..0aafbfd 100644
--- a/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
index 3c97c95..030b125 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -386,7 +386,7 @@ or standard SQL (false).</p></li>
 <p>Checks that the values of metrics given as SQL expressions are within
 a certain tolerance of the ones from days_back before.</p>
 <p>This method constructs a query like so</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">SELECT</span> <span class="p">{</span><span class="n">metrics_threshold_dict_key</span><span class="p">}</span> <span class="n">FROM</span> <span class="p">{</span><span class="n">table</span><span class="p">}</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SELECT</span> <span class="p">{</span><span class="n">metrics_threshold_dict_key</span><span class="p">}</span> <span class="n">FROM</span> <span class="p">{</span><span class="n">table</span><span class="p">}</span>
 <span class="n">WHERE</span> <span class="p">{</span><span class="n">date_filter_column</span><span class="p">}</span><span class="o">=&lt;</span><span class="n">date</span><span class="o">&gt;</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
index 3ffec13..63d47a4 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -313,13 +313,13 @@ For example if the BQ table has 3 columns as
 the data would still be of the form <code class="docutils literal notranslate"><span class="pre">'A,B'</span></code>.</p>
 </div>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">get_data</span> <span class="o">=</span> <span class="n">BigQueryGetDataOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;get_data_from_bq&#39;</span><span class="p">,</span>
-    <span class="n">dataset_id</span><span class="o">=</span><span class="s">&#39;test_dataset&#39;</span><span class="p">,</span>
-    <span class="n">table_id</span><span class="o">=</span><span class="s">&#39;Transaction_partitions&#39;</span><span class="p">,</span>
-    <span class="n">max_results</span><span class="o">=</span><span class="s">&#39;100&#39;</span><span class="p">,</span>
-    <span class="n">selected_fields</span><span class="o">=</span><span class="s">&#39;DATE&#39;</span><span class="p">,</span>
-    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">get_data</span> <span class="o">=</span> <span class="n">BigQueryGetDataOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;get_data_from_bq&#39;</span><span class="p">,</span>
+    <span class="n">dataset_id</span><span class="o">=</span><span class="s1">&#39;test_dataset&#39;</span><span class="p">,</span>
+    <span class="n">table_id</span><span class="o">=</span><span class="s1">&#39;Transaction_partitions&#39;</span><span class="p">,</span>
+    <span class="n">max_results</span><span class="o">=</span><span class="s1">&#39;100&#39;</span><span class="p">,</span>
+    <span class="n">selected_fields</span><span class="o">=</span><span class="s1">&#39;DATE&#39;</span><span class="p">,</span>
+    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
index e54fbaa..ddb95c0 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -383,8 +383,8 @@ US and EU. See details at
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/locations#specifying_your_location">https://cloud.google.com/bigquery/docs/locations#specifying_your_location</a></p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -444,8 +444,8 @@ You can also create a table without schema.</p>
 <li><p><strong>schema_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – <p>If set, the schema field list as defined here:
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema">https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</a></p>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span clas [...]
-               <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">: [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
 </pre></div>
 </div>
 </p></li>
@@ -467,50 +467,50 @@ work, the service account making the request must have domain-wide
 delegation enabled.</p></li>
 <li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>a dictionary containing labels for the table, passed to BigQuery</p>
 <p><strong>Example (with schema JSON in GCS)</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">CreateTable</span> <span class="o">=</span> <span class="n">BigQueryCreateEmptyTableOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;BigQueryCreateEmptyTableOperator_task&#39;</span><span class="p">,</span>
-    <span class="n">dataset_id</span><span class="o">=</span><span class="s">&#39;ODS&#39;</span><span class="p">,</span>
-    <span class="n">table_id</span><span class="o">=</span><span class="s">&#39;Employees&#39;</span><span class="p">,</span>
-    <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;internal-gcp-project&#39;</span><span class="p">,</span>
-    <span class="n">gcs_schema_object</span><span class="o">=</span><span class="s">&#39;gs://schema-bucket/employee_schema.json&#39;</span><span class="p">,</span>
-    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span><span class="p">,</span>
-    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CreateTable</span> <span class="o">=</span> <span class="n">BigQueryCreateEmptyTableOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;BigQueryCreateEmptyTableOperator_task&#39;</span><span class="p">,</span>
+    <span class="n">dataset_id</span><span class="o">=</span><span class="s1">&#39;ODS&#39;</span><span class="p">,</span>
+    <span class="n">table_id</span><span class="o">=</span><span class="s1">&#39;Employees&#39;</span><span class="p">,</span>
+    <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;internal-gcp-project&#39;</span><span class="p">,</span>
+    <span class="n">gcs_schema_object</span><span class="o">=</span><span class="s1">&#39;gs://schema-bucket/employee_schema.json&#39;</span><span class="p">,</span>
+    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span><span class="p">,</span>
+    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
 <p><strong>Corresponding Schema file</strong> (<code class="docutils literal notranslate"><span class="pre">employee_schema.json</span></code>):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="p">[</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span>
   <span class="p">{</span>
-    <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">,</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span>
-    <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span>
+    <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span>
   <span class="p">},</span>
   <span class="p">{</span>
-    <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;REQUIRED&quot;</span><span class="p">,</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span>
-    <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span>
+    <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;REQUIRED&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span>
   <span class="p">}</span>
 <span class="p">]</span>
 </pre></div>
 </div>
 <p><strong>Example (with schema in the DAG)</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">CreateTable</span> <span class="o">=</span> <span class="n">BigQueryCreateEmptyTableOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;BigQueryCreateEmptyTableOperator_task&#39;</span><span class="p">,</span>
-    <span class="n">dataset_id</span><span class="o">=</span><span class="s">&#39;ODS&#39;</span><span class="p">,</span>
-    <span class="n">table_id</span><span class="o">=</span><span class="s">&#39;Employees&#39;</span><span class="p">,</span>
-    <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;internal-gcp-project&#39;</span><span class="p">,</span>
-    <span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;REQUIRED&quot;</span><span class="p">},</span>
-                   <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">}],</span>
-    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span><span class="p">,</span>
-    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CreateTable</span> <span class="o">=</span> <span class="n">BigQueryCreateEmptyTableOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;BigQueryCreateEmptyTableOperator_task&#39;</span><span class="p">,</span>
+    <span class="n">dataset_id</span><span class="o">=</span><span class="s1">&#39;ODS&#39;</span><span class="p">,</span>
+    <span class="n">table_id</span><span class="o">=</span><span class="s1">&#39;Employees&#39;</span><span class="p">,</span>
+    <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;internal-gcp-project&#39;</span><span class="p">,</span>
+    <span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;REQUIRED&quot;</span><span class="p">},</span>
+                   <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}],</span>
+    <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span><span class="p">,</span>
+    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
 </p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -558,8 +558,8 @@ project will be the project defined in the connection json.</p></li>
 <li><p><strong>schema_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – <p>If set, the schema field list as defined here:
 <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema">https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</a></p>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;STRING&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span clas [...]
-               <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;salary&quot;</span><span class="p">,</span> <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s">&quot;mode&quot;</span><span class="p">:</span> <span class="s">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">: [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
 </pre></div>
 </div>
 <p>Should not be set when source_format is ‘DATASTORE_BACKUP’.</p>
@@ -593,8 +593,8 @@ delegation enabled.</p></li>
 <li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the table, passed to BigQuery</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
@@ -634,10 +634,10 @@ delegation enabled.</p></li>
 </dd>
 </dl>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">delete_temp_data</span> <span class="o">=</span> <span class="n">BigQueryDeleteDatasetOperator</span><span class="p">(</span><span class="n">dataset_id</span> <span class="o">=</span> <span class="s">&#39;temp-dataset&#39;</span><span class="p">,</span>
-                                                 <span class="n">project_id</span> <span class="o">=</span> <span class="s">&#39;temp-project&#39;</span><span class="p">,</span>
-                                                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s">&#39;_my_gcp_conn_&#39;</span><span class="p">,</span>
-                                                 <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;Deletetemp&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">delete_temp_data</span> <span class="o">=</span> <span class="n">BigQueryDeleteDatasetOperator</span><span class="p">(</span><span class="n">dataset_id</span> <span class="o">=</span> <span class="s1">&#39;temp-dataset&#39;</span><span class="p">,</span>
+                                                 <span class="n">project_id</span> <span class="o">=</span> <span class="s1">&#39;temp-project&#39;</span><span class="p">,</span>
+                                                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;_my_gcp_conn_&#39;</span><span class="p">,</span>
+                                                 <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;Deletetemp&#39;</span><span class="p">,</span>
                                                  <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
index 3dbfefd..747564d 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
index 40a17e7..dbbb959 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -324,8 +324,8 @@ delegation enabled.</p></li>
 passed to BigQuery</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
index 9ae1134..433a339 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
index 8647e74..e71f4ce 100644
--- a/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html b/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
index f6b5b72..39aa44e 100644
--- a/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -343,31 +343,31 @@ API endpoint.</p>
 to call the <code class="docutils literal notranslate"><span class="pre">api/2.0/jobs/runs/submit</span></code> endpoint and pass it directly
 to our <code class="docutils literal notranslate"><span class="pre">DatabricksSubmitRunOperator</span></code> through the <code class="docutils literal notranslate"><span class="pre">json</span></code> parameter.
 For example</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">json</span> <span class="o">=</span> <span class="p">{</span>
-  <span class="s">&#39;new_cluster&#39;</span><span class="p">:</span> <span class="p">{</span>
-    <span class="s">&#39;spark_version&#39;</span><span class="p">:</span> <span class="s">&#39;2.1.0-db3-scala2.11&#39;</span><span class="p">,</span>
-    <span class="s">&#39;num_workers&#39;</span><span class="p">:</span> <span class="mi">2</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">json</span> <span class="o">=</span> <span class="p">{</span>
+  <span class="s1">&#39;new_cluster&#39;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s1">&#39;spark_version&#39;</span><span class="p">:</span> <span class="s1">&#39;2.1.0-db3-scala2.11&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;num_workers&#39;</span><span class="p">:</span> <span class="mi">2</span>
   <span class="p">},</span>
-  <span class="s">&#39;notebook_task&#39;</span><span class="p">:</span> <span class="p">{</span>
-    <span class="s">&#39;notebook_path&#39;</span><span class="p">:</span> <span class="s">&#39;/Users/airflow@example.com/PrepareData&#39;</span><span class="p">,</span>
+  <span class="s1">&#39;notebook_task&#39;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s1">&#39;notebook_path&#39;</span><span class="p">:</span> <span class="s1">&#39;/Users/airflow@example.com/PrepareData&#39;</span><span class="p">,</span>
   <span class="p">},</span>
 <span class="p">}</span>
-<span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksSubmitRunOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s">&#39;notebook_run&#39;</span><span class="p">,</span> <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">)</span>
+<span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksSubmitRunOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;notebook_run&#39;</span><span class="p">,</span> <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">)</span>
 </pre></div>
 </div>
 <p>Another way to accomplish the same thing is to use the named parameters
 of the <code class="docutils literal notranslate"><span class="pre">DatabricksSubmitRunOperator</span></code> directly. Note that there is exactly
 one named parameter for each top level parameter in the <code class="docutils literal notranslate"><span class="pre">runs/submit</span></code>
 endpoint. In this method, your code would look like this:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">new_cluster</span> <span class="o">=</span> <span class="p">{</span>
-  <span class="s">&#39;spark_version&#39;</span><span class="p">:</span> <span class="s">&#39;2.1.0-db3-scala2.11&#39;</span><span class="p">,</span>
-  <span class="s">&#39;num_workers&#39;</span><span class="p">:</span> <span class="mi">2</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">new_cluster</span> <span class="o">=</span> <span class="p">{</span>
+  <span class="s1">&#39;spark_version&#39;</span><span class="p">:</span> <span class="s1">&#39;2.1.0-db3-scala2.11&#39;</span><span class="p">,</span>
+  <span class="s1">&#39;num_workers&#39;</span><span class="p">:</span> <span class="mi">2</span>
 <span class="p">}</span>
 <span class="n">notebook_task</span> <span class="o">=</span> <span class="p">{</span>
-  <span class="s">&#39;notebook_path&#39;</span><span class="p">:</span> <span class="s">&#39;/Users/airflow@example.com/PrepareData&#39;</span><span class="p">,</span>
+  <span class="s1">&#39;notebook_path&#39;</span><span class="p">:</span> <span class="s1">&#39;/Users/airflow@example.com/PrepareData&#39;</span><span class="p">,</span>
 <span class="p">}</span>
 <span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksSubmitRunOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;notebook_run&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;notebook_run&#39;</span><span class="p">,</span>
     <span class="n">new_cluster</span><span class="o">=</span><span class="n">new_cluster</span><span class="p">,</span>
     <span class="n">notebook_task</span><span class="o">=</span><span class="n">notebook_task</span><span class="p">)</span>
 </pre></div>
@@ -502,31 +502,31 @@ API endpoint.</p>
 to call the <code class="docutils literal notranslate"><span class="pre">api/2.0/jobs/run-now</span></code> endpoint and pass it directly
 to our <code class="docutils literal notranslate"><span class="pre">DatabricksRunNowOperator</span></code> through the <code class="docutils literal notranslate"><span class="pre">json</span></code> parameter.
 For example</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">json</span> <span class="o">=</span> <span class="p">{</span>
-  <span class="s">&quot;job_id&quot;</span><span class="p">:</span> <span class="mi">42</span><span class="p">,</span>
-  <span class="s">&quot;notebook_params&quot;</span><span class="p">:</span> <span class="p">{</span>
-    <span class="s">&quot;dry-run&quot;</span><span class="p">:</span> <span class="s">&quot;true&quot;</span><span class="p">,</span>
-    <span class="s">&quot;oldest-time-to-consider&quot;</span><span class="p">:</span> <span class="s">&quot;1457570074236&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">json</span> <span class="o">=</span> <span class="p">{</span>
+  <span class="s2">&quot;job_id&quot;</span><span class="p">:</span> <span class="mi">42</span><span class="p">,</span>
+  <span class="s2">&quot;notebook_params&quot;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s2">&quot;dry-run&quot;</span><span class="p">:</span> <span class="s2">&quot;true&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;oldest-time-to-consider&quot;</span><span class="p">:</span> <span class="s2">&quot;1457570074236&quot;</span>
   <span class="p">}</span>
 <span class="p">}</span>
 
-<span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksRunNowOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s">&#39;notebook_run&#39;</span><span class="p">,</span> <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">)</span>
+<span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksRunNowOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;notebook_run&#39;</span><span class="p">,</span> <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">)</span>
 </pre></div>
 </div>
 <p>Another way to accomplish the same thing is to use the named parameters
 of the <code class="docutils literal notranslate"><span class="pre">DatabricksRunNowOperator</span></code> directly. Note that there is exactly
 one named parameter for each top level parameter in the <code class="docutils literal notranslate"><span class="pre">run-now</span></code>
 endpoint. In this method, your code would look like this:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">job_id</span><span class="o">=</span><span class="mi">42</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">job_id</span><span class="o">=</span><span class="mi">42</span>
 
 <span class="n">notebook_params</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;dry-run&quot;</span><span class="p">:</span> <span class="s">&quot;true&quot;</span><span class="p">,</span>
-    <span class="s">&quot;oldest-time-to-consider&quot;</span><span class="p">:</span> <span class="s">&quot;1457570074236&quot;</span>
+    <span class="s2">&quot;dry-run&quot;</span><span class="p">:</span> <span class="s2">&quot;true&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;oldest-time-to-consider&quot;</span><span class="p">:</span> <span class="s2">&quot;1457570074236&quot;</span>
 <span class="p">}</span>
 
-<span class="n">python_params</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;douglas adams&quot;</span><span class="p">,</span> <span class="s">&quot;42&quot;</span><span class="p">]</span>
+<span class="n">python_params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;douglas adams&quot;</span><span class="p">,</span> <span class="s2">&quot;42&quot;</span><span class="p">]</span>
 
-<span class="n">spark_submit_params</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;--class&quot;</span><span class="p">,</span> <span class="s">&quot;org.apache.spark.examples.SparkPi&quot;</span><span class="p">]</span>
+<span class="n">spark_submit_params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--class&quot;</span><span class="p">,</span> <span class="s2">&quot;org.apache.spark.examples.SparkPi&quot;</span><span class="p">]</span>
 
 <span class="n">notebook_run</span> <span class="o">=</span> <span class="n">DatabricksRunNowOperator</span><span class="p">(</span>
     <span class="n">job_id</span><span class="o">=</span><span class="n">job_id</span><span class="p">,</span>
diff --git a/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
index b8d90bb..1a0b27a 100644
--- a/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -301,34 +301,34 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>Start a Java Cloud DataFlow batch job. The parameters of the operation
 will be passed to the job.</p>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;owner&#39;</span><span class="p">:</span> <span class="s">&#39;airflow&#39;</span><span class="p">,</span>
-    <span class="s">&#39;depends_on_past&#39;</span><span class="p">:</span> <span class="k">False</span><span class="p">,</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;owner&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;depends_on_past&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span>
         <span class="p">(</span><span class="mi">2016</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span>
-    <span class="s">&#39;email&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;alex@vanboxel.be&#39;</span><span class="p">],</span>
-    <span class="s">&#39;email_on_failure&#39;</span><span class="p">:</span> <span class="k">False</span><span class="p">,</span>
-    <span class="s">&#39;email_on_retry&#39;</span><span class="p">:</span> <span class="k">False</span><span class="p">,</span>
-    <span class="s">&#39;retries&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
-    <span class="s">&#39;retry_delay&#39;</span><span class="p">:</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span><span class="o">=</span><span class="mi">30</span><span class="p">),</span>
-    <span class="s">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&#39;project&#39;</span><span class="p">:</span> <span class="s">&#39;my-gcp-project&#39;</span><span class="p">,</span>
-        <span class="s">&#39;zone&#39;</span><span class="p">:</span> <span class="s">&#39;us-central1-f&#39;</span><span class="p">,</span>
-        <span class="s">&#39;stagingLocation&#39;</span><span class="p">:</span> <span class="s">&#39;gs://bucket/tmp/dataflow/staging/&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;email&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;alex@vanboxel.be&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;email_on_failure&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+    <span class="s1">&#39;email_on_retry&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+    <span class="s1">&#39;retries&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
+    <span class="s1">&#39;retry_delay&#39;</span><span class="p">:</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span><span class="o">=</span><span class="mi">30</span><span class="p">),</span>
+    <span class="s1">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s1">&#39;project&#39;</span><span class="p">:</span> <span class="s1">&#39;my-gcp-project&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;zone&#39;</span><span class="p">:</span> <span class="s1">&#39;us-central1-f&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;stagingLocation&#39;</span><span class="p">:</span> <span class="s1">&#39;gs://bucket/tmp/dataflow/staging/&#39;</span><span class="p">,</span>
     <span class="p">}</span>
 <span class="p">}</span>
 
-<span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;test-dag&#39;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">)</span>
+<span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;test-dag&#39;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">)</span>
 
 <span class="n">task</span> <span class="o">=</span> <span class="n">DataFlowJavaOperator</span><span class="p">(</span>
-    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s">&#39;gcp_default&#39;</span><span class="p">,</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;normalize-cal&#39;</span><span class="p">,</span>
-    <span class="n">jar</span><span class="o">=</span><span class="s">&#39;{{var.value.gcp_dataflow_base}}pipeline-ingress-cal-normalize-1.0.jar&#39;</span><span class="p">,</span>
+    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;gcp_default&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;normalize-cal&#39;</span><span class="p">,</span>
+    <span class="n">jar</span><span class="o">=</span><span class="s1">&#39;{{var.value.gcp_dataflow_base}}pipeline-ingress-cal-normalize-1.0.jar&#39;</span><span class="p">,</span>
     <span class="n">options</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;autoscalingAlgorithm&#39;</span><span class="p">:</span> <span class="s">&#39;BASIC&#39;</span><span class="p">,</span>
-        <span class="s">&#39;maxNumWorkers&#39;</span><span class="p">:</span> <span class="s">&#39;50&#39;</span><span class="p">,</span>
-        <span class="s">&#39;start&#39;</span><span class="p">:</span> <span class="s">&#39;{{ds}}&#39;</span><span class="p">,</span>
-        <span class="s">&#39;partitionType&#39;</span><span class="p">:</span> <span class="s">&#39;DAY&#39;</span>
+        <span class="s1">&#39;autoscalingAlgorithm&#39;</span><span class="p">:</span> <span class="s1">&#39;BASIC&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;maxNumWorkers&#39;</span><span class="p">:</span> <span class="s1">&#39;50&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;start&#39;</span><span class="p">:</span> <span class="s1">&#39;{{ds}}&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;partitionType&#39;</span><span class="p">:</span> <span class="s1">&#39;DAY&#39;</span>
 
     <span class="p">},</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
@@ -369,11 +369,11 @@ high-level options, for instances, project and zone information, which
 apply to all dataflow operators in the DAG.</p>
 <p>It’s a good practice to define dataflow_* parameters in the default_args of the dag
 like the project, zone and staging location.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&#39;project&#39;</span><span class="p">:</span> <span class="s">&#39;my-gcp-project&#39;</span><span class="p">,</span>
-        <span class="s">&#39;zone&#39;</span><span class="p">:</span> <span class="s">&#39;europe-west1-d&#39;</span><span class="p">,</span>
-        <span class="s">&#39;stagingLocation&#39;</span><span class="p">:</span> <span class="s">&#39;gs://my-staging-bucket/staging/&#39;</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s1">&#39;project&#39;</span><span class="p">:</span> <span class="s1">&#39;my-gcp-project&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;zone&#39;</span><span class="p">:</span> <span class="s1">&#39;europe-west1-d&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;stagingLocation&#39;</span><span class="p">:</span> <span class="s1">&#39;gs://my-staging-bucket/staging/&#39;</span>
     <span class="p">}</span>
 <span class="p">}</span>
 </pre></div>
@@ -382,17 +382,17 @@ like the project, zone and staging location.</p>
 parameter, the jar needs to be a self executing jar (see documentation here:
 <a class="reference external" href="https://beam.apache.org/documentation/runners/dataflow/#self-executing-jar">https://beam.apache.org/documentation/runners/dataflow/#self-executing-jar</a>).
 Use <code class="docutils literal notranslate"><span class="pre">options</span></code> to pass on options to your job.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">t1</span> <span class="o">=</span> <span class="n">DataFlowJavaOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;datapflow_example&#39;</span><span class="p">,</span>
-    <span class="n">jar</span><span class="o">=</span><span class="s">&#39;{{var.value.gcp_dataflow_base}}pipeline/build/libs/pipeline-example-1.0.jar&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">t1</span> <span class="o">=</span> <span class="n">DataFlowJavaOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;datapflow_example&#39;</span><span class="p">,</span>
+    <span class="n">jar</span><span class="o">=</span><span class="s1">&#39;{{var.value.gcp_dataflow_base}}pipeline/build/libs/pipeline-example-1.0.jar&#39;</span><span class="p">,</span>
     <span class="n">options</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;autoscalingAlgorithm&#39;</span><span class="p">:</span> <span class="s">&#39;BASIC&#39;</span><span class="p">,</span>
-        <span class="s">&#39;maxNumWorkers&#39;</span><span class="p">:</span> <span class="s">&#39;50&#39;</span><span class="p">,</span>
-        <span class="s">&#39;start&#39;</span><span class="p">:</span> <span class="s">&#39;{{ds}}&#39;</span><span class="p">,</span>
-        <span class="s">&#39;partitionType&#39;</span><span class="p">:</span> <span class="s">&#39;DAY&#39;</span><span class="p">,</span>
-        <span class="s">&#39;labels&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s">&#39;foo&#39;</span> <span class="p">:</span> <span class="s">&#39;bar&#39;</span><span class="p">}</span>
+        <span class="s1">&#39;autoscalingAlgorithm&#39;</span><span class="p">:</span> <span class="s1">&#39;BASIC&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;maxNumWorkers&#39;</span><span class="p">:</span> <span class="s1">&#39;50&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;start&#39;</span><span class="p">:</span> <span class="s1">&#39;{{ds}}&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;partitionType&#39;</span><span class="p">:</span> <span class="s1">&#39;DAY&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;foo&#39;</span> <span class="p">:</span> <span class="s1">&#39;bar&#39;</span><span class="p">}</span>
     <span class="p">},</span>
-    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s">&#39;gcp-airflow-service-account&#39;</span><span class="p">,</span>
+    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;gcp-airflow-service-account&#39;</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">my</span><span class="o">-</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
@@ -445,12 +445,12 @@ like the project, zone and staging location.</p>
 <p><a class="reference external" href="https://cloud.google.com/dataflow/docs/reference/rest/v1b3/LaunchTemplateParameters">https://cloud.google.com/dataflow/docs/reference/rest/v1b3/LaunchTemplateParameters</a>
 <a class="reference external" href="https://cloud.google.com/dataflow/docs/reference/rest/v1b3/RuntimeEnvironment">https://cloud.google.com/dataflow/docs/reference/rest/v1b3/RuntimeEnvironment</a></p>
 </div>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&#39;project&#39;</span><span class="p">:</span> <span class="s">&#39;my-gcp-project&#39;</span><span class="p">,</span>
-        <span class="s">&#39;region&#39;</span><span class="p">:</span> <span class="s">&#39;europe-west1&#39;</span><span class="p">,</span>
-        <span class="s">&#39;zone&#39;</span><span class="p">:</span> <span class="s">&#39;europe-west1-d&#39;</span><span class="p">,</span>
-        <span class="s">&#39;tempLocation&#39;</span><span class="p">:</span> <span class="s">&#39;gs://my-staging-bucket/staging/&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;dataflow_default_options&#39;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s1">&#39;project&#39;</span><span class="p">:</span> <span class="s1">&#39;my-gcp-project&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;region&#39;</span><span class="p">:</span> <span class="s1">&#39;europe-west1&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;zone&#39;</span><span class="p">:</span> <span class="s1">&#39;europe-west1-d&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;tempLocation&#39;</span><span class="p">:</span> <span class="s1">&#39;gs://my-staging-bucket/staging/&#39;</span><span class="p">,</span>
         <span class="p">}</span>
     <span class="p">}</span>
 <span class="p">}</span>
@@ -459,14 +459,14 @@ like the project, zone and staging location.</p>
 <p>You need to pass the path to your dataflow template as a file reference with the
 <code class="docutils literal notranslate"><span class="pre">template</span></code> parameter. Use <code class="docutils literal notranslate"><span class="pre">parameters</span></code> to pass on parameters to your job.
 Use <code class="docutils literal notranslate"><span class="pre">environment</span></code> to pass on runtime environment variables to your job.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">t1</span> <span class="o">=</span> <span class="n">DataflowTemplateOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;datapflow_example&#39;</span><span class="p">,</span>
-    <span class="n">template</span><span class="o">=</span><span class="s">&#39;{{var.value.gcp_dataflow_base}}&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">t1</span> <span class="o">=</span> <span class="n">DataflowTemplateOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;datapflow_example&#39;</span><span class="p">,</span>
+    <span class="n">template</span><span class="o">=</span><span class="s1">&#39;{{var.value.gcp_dataflow_base}}&#39;</span><span class="p">,</span>
     <span class="n">parameters</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;inputFile&#39;</span><span class="p">:</span> <span class="s">&quot;gs://bucket/input/my_input.txt&quot;</span><span class="p">,</span>
-        <span class="s">&#39;outputFile&#39;</span><span class="p">:</span> <span class="s">&quot;gs://bucket/output/my_output.txt&quot;</span>
+        <span class="s1">&#39;inputFile&#39;</span><span class="p">:</span> <span class="s2">&quot;gs://bucket/input/my_input.txt&quot;</span><span class="p">,</span>
+        <span class="s1">&#39;outputFile&#39;</span><span class="p">:</span> <span class="s2">&quot;gs://bucket/output/my_output.txt&quot;</span>
     <span class="p">},</span>
-    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s">&#39;gcp-airflow-service-account&#39;</span><span class="p">,</span>
+    <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;gcp-airflow-service-account&#39;</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">my</span><span class="o">-</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
index 355b8a4..a9f18a0 100644
--- a/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -431,13 +431,13 @@ A duration in seconds. (If auto_delete_time is set this parameter will be ignore
 <p>Scale, up or down, a cluster on Google Cloud Dataproc.
 The operator will wait until the cluster is re-scaled.</p>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">t1</span> <span class="o">=</span> <span class="n">DataprocClusterScaleOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;dataproc_scale&#39;</span><span class="p">,</span>
-        <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-        <span class="n">cluster_name</span><span class="o">=</span><span class="s">&#39;cluster-1&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">t1</span> <span class="o">=</span> <span class="n">DataprocClusterScaleOperator</span><span class="p">(</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;dataproc_scale&#39;</span><span class="p">,</span>
+        <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+        <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
         <span class="n">num_workers</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
         <span class="n">num_preemptible_workers</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
-        <span class="n">graceful_decommission_timeout</span><span class="o">=</span><span class="s">&#39;1h&#39;</span><span class="p">,</span>
+        <span class="n">graceful_decommission_timeout</span><span class="o">=</span><span class="s1">&#39;1h&#39;</span><span class="p">,</span>
         <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
@@ -594,11 +594,11 @@ Cancel any running job.</p>
 will be passed to the cluster.</p>
 <p>It’s a good practice to define dataproc_* parameters in the default_args of the dag
 like the cluster name and UDFs.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;cluster_name&#39;</span><span class="p">:</span> <span class="s">&#39;cluster-1&#39;</span><span class="p">,</span>
-    <span class="s">&#39;dataproc_pig_jars&#39;</span><span class="p">:</span> <span class="p">[</span>
-        <span class="s">&#39;gs://example/udf/jar/datafu/1.2.0/datafu.jar&#39;</span><span class="p">,</span>
-        <span class="s">&#39;gs://example/udf/jar/gpig/1.2/gpig.jar&#39;</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;cluster_name&#39;</span><span class="p">:</span> <span class="s1">&#39;cluster-1&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;dataproc_pig_jars&#39;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s1">&#39;gs://example/udf/jar/datafu/1.2.0/datafu.jar&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;gs://example/udf/jar/gpig/1.2/gpig.jar&#39;</span>
     <span class="p">]</span>
 <span class="p">}</span>
 </pre></div>
@@ -607,10 +607,10 @@ like the cluster name and UDFs.</p>
 variables for the pig script to be resolved on the cluster or use the parameters to
 be resolved in the script as template parameters.</p>
 <p><strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">t1</span> <span class="o">=</span> <span class="n">DataProcPigOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;dataproc_pig&#39;</span><span class="p">,</span>
-        <span class="n">query</span><span class="o">=</span><span class="s">&#39;a_pig_script.pig&#39;</span><span class="p">,</span>
-        <span class="n">variables</span><span class="o">=</span><span class="p">{</span><span class="s">&#39;out&#39;</span><span class="p">:</span> <span class="s">&#39;gs://example/output/{{ds}}&#39;</span><span class="p">},</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">t1</span> <span class="o">=</span> <span class="n">DataProcPigOperator</span><span class="p">(</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;dataproc_pig&#39;</span><span class="p">,</span>
+        <span class="n">query</span><span class="o">=</span><span class="s1">&#39;a_pig_script.pig&#39;</span><span class="p">,</span>
+        <span class="n">variables</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;out&#39;</span><span class="p">:</span> <span class="s1">&#39;gs://example/output/{{ds}}&#39;</span><span class="p">},</span>
         <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html b/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
index 4ac743b..7b41a4c 100644
--- a/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html b/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
index 711c059..c2869f6 100644
--- a/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
index 7ae7c22..e95adb3 100644
--- a/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html b/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
index 476d29b..1fcb8c1 100644
--- a/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html b/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
index 7332b81..0579ef9 100644
--- a/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
index 0fc14c0..ffc6bdc 100644
--- a/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
index d4a77a7..9b412c3 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
index 56795ad..9c2510d 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
index 632eb2c..c49e27d 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
index 54a5128..79793b0 100644
--- a/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html b/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
index 0d5da24..d41f02f 100644
--- a/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
index 84d282b..ace77e6 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
index 1504f72..475309e 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -355,7 +355,7 @@ See: <a class="reference external" href="https://cloud.google.com/cloud-build/do
 <em class="property">static </em><code class="sig-name descname">_convert_repo_url_to_dict</code><span class="sig-paren">(</span><em class="sig-param">source</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/operators/gcp_cloud_build_operator.html#BuildProcessor._convert_repo_url_to_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.operators.gcp_cloud_build_operator.BuildProcesso [...]
 <dd><p>Convert url to repository in Google Cloud Source to a format supported by the API</p>
 <p>Example valid input:</p>
-<div class="highlight-none notranslate"><div class="highlight"><pre>https://source.developers.google.com/p/airflow-project/r/airflow-repo#branch-name
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>https://source.developers.google.com/p/airflow-project/r/airflow-repo#branch-name
 </pre></div>
 </div>
 </dd></dl>
@@ -365,7 +365,7 @@ See: <a class="reference external" href="https://cloud.google.com/cloud-build/do
 <em class="property">static </em><code class="sig-name descname">_convert_storage_url_to_dict</code><span class="sig-paren">(</span><em class="sig-param">storage_url</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/operators/gcp_cloud_build_operator.html#BuildProcessor._convert_storage_url_to_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.operators.gcp_cloud_build_operator.Bu [...]
 <dd><p>Convert url to object in Google Cloud Storage to a format supported by the API</p>
 <p>Example valid input:</p>
-<div class="highlight-none notranslate"><div class="highlight"><pre>gs://bucket-name/object-name.tar.gz
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>gs://bucket-name/object-name.tar.gz
 </pre></div>
 </div>
 </dd></dl>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
index 15be22b..e95bdb2 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
index 20b59c7..7e0d04f 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -302,11 +302,11 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>To delete a certain cluster, you must specify the <code class="docutils literal notranslate"><span class="pre">project_id</span></code>, the <code class="docutils literal notranslate"><span class="pre">name</span></code>
 of the cluster, the <code class="docutils literal notranslate"><span class="pre">location</span></code> that the cluster is in, and the <code class="docutils literal notranslate"><span class="pre">task_id</span></code>.</p>
 <p><strong>Operator Creation</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEClusterDeleteOperator</span><span class="p">(</span>
-            <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;cluster_delete&#39;</span><span class="p">,</span>
-            <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-            <span class="n">location</span><span class="o">=</span><span class="s">&#39;cluster-location&#39;</span>
-            <span class="n">name</span><span class="o">=</span><span class="s">&#39;cluster-name&#39;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEClusterDeleteOperator</span><span class="p">(</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;cluster_delete&#39;</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+            <span class="n">location</span><span class="o">=</span><span class="s1">&#39;cluster-location&#39;</span>
+            <span class="n">name</span><span class="o">=</span><span class="s1">&#39;cluster-name&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
 <div class="admonition seealso">
@@ -364,10 +364,10 @@ The operator will wait until the cluster is created.</p>
 </dd>
 </dl>
 <p><strong>Operator Creation</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEClusterCreateOperator</span><span class="p">(</span>
-            <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;cluster_create&#39;</span><span class="p">,</span>
-            <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-            <span class="n">location</span><span class="o">=</span><span class="s">&#39;my-location&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEClusterCreateOperator</span><span class="p">(</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;cluster_create&#39;</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+            <span class="n">location</span><span class="o">=</span><span class="s1">&#39;my-location&#39;</span>
             <span class="n">body</span><span class="o">=</span><span class="n">cluster_def</span><span class="p">)</span>
 </pre></div>
 </div>
@@ -429,13 +429,13 @@ connection id with a service account.</p>
 <code class="docutils literal notranslate"><span class="pre">task_id</span></code>, <code class="docutils literal notranslate"><span class="pre">project_id</span></code>, <code class="docutils literal notranslate"><span class="pre">location</span></code>, <code class="docutils literal notranslate"><span class="pre">cluster_name</span></code>, <code class="docutils literal notranslate"><span class="pre">name</span></code>,
 <code class="docutils literal notranslate"><span class="pre">namespace</span></code>, and <code class="docutils literal notranslate"><span class="pre">image</span></code></p>
 <p><strong>Operator Creation</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEPodOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s">&#39;pod_op&#39;</span><span class="p">,</span>
-                          <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                          <span class="n">location</span><span class="o">=</span><span class="s">&#39;us-central1-a&#39;</span><span class="p">,</span>
-                          <span class="n">cluster_name</span><span class="o">=</span><span class="s">&#39;my-cluster-name&#39;</span><span class="p">,</span>
-                          <span class="n">name</span><span class="o">=</span><span class="s">&#39;task-name&#39;</span><span class="p">,</span>
-                          <span class="n">namespace</span><span class="o">=</span><span class="s">&#39;default&#39;</span><span class="p">,</span>
-                          <span class="n">image</span><span class="o">=</span><span class="s">&#39;perl&#39;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">operator</span> <span class="o">=</span> <span class="n">GKEPodOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;pod_op&#39;</span><span class="p">,</span>
+                          <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                          <span class="n">location</span><span class="o">=</span><span class="s1">&#39;us-central1-a&#39;</span><span class="p">,</span>
+                          <span class="n">cluster_name</span><span class="o">=</span><span class="s1">&#39;my-cluster-name&#39;</span><span class="p">,</span>
+                          <span class="n">name</span><span class="o">=</span><span class="s1">&#39;task-name&#39;</span><span class="p">,</span>
+                          <span class="n">namespace</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span>
+                          <span class="n">image</span><span class="o">=</span><span class="s1">&#39;perl&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
 <div class="admonition seealso">
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
index 5ea2816..d21e6ac 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
index 2ac16bf..b9c4ea0 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
index 46d2644..869cf4a 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
index 37a44d5..065b0d2 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
index d938c94..5fc0cd9 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
index f8f5365..13cc140 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
index 1105e34..b4dd03b 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
index a6f00b2..b314fa3 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -709,11 +709,11 @@ GCP Storage Transfer Service.</p>
 jobs will be created in the Google Cloud Platform.</p>
 </div>
 <p><strong>Example</strong>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">s3_to_gcs_transfer_op</span> <span class="o">=</span> <span class="n">S3ToGoogleCloudStorageTransferOperator</span><span class="p">(</span>
-     <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;s3_to_gcs_transfer_example&#39;</span><span class="p">,</span>
-     <span class="n">s3_bucket</span><span class="o">=</span><span class="s">&#39;my-s3-bucket&#39;</span><span class="p">,</span>
-     <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-gcp-project&#39;</span><span class="p">,</span>
-     <span class="n">gcs_bucket</span><span class="o">=</span><span class="s">&#39;my-gcs-bucket&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">s3_to_gcs_transfer_op</span> <span class="o">=</span> <span class="n">S3ToGoogleCloudStorageTransferOperator</span><span class="p">(</span>
+     <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;s3_to_gcs_transfer_example&#39;</span><span class="p">,</span>
+     <span class="n">s3_bucket</span><span class="o">=</span><span class="s1">&#39;my-s3-bucket&#39;</span><span class="p">,</span>
+     <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-gcp-project&#39;</span><span class="p">,</span>
+     <span class="n">gcs_bucket</span><span class="o">=</span><span class="s1">&#39;my-gcs-bucket&#39;</span><span class="p">,</span>
      <span class="n">dag</span><span class="o">=</span><span class="n">my_dag</span><span class="p">)</span>
 </pre></div>
 </div>
@@ -785,11 +785,11 @@ Service.</p>
 jobs will be created in the Google Cloud Platform.</p>
 </div>
 <p><strong>Example</strong>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">gcs_to_gcs_transfer_op</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageTransferOperator</span><span class="p">(</span>
-     <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcs_to_gcs_transfer_example&#39;</span><span class="p">,</span>
-     <span class="n">source_bucket</span><span class="o">=</span><span class="s">&#39;my-source-bucket&#39;</span><span class="p">,</span>
-     <span class="n">destination_bucket</span><span class="o">=</span><span class="s">&#39;my-destination-bucket&#39;</span><span class="p">,</span>
-     <span class="n">project_id</span><span class="o">=</span><span class="s">&#39;my-gcp-project&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">gcs_to_gcs_transfer_op</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageTransferOperator</span><span class="p">(</span>
+     <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcs_to_gcs_transfer_example&#39;</span><span class="p">,</span>
+     <span class="n">source_bucket</span><span class="o">=</span><span class="s1">&#39;my-source-bucket&#39;</span><span class="p">,</span>
+     <span class="n">destination_bucket</span><span class="o">=</span><span class="s1">&#39;my-destination-bucket&#39;</span><span class="p">,</span>
+     <span class="n">project_id</span><span class="o">=</span><span class="s1">&#39;my-gcp-project&#39;</span><span class="p">,</span>
      <span class="n">dag</span><span class="o">=</span><span class="n">my_dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
index 5616812..f2b2665 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
index 90ab659..eb9782f 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
index 2a0f831..912af04 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
index c74d1ec..0b73766 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
index ef32bed..e184127 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
index 4eff66c..1815264 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
index 9ebf07e..0ffe7b9 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
index 44cf0bc..c1801a9 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -323,11 +323,11 @@ domain-wide delegation enabled.</p></li>
 <dl>
 <dt><strong>Example</strong>:</dt><dd><p>The following Operator would list all the Avro files from <code class="docutils literal notranslate"><span class="pre">sales/sales-2017</span></code>
 folder in <code class="docutils literal notranslate"><span class="pre">data</span></code> bucket.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">GCS_Files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageListOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;GCS_Files&#39;</span><span class="p">,</span>
-    <span class="n">bucket</span><span class="o">=</span><span class="s">&#39;data&#39;</span><span class="p">,</span>
-    <span class="n">prefix</span><span class="o">=</span><span class="s">&#39;sales/sales-2017/&#39;</span><span class="p">,</span>
-    <span class="n">delimiter</span><span class="o">=</span><span class="s">&#39;.avro&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">GCS_Files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageListOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;GCS_Files&#39;</span><span class="p">,</span>
+    <span class="n">bucket</span><span class="o">=</span><span class="s1">&#39;data&#39;</span><span class="p">,</span>
+    <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;sales/sales-2017/&#39;</span><span class="p">,</span>
+    <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;.avro&#39;</span><span class="p">,</span>
     <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="n">google_cloud_conn_id</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
index 3b9fbc6..76af98a 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -346,13 +346,13 @@ have domain-wide delegation enabled.</p></li>
 </dl>
 <p>The following Operator would create a new bucket <code class="docutils literal notranslate"><span class="pre">test-bucket</span></code>
 with <code class="docutils literal notranslate"><span class="pre">MULTI_REGIONAL</span></code> storage class in <code class="docutils literal notranslate"><span class="pre">EU</span></code> region</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">CreateBucket</span> <span class="o">=</span> <span class="n">GoogleCloudStorageCreateBucketOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;CreateNewBucket&#39;</span><span class="p">,</span>
-    <span class="n">bucket_name</span><span class="o">=</span><span class="s">&#39;test-bucket&#39;</span><span class="p">,</span>
-    <span class="n">storage_class</span><span class="o">=</span><span class="s">&#39;MULTI_REGIONAL&#39;</span><span class="p">,</span>
-    <span class="n">location</span><span class="o">=</span><span class="s">&#39;EU&#39;</span><span class="p">,</span>
-    <span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s">&#39;env&#39;</span><span class="p">:</span> <span class="s">&#39;dev&#39;</span><span class="p">,</span> <span class="s">&#39;team&#39;</span><span class="p">:</span> <span class="s">&#39;airflow&#39;</span><span class="p">},</span>
-    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s">&#39;airflow-service-account&#39;</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">CreateBucket</span> <span class="o">=</span> <span class="n">GoogleCloudStorageCreateBucketOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;CreateNewBucket&#39;</span><span class="p">,</span>
+    <span class="n">bucket_name</span><span class="o">=</span><span class="s1">&#39;test-bucket&#39;</span><span class="p">,</span>
+    <span class="n">storage_class</span><span class="o">=</span><span class="s1">&#39;MULTI_REGIONAL&#39;</span><span class="p">,</span>
+    <span class="n">location</span><span class="o">=</span><span class="s1">&#39;EU&#39;</span><span class="p">,</span>
+    <span class="n">labels</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;env&#39;</span><span class="p">:</span> <span class="s1">&#39;dev&#39;</span><span class="p">,</span> <span class="s1">&#39;team&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow&#39;</span><span class="p">},</span>
+    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;airflow-service-account&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
index 19b3304..cc991bf 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -380,8 +380,8 @@ Parameter must be setted to True if ‘schema_fields’ and ‘schema_object’
 It is suggested to set to True if table are create outside of Airflow.</p></li>
 <li><p><strong>encryption_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] Custom encryption configuration (e.g., Cloud KMS keys).
 <strong>Example</strong>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">encryption_configuration</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;kmsKeyName&quot;</span><span class="p">:</span> <span class="s2">&quot;projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key&quot;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
index d77c626..041d8bc 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -347,12 +347,12 @@ If tzinfo has not been set, UTC will be assumed.</p></li>
 <p>The following Operator would copy a single file named
 <code class="docutils literal notranslate"><span class="pre">sales/sales-2017/january.avro</span></code> in the <code class="docutils literal notranslate"><span class="pre">data</span></code> bucket to the file named
 <code class="docutils literal notranslate"><span class="pre">copied_sales/2017/january-backup.avro</span></code> in the <code class="docutils literal notranslate"><span class="pre">data_backup</span></code> bucket</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">copy_single_file</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;copy_single_file&#39;</span><span class="p">,</span>
-    <span class="n">source_bucket</span><span class="o">=</span><span class="s">&#39;data&#39;</span><span class="p">,</span>
-    <span class="n">source_object</span><span class="o">=</span><span class="s">&#39;sales/sales-2017/january.avro&#39;</span><span class="p">,</span>
-    <span class="n">destination_bucket</span><span class="o">=</span><span class="s">&#39;data_backup&#39;</span><span class="p">,</span>
-    <span class="n">destination_object</span><span class="o">=</span><span class="s">&#39;copied_sales/2017/january-backup.avro&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">copy_single_file</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;copy_single_file&#39;</span><span class="p">,</span>
+    <span class="n">source_bucket</span><span class="o">=</span><span class="s1">&#39;data&#39;</span><span class="p">,</span>
+    <span class="n">source_object</span><span class="o">=</span><span class="s1">&#39;sales/sales-2017/january.avro&#39;</span><span class="p">,</span>
+    <span class="n">destination_bucket</span><span class="o">=</span><span class="s1">&#39;data_backup&#39;</span><span class="p">,</span>
+    <span class="n">destination_object</span><span class="o">=</span><span class="s1">&#39;copied_sales/2017/january-backup.avro&#39;</span><span class="p">,</span>
     <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="n">google_cloud_conn_id</span>
 <span class="p">)</span>
 </pre></div>
@@ -360,12 +360,12 @@ If tzinfo has not been set, UTC will be assumed.</p></li>
 <p>The following Operator would copy all the Avro files from <code class="docutils literal notranslate"><span class="pre">sales/sales-2017</span></code>
 folder (i.e. with names starting with that prefix) in <code class="docutils literal notranslate"><span class="pre">data</span></code> bucket to the
 <code class="docutils literal notranslate"><span class="pre">copied_sales/2017</span></code> folder in the <code class="docutils literal notranslate"><span class="pre">data_backup</span></code> bucket.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">copy_files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;copy_files&#39;</span><span class="p">,</span>
-    <span class="n">source_bucket</span><span class="o">=</span><span class="s">&#39;data&#39;</span><span class="p">,</span>
-    <span class="n">source_object</span><span class="o">=</span><span class="s">&#39;sales/sales-2017/*.avro&#39;</span><span class="p">,</span>
-    <span class="n">destination_bucket</span><span class="o">=</span><span class="s">&#39;data_backup&#39;</span><span class="p">,</span>
-    <span class="n">destination_object</span><span class="o">=</span><span class="s">&#39;copied_sales/2017/&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">copy_files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;copy_files&#39;</span><span class="p">,</span>
+    <span class="n">source_bucket</span><span class="o">=</span><span class="s1">&#39;data&#39;</span><span class="p">,</span>
+    <span class="n">source_object</span><span class="o">=</span><span class="s1">&#39;sales/sales-2017/*.avro&#39;</span><span class="p">,</span>
+    <span class="n">destination_bucket</span><span class="o">=</span><span class="s1">&#39;data_backup&#39;</span><span class="p">,</span>
+    <span class="n">destination_object</span><span class="o">=</span><span class="s1">&#39;copied_sales/2017/&#39;</span><span class="p">,</span>
     <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="n">google_cloud_conn_id</span>
 <span class="p">)</span>
 </pre></div>
@@ -374,12 +374,12 @@ folder (i.e. with names starting with that prefix) in <code class="docutils lite
 folder (i.e. with names starting with that prefix) in <code class="docutils literal notranslate"><span class="pre">data</span></code> bucket to the
 same folder in the <code class="docutils literal notranslate"><span class="pre">data_backup</span></code> bucket, deleting the original files in the
 process.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">move_files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;move_files&#39;</span><span class="p">,</span>
-    <span class="n">source_bucket</span><span class="o">=</span><span class="s">&#39;data&#39;</span><span class="p">,</span>
-    <span class="n">source_object</span><span class="o">=</span><span class="s">&#39;sales/sales-2017/*.avro&#39;</span><span class="p">,</span>
-    <span class="n">destination_bucket</span><span class="o">=</span><span class="s">&#39;data_backup&#39;</span><span class="p">,</span>
-    <span class="n">move_object</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">move_files</span> <span class="o">=</span> <span class="n">GoogleCloudStorageToGoogleCloudStorageOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;move_files&#39;</span><span class="p">,</span>
+    <span class="n">source_bucket</span><span class="o">=</span><span class="s1">&#39;data&#39;</span><span class="p">,</span>
+    <span class="n">source_object</span><span class="o">=</span><span class="s1">&#39;sales/sales-2017/*.avro&#39;</span><span class="p">,</span>
+    <span class="n">destination_bucket</span><span class="o">=</span><span class="s1">&#39;data_backup&#39;</span><span class="p">,</span>
+    <span class="n">move_object</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="n">google_cloud_conn_id</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
index f15466e..4116b8f 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html b/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
index b3fdce1..0bea763 100644
--- a/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html b/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
index d6e2119..bdc4453 100644
--- a/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html b/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
index 99805b1..9828b65 100644
--- a/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/index.html b/1.10.5/_api/airflow/contrib/operators/index.html
index 50b07c1..f68e85d 100644
--- a/1.10.5/_api/airflow/contrib/operators/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html b/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
index 38080bd..7c52f2b 100644
--- a/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html b/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
index d227f41..5cd9fc9 100644
--- a/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html b/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
index 604cbaf..9a94095 100644
--- a/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html b/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
index 907a044..4137e9d 100644
--- a/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -331,10 +331,10 @@ refers to a specific version of a specific model.</p></li>
 </ol>
 <p>In options 2 and 3, both model and version name should contain the
 minimal identifier. For instance, call:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">MLEngineBatchPredictionOperator</span><span class="p">(</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">MLEngineBatchPredictionOperator</span><span class="p">(</span>
     <span class="o">...</span><span class="p">,</span>
-    <span class="n">model_name</span><span class="o">=</span><span class="s">&#39;my_model&#39;</span><span class="p">,</span>
-    <span class="n">version_name</span><span class="o">=</span><span class="s">&#39;my_version&#39;</span><span class="p">,</span>
+    <span class="n">model_name</span><span class="o">=</span><span class="s1">&#39;my_model&#39;</span><span class="p">,</span>
+    <span class="n">version_name</span><span class="o">=</span><span class="s1">&#39;my_version&#39;</span><span class="p">,</span>
     <span class="o">...</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html b/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
index 2161e78..4004df3 100644
--- a/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
index 946ab20..7173118 100644
--- a/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -311,14 +311,14 @@ in JSON or CSV format.</p>
 <dt><strong>Example</strong>:</dt><dd><p>The following operator will export data from the Customers table
 within the given MSSQL Database and then upload it to the
 ‘mssql-export’ GCS bucket (along with a schema file).</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">export_customers</span> <span class="o">=</span> <span class="n">MsSqlToGoogleCloudStorageOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;export_customers&#39;</span><span class="p">,</span>
-    <span class="n">sql</span><span class="o">=</span><span class="s">&#39;SELECT * FROM dbo.Customers;&#39;</span><span class="p">,</span>
-    <span class="n">bucket</span><span class="o">=</span><span class="s">&#39;mssql-export&#39;</span><span class="p">,</span>
-    <span class="n">filename</span><span class="o">=</span><span class="s">&#39;data/customers/export.json&#39;</span><span class="p">,</span>
-    <span class="n">schema_filename</span><span class="o">=</span><span class="s">&#39;schemas/export.json&#39;</span><span class="p">,</span>
-    <span class="n">mssql_conn_id</span><span class="o">=</span><span class="s">&#39;mssql_default&#39;</span><span class="p">,</span>
-    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export_customers</span> <span class="o">=</span> <span class="n">MsSqlToGoogleCloudStorageOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;export_customers&#39;</span><span class="p">,</span>
+    <span class="n">sql</span><span class="o">=</span><span class="s1">&#39;SELECT * FROM dbo.Customers;&#39;</span><span class="p">,</span>
+    <span class="n">bucket</span><span class="o">=</span><span class="s1">&#39;mssql-export&#39;</span><span class="p">,</span>
+    <span class="n">filename</span><span class="o">=</span><span class="s1">&#39;data/customers/export.json&#39;</span><span class="p">,</span>
+    <span class="n">schema_filename</span><span class="o">=</span><span class="s1">&#39;schemas/export.json&#39;</span><span class="p">,</span>
+    <span class="n">mssql_conn_id</span><span class="o">=</span><span class="s1">&#39;mssql_default&#39;</span><span class="p">,</span>
+    <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
index 58d0e64..7c4bf40 100644
--- a/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html b/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
index 09e4466..3312dc0 100644
--- a/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html b/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
index 11a96aa..5cba6d0 100644
--- a/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html b/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
index c50600f..b956750 100644
--- a/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
index 8851ee2..bb6fce5 100644
--- a/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html b/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
index 2341c92..ca66a61 100644
--- a/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -301,25 +301,25 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>Create a PubSub topic.</p>
 <p>By default, if the topic already exists, this operator will
 not cause the DAG to fail.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my_new_topic&#39;</span><span class="p">)</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my_new_topic&#39;</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my_new_topic&#39;</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my_new_topic&#39;</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
 <p>The operator can be configured to fail if the topic already exists.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my_new_topic&#39;</span><span class="p">)</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my_new_topic&#39;</span><span class="p">,</span>
-                                     <span class="n">fail_if_exists</span><span class="o">=</span><span class="k">True</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my_new_topic&#39;</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my_new_topic&#39;</span><span class="p">,</span>
+                                     <span class="n">fail_if_exists</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
@@ -352,37 +352,37 @@ variables in them.</p>
 Subscription can be created in a different project from its topic.</p>
 <p>By default, if the subscription already exists, this operator will
 not cause the DAG to fail. However, the topic must exist in the project.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
         <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionCreateOperator</span><span class="p">(</span>
-            <span class="n">topic_project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my-topic&#39;</span><span class="p">,</span>
-            <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;my-subscription&#39;</span><span class="p">)</span>
+            <span class="n">topic_project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my-topic&#39;</span><span class="p">,</span>
+            <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;my-subscription&#39;</span><span class="p">)</span>
         <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionCreateOperator</span><span class="p">(</span>
-            <span class="n">topic_project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my-topic&#39;</span><span class="p">,</span>
-            <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;my-subscription&#39;</span><span class="p">)</span>
+            <span class="n">topic_project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my-topic&#39;</span><span class="p">,</span>
+            <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;my-subscription&#39;</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
 <p>The operator can be configured to fail if the subscription already exists.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
         <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionCreateOperator</span><span class="p">(</span>
-            <span class="n">topic_project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my-topic&#39;</span><span class="p">,</span>
-            <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;my-subscription&#39;</span><span class="p">)</span>
+            <span class="n">topic_project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my-topic&#39;</span><span class="p">,</span>
+            <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;my-subscription&#39;</span><span class="p">)</span>
         <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionCreateOperator</span><span class="p">(</span>
-            <span class="n">topic_project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my-topic&#39;</span><span class="p">,</span>
-            <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;my-subscription&#39;</span><span class="p">,</span> <span class="n">fail_if_exists</span><span class="o">=</span><span class="k">True</span><span class="p">)</span>
+            <span class="n">topic_project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my-topic&#39;</span><span class="p">,</span>
+            <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;my-subscription&#39;</span><span class="p">,</span> <span class="n">fail_if_exists</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
 <p>Finally, subscription is not required. If not passed, the operator will
 generated a universally unique identifier for the subscription’s name.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span> <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionCreateOperator</span><span class="p">(</span>
-            <span class="n">topic_project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s">&#39;my-topic&#39;</span><span class="p">)</span>
+            <span class="n">topic_project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my-topic&#39;</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
@@ -412,21 +412,21 @@ generated a universally unique identifier for the subscription’s name.</p>
 <p>Delete a PubSub topic.</p>
 <p>By default, if the topic does not exist, this operator will
 not cause the DAG to fail.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicDeleteOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;non_existing_topic&#39;</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicDeleteOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;non_existing_topic&#39;</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
 <p>The operator can be configured to fail if the topic does not exist.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                     <span class="n">topic</span><span class="o">=</span><span class="s">&#39;non_existing_topic&#39;</span><span class="p">,</span>
-                                     <span class="n">fail_if_not_exists</span><span class="o">=</span><span class="k">True</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubTopicCreateOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                     <span class="n">topic</span><span class="o">=</span><span class="s1">&#39;non_existing_topic&#39;</span><span class="p">,</span>
+                                     <span class="n">fail_if_not_exists</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
@@ -456,21 +456,21 @@ variables in them.</p>
 <p>Delete a PubSub subscription.</p>
 <p>By default, if the subscription does not exist, this operator will
 not cause the DAG to fail.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;successful DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
-        <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionDeleteOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span>
-                                            <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;non-existing&#39;</span><span class="p">)</span>
+        <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionDeleteOperator</span><span class="p">(</span><span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span>
+                                            <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;non-existing&#39;</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
 <p>The operator can be configured to fail if the subscription already exists.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;failing DAG&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
     <span class="p">(</span>
         <span class="n">dag</span>
         <span class="o">&gt;&gt;</span> <span class="n">PubSubSubscriptionDeleteOperator</span><span class="p">(</span>
-             <span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">subscription</span><span class="o">=</span><span class="s">&#39;non-existing&#39;</span><span class="p">,</span>
-             <span class="n">fail_if_not_exists</span><span class="o">=</span><span class="k">True</span><span class="p">)</span>
+             <span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span> <span class="n">subscription</span><span class="o">=</span><span class="s1">&#39;non-existing&#39;</span><span class="p">,</span>
+             <span class="n">fail_if_not_exists</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="p">)</span>
 </pre></div>
 </div>
@@ -501,18 +501,18 @@ variables in them.</p>
 <p>Each Task publishes all provided messages to the same topic
 in a single GCP project. If the topic does not exist, this
 task will fail.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">base64</span> <span class="k">import</span> <span class="n">b64encode</span> <span class="k">as</span> <span class="n">b64e</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">base64</span> <span class="k">import</span> <span class="n">b64encode</span> <span class="k">as</span> <span class="n">b64e</span>
 
-<span class="n">m1</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;data&#39;</span><span class="p">:</span> <span class="n">b64e</span><span class="p">(</span><span class="s">&#39;Hello, World!&#39;</span><span class="p">),</span>
-      <span class="s">&#39;attributes&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s">&#39;type&#39;</span><span class="p">:</span> <span class="s">&#39;greeting&#39;</span><span class="p">}</span>
+<span class="n">m1</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="n">b64e</span><span class="p">(</span><span class="s1">&#39;Hello, World!&#39;</span><span class="p">),</span>
+      <span class="s1">&#39;attributes&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;greeting&#39;</span><span class="p">}</span>
      <span class="p">}</span>
-<span class="n">m2</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;data&#39;</span><span class="p">:</span> <span class="n">b64e</span><span class="p">(</span><span class="s">&#39;Knock, knock&#39;</span><span class="p">)}</span>
-<span class="n">m3</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;attributes&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s">&#39;foo&#39;</span><span class="p">:</span> <span class="s">&#39;&#39;</span><span class="p">}}</span>
+<span class="n">m2</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="n">b64e</span><span class="p">(</span><span class="s1">&#39;Knock, knock&#39;</span><span class="p">)}</span>
+<span class="n">m3</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;attributes&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;foo&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">}}</span>
 
 <span class="n">t1</span> <span class="o">=</span> <span class="n">PubSubPublishOperator</span><span class="p">(</span>
-    <span class="n">project</span><span class="o">=</span><span class="s">&#39;my-project&#39;</span><span class="p">,</span><span class="n">topic</span><span class="o">=</span><span class="s">&#39;my_topic&#39;</span><span class="p">,</span>
+    <span class="n">project</span><span class="o">=</span><span class="s1">&#39;my-project&#39;</span><span class="p">,</span><span class="n">topic</span><span class="o">=</span><span class="s1">&#39;my_topic&#39;</span><span class="p">,</span>
     <span class="n">messages</span><span class="o">=</span><span class="p">[</span><span class="n">m1</span><span class="p">,</span> <span class="n">m2</span><span class="p">,</span> <span class="n">m3</span><span class="p">],</span>
-    <span class="n">create_topic</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+    <span class="n">create_topic</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html b/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
index 6ad1f67..7261a03 100644
--- a/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html b/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
index ad60949..568d8b1 100644
--- a/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
index 86ea957..05161b3 100644
--- a/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
index ae6db4c..bdeac06 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
index a280eac..e2ca5ad 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
index 745371e..295a00c 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -334,12 +334,12 @@ CA cert bundle than the one used by botocore.</p>
 <dt><strong>Example</strong>:</dt><dd><p>The following operator would list all the files
 (excluding subfolders) from the S3
 <code class="docutils literal notranslate"><span class="pre">customers/2018/04/</span></code> key in the <code class="docutils literal notranslate"><span class="pre">data</span></code> bucket.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">s3_file</span> <span class="o">=</span> <span class="n">S3ListOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;list_3s_files&#39;</span><span class="p">,</span>
-    <span class="n">bucket</span><span class="o">=</span><span class="s">&#39;data&#39;</span><span class="p">,</span>
-    <span class="n">prefix</span><span class="o">=</span><span class="s">&#39;customers/2018/04/&#39;</span><span class="p">,</span>
-    <span class="n">delimiter</span><span class="o">=</span><span class="s">&#39;/&#39;</span><span class="p">,</span>
-    <span class="n">aws_conn_id</span><span class="o">=</span><span class="s">&#39;aws_customers_conn&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">s3_file</span> <span class="o">=</span> <span class="n">S3ListOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;list_3s_files&#39;</span><span class="p">,</span>
+    <span class="n">bucket</span><span class="o">=</span><span class="s1">&#39;data&#39;</span><span class="p">,</span>
+    <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;customers/2018/04/&#39;</span><span class="p">,</span>
+    <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;/&#39;</span><span class="p">,</span>
+    <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;aws_customers_conn&#39;</span>
 <span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
index 7322bf0..7bb4bad 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -339,12 +339,12 @@ or not.</p></li>
 </dd>
 </dl>
 <p><strong>Example</strong>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">s3_to_gcs_op</span> <span class="o">=</span> <span class="n">S3ToGoogleCloudStorageOperator</span><span class="p">(</span>
-     <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;s3_to_gcs_example&#39;</span><span class="p">,</span>
-     <span class="n">bucket</span><span class="o">=</span><span class="s">&#39;my-s3-bucket&#39;</span><span class="p">,</span>
-     <span class="n">prefix</span><span class="o">=</span><span class="s">&#39;data/customers-201804&#39;</span><span class="p">,</span>
-     <span class="n">dest_gcs_conn_id</span><span class="o">=</span><span class="s">&#39;google_cloud_default&#39;</span><span class="p">,</span>
-     <span class="n">dest_gcs</span><span class="o">=</span><span class="s">&#39;gs://my.gcs.bucket/some/customers/&#39;</span><span class="p">,</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">s3_to_gcs_op</span> <span class="o">=</span> <span class="n">S3ToGoogleCloudStorageOperator</span><span class="p">(</span>
+     <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;s3_to_gcs_example&#39;</span><span class="p">,</span>
+     <span class="n">bucket</span><span class="o">=</span><span class="s1">&#39;my-s3-bucket&#39;</span><span class="p">,</span>
+     <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;data/customers-201804&#39;</span><span class="p">,</span>
+     <span class="n">dest_gcs_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+     <span class="n">dest_gcs</span><span class="o">=</span><span class="s1">&#39;gs://my.gcs.bucket/some/customers/&#39;</span><span class="p">,</span>
      <span class="n">replace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
      <span class="n">dag</span><span class="o">=</span><span class="n">my</span><span class="o">-</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
index ccc28d0..64ef9c8 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
index fa4b0fb..4413744 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
index 611d9df..a9cc01e 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
index 70d97f5..fabe391 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -306,14 +306,14 @@ https://www.sphinx-doc.org/en/master/templating.html
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to create an endpoint.</p>
 <p>If you need to create a SageMaker endpoint based on an existed
 SageMaker model and an existed SageMaker endpoint config:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">config</span> <span class="o">=</span> <span class="n">endpoint_configuration</span><span class="p">;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">config</span> <span class="o">=</span> <span class="n">endpoint_configuration</span><span class="p">;</span>
 </pre></div>
 </div>
 <p>If you need to create all of SageMaker model, SageMaker endpoint-config and SageMaker endpoint:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;Model&#39;</span><span class="p">:</span> <span class="n">model_configuration</span><span class="p">,</span>
-    <span class="s">&#39;EndpointConfig&#39;</span><span class="p">:</span> <span class="n">endpoint_config_configuration</span><span class="p">,</span>
-    <span class="s">&#39;Endpoint&#39;</span><span class="p">:</span> <span class="n">endpoint_configuration</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;Model&#39;</span><span class="p">:</span> <span class="n">model_configuration</span><span class="p">,</span>
+    <span class="s1">&#39;EndpointConfig&#39;</span><span class="p">:</span> <span class="n">endpoint_config_configuration</span><span class="p">,</span>
+    <span class="s1">&#39;Endpoint&#39;</span><span class="p">:</span> <span class="n">endpoint_configuration</span>
 <span class="p">}</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
index e3a8cfe..ccb0f06 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
index 1e37bbb..1326c09 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
index 3118022..660bf8f 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -305,13 +305,13 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to start a transform job (templated).</p>
 <p>If you need to create a SageMaker transform job based on an existed SageMaker model:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">config</span> <span class="o">=</span> <span class="n">transform_config</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">config</span> <span class="o">=</span> <span class="n">transform_config</span>
 </pre></div>
 </div>
 <p>If you need to create both SageMaker model and SageMaker Transform job:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;Model&#39;</span><span class="p">:</span> <span class="n">model_config</span><span class="p">,</span>
-    <span class="s">&#39;Transform&#39;</span><span class="p">:</span> <span class="n">transform_config</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;Model&#39;</span><span class="p">:</span> <span class="n">model_config</span><span class="p">,</span>
+    <span class="s1">&#39;Transform&#39;</span><span class="p">:</span> <span class="n">transform_config</span>
 <span class="p">}</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
index 72285cd..8cfd24b 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html b/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
index 68eb251..796baec 100644
--- a/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
index edefd3b..e477510 100644
--- a/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -337,13 +337,13 @@ copying from remote to local and vice-versa. Default is False.</p>
 at <code class="docutils literal notranslate"><span class="pre">/tmp/tmp1/tmp2/</span></code> while creating <code class="docutils literal notranslate"><span class="pre">tmp</span></code>,``tmp1`` and <code class="docutils literal notranslate"><span class="pre">tmp2</span></code> if they
 don’t exist. If the parameter is not passed it would error as the directory
 does not exist.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">put_file</span> <span class="o">=</span> <span class="n">SFTPOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;test_sftp&quot;</span><span class="p">,</span>
-    <span class="n">ssh_conn_id</span><span class="o">=</span><span class="s">&quot;ssh_default&quot;</span><span class="p">,</span>
-    <span class="n">local_filepath</span><span class="o">=</span><span class="s">&quot;/tmp/file.txt&quot;</span><span class="p">,</span>
-    <span class="n">remote_filepath</span><span class="o">=</span><span class="s">&quot;/tmp/tmp1/tmp2/file.txt&quot;</span><span class="p">,</span>
-    <span class="n">operation</span><span class="o">=</span><span class="s">&quot;put&quot;</span><span class="p">,</span>
-    <span class="n">create_intermediate_dirs</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">put_file</span> <span class="o">=</span> <span class="n">SFTPOperator</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;test_sftp&quot;</span><span class="p">,</span>
+    <span class="n">ssh_conn_id</span><span class="o">=</span><span class="s2">&quot;ssh_default&quot;</span><span class="p">,</span>
+    <span class="n">local_filepath</span><span class="o">=</span><span class="s2">&quot;/tmp/file.txt&quot;</span><span class="p">,</span>
+    <span class="n">remote_filepath</span><span class="o">=</span><span class="s2">&quot;/tmp/tmp1/tmp2/file.txt&quot;</span><span class="p">,</span>
+    <span class="n">operation</span><span class="o">=</span><span class="s2">&quot;put&quot;</span><span class="p">,</span>
+    <span class="n">create_intermediate_dirs</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
index 1ed671f..f50a19e 100644
--- a/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html b/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
index 4921771..c5fa255 100644
--- a/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html b/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
index 38e48d3..fdcedbf 100644
--- a/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
index ce6fe1d..e38465c 100644
--- a/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
index 1824074..71b0264 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
index 5f205eb..b295cb1 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
index 292fef2..7feccf2 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
index fcd67ee..8d202fa 100644
--- a/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
index cf381b3..a32f597 100644
--- a/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html b/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
index 2a828bd..f29c2a9 100644
--- a/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
index 5a8255c..1cb53bd 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
index e973590..b62f7a7 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
index 28ec32a..82ffdf3 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html b/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
index 379e715..f6cfdfa 100644
--- a/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html b/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
index 16d2b44..67a7e91 100644
--- a/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
index 914cde8..b44a59a 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
index a8b2278..3d7f560 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
index 712da32..78c44e4 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
index 8efbd65..0192fbe 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
index e0d89a5..dba651b 100644
--- a/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -300,11 +300,11 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Bases: <a class="reference internal" href="../../../sensors/base_sensor_operator/index.html#airflow.sensors.base_sensor_operator.BaseSensorOperator" title="airflow.sensors.base_sensor_operator.BaseSensorOperator"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.sensors.base_sensor_operator.BaseSensorOperator</span></code></a></p>
 <p>Checks for the existence of a document which
 matches the given query in CosmosDB. Example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">azure_cosmos_sensor</span> <span class="o">=</span> <span class="n">AzureCosmosDocumentSensor</span><span class="p">(</span><span class="n">database_name</span><span class="o">=</span><span class="s">&quot;somedatabase_name&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">collection_name</span><span class="o">=</span><span class="s">&quot;somecollection_name&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">document_id</span><span class="o">=</span><span class="s">&quot;unique-doc-id&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">azure_cosmos_conn_id</span><span class="o">=</span><span class="s">&quot;azure_cosmos_default&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;azure_cosmos_sensor&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">azure_cosmos_sensor</span> <span class="o">=</span> <span class="n">AzureCosmosDocumentSensor</span><span class="p">(</span><span class="n">database_name</span><span class="o">=</span><span class="s2">&quot;somedatabase_name&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">collection_name</span><span class="o">=</span><span class="s2">&quot;somecollection_name&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">document_id</span><span class="o">=</span><span class="s2">&quot;unique-doc-id&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">azure_cosmos_conn_id</span><span class="o">=</span><span class="s2">&quot;azure_cosmos_default&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;azure_cosmos_sensor&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 <dl class="attribute">
diff --git a/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
index 2c34538..2266329 100644
--- a/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
index 7959250..b5975a4 100644
--- a/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
index 38bc422..9a6a4fb 100644
--- a/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -302,10 +302,10 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>For example, if you want to wait for a record that has values ‘v1’ and ‘v2’ for each
 primary keys ‘p1’ and ‘p2’ to be populated in keyspace ‘k’ and table ‘t’,
 instantiate it as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cassandra_sensor</span> <span class="o">=</span> <span class="n">CassandraRecordSensor</span><span class="p">(</span><span class="n">table</span><span class="o">=</span><span class="s">&quot;k.t&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                                         <span class="n">keys</span><span class="o">=</span><span class="p">{</span><span class="s">&quot;p1&quot;</span><span class="p">:</span> <span class="s">&quot;v1&quot;</span><span class="p">,</span> <span class="s">&quot;p2&quot;</span><span class="p">:</span> <span class="s">&quot;v2&quot;</span><span class="p">},</span>
-<span class="gp">... </span>                                         <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s">&quot;cassandra_default&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                                         <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;cassandra_sensor&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">cassandra_sensor</span> <span class="o">=</span> <span class="n">CassandraRecordSensor</span><span class="p">(</span><span class="n">table</span><span class="o">=</span><span class="s2">&quot;k.t&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                                         <span class="n">keys</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;p1&quot;</span><span class="p">:</span> <span class="s2">&quot;v1&quot;</span><span class="p">,</span> <span class="s2">&quot;p2&quot;</span><span class="p">:</span> <span class="s2">&quot;v2&quot;</span><span class="p">},</span>
+<span class="gp">... </span>                                         <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s2">&quot;cassandra_default&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                                         <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;cassandra_sensor&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 <dl class="attribute">
diff --git a/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
index 6efe9d2..b14915d 100644
--- a/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -301,9 +301,9 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>Checks for the existence of a table in a Cassandra cluster.</p>
 <p>For example, if you want to wait for a table called ‘t’ to be created
 in a keyspace ‘k’, instantiate it as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">cassandra_sensor</span> <span class="o">=</span> <span class="n">CassandraTableSensor</span><span class="p">(</span><span class="n">table</span><span class="o">=</span><span class="s">&quot;k.t&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                                        <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s">&quot;cassandra_default&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                                        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;cassandra_sensor&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">cassandra_sensor</span> <span class="o">=</span> <span class="n">CassandraTableSensor</span><span class="p">(</span><span class="n">table</span><span class="o">=</span><span class="s2">&quot;k.t&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                                        <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s2">&quot;cassandra_default&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                                        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;cassandra_sensor&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 <dl class="attribute">
diff --git a/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
index 6b4f21d..079bc8e 100644
--- a/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
index 4979ee2..8be95ef 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
index 5b7419a..77b8414 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
index 6f3c5e1..b6a0bfd 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
index 046aa40..be11fbc 100644
--- a/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
index e771483..91250f9 100644
--- a/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
index 979bd62..6b6eb89 100644
--- a/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
index 85e3fb4..b0d315c 100644
--- a/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
index 2dd83f7..8f5debc 100644
--- a/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
index 3d01363..312abea 100644
--- a/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/index.html b/1.10.5/_api/airflow/contrib/sensors/index.html
index 81f9bb7..46cc725 100644
--- a/1.10.5/_api/airflow/contrib/sensors/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
index 4d88b56..dccb175 100644
--- a/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
index 19f19de..b10238b 100644
--- a/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -300,10 +300,10 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Bases: <a class="reference internal" href="../../../sensors/base_sensor_operator/index.html#airflow.sensors.base_sensor_operator.BaseSensorOperator" title="airflow.sensors.base_sensor_operator.BaseSensorOperator"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.sensors.base_sensor_operator.BaseSensorOperator</span></code></a></p>
 <p>Checks for the existence of a document which
 matches the given query in MongoDB. Example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">mongo_sensor</span> <span class="o">=</span> <span class="n">MongoSensor</span><span class="p">(</span><span class="n">collection</span><span class="o">=</span><span class="s">&quot;coll&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">query</span><span class="o">=</span><span class="p">{</span><span class="s">&quot;key&quot;</span><span class="p">:</span> <span class="s">&quot;value&quot;</span><span class="p">},</span>
-<span class="gp">... </span>                           <span class="n">mongo_conn_id</span><span class="o">=</span><span class="s">&quot;mongo_default&quot;</span><span class="p">,</span>
-<span class="gp">... </span>                           <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;mongo_sensor&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">mongo_sensor</span> <span class="o">=</span> <span class="n">MongoSensor</span><span class="p">(</span><span class="n">collection</span><span class="o">=</span><span class="s2">&quot;coll&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">query</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;key&quot;</span><span class="p">:</span> <span class="s2">&quot;value&quot;</span><span class="p">},</span>
+<span class="gp">... </span>                           <span class="n">mongo_conn_id</span><span class="o">=</span><span class="s2">&quot;mongo_default&quot;</span><span class="p">,</span>
+<span class="gp">... </span>                           <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;mongo_sensor&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 <dl class="attribute">
diff --git a/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
index 6a39add..5ec3c92 100644
--- a/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
index 7e9e791..505136a 100644
--- a/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
index 36317d0..9f8eb71 100644
--- a/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
index 9028e86..b76f9bc 100644
--- a/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
index d4f3c80..c7a911e 100644
--- a/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
index ce5c3f5..2fe44b9 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
index 5a5a6a3..07e392d 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
index 04379a3..71f6406 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
index a0a07e1..4fb9e32 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
index cc6a80f..5d610ea 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
index de44a14..8e7598a 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
index 6645c78..5622978 100644
--- a/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
index 2586620..9c57d0c 100644
--- a/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -302,29 +302,29 @@ https://www.sphinx-doc.org/en/master/templating.html
 day of the task is ‘2018-12-22’ (Saturday) and you pass ‘FRIDAY’, the task will wait
 until next Friday.</p>
 <p><strong>Example</strong> (with single day):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">weekend_check</span> <span class="o">=</span> <span class="n">DayOfWeekSensor</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;weekend_check&#39;</span><span class="p">,</span>
-    <span class="n">week_day</span><span class="o">=</span><span class="s">&#39;Saturday&#39;</span><span class="p">,</span>
-    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">weekend_check</span> <span class="o">=</span> <span class="n">DayOfWeekSensor</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;weekend_check&#39;</span><span class="p">,</span>
+    <span class="n">week_day</span><span class="o">=</span><span class="s1">&#39;Saturday&#39;</span><span class="p">,</span>
+    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
 <p><strong>Example</strong> (with multiple day using set):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">weekend_check</span> <span class="o">=</span> <span class="n">DayOfWeekSensor</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;weekend_check&#39;</span><span class="p">,</span>
-    <span class="n">week_day</span><span class="o">=</span><span class="p">{</span><span class="s">&#39;Saturday&#39;</span><span class="p">,</span> <span class="s">&#39;Sunday&#39;</span><span class="p">},</span>
-    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">weekend_check</span> <span class="o">=</span> <span class="n">DayOfWeekSensor</span><span class="p">(</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;weekend_check&#39;</span><span class="p">,</span>
+    <span class="n">week_day</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;Saturday&#39;</span><span class="p">,</span> <span class="s1">&#39;Sunday&#39;</span><span class="p">},</span>
+    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
 <p><strong>Example</strong> (with <code class="xref py py-class docutils literal notranslate"><span class="pre">WeekDay</span></code> enum):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="c"># import WeekDay Enum</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># import WeekDay Enum</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.utils.weekday</span> <span class="k">import</span> <span class="n">WeekDay</span>
 
 <span class="n">weekend_check</span> <span class="o">=</span> <span class="n">DayOfWeekSensor</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;weekend_check&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;weekend_check&#39;</span><span class="p">,</span>
     <span class="n">week_day</span><span class="o">=</span><span class="p">{</span><span class="n">WeekDay</span><span class="o">.</span><span class="n">SATURDAY</span><span class="p">,</span> <span class="n">WeekDay</span><span class="o">.</span><span class="n">SUNDAY</span><span class="p">},</span>
-    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+    <span class="n">use_task_execution_day</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/executors/base_executor/index.html b/1.10.5/_api/airflow/executors/base_executor/index.html
index 349e9fe..9d25815 100644
--- a/1.10.5/_api/airflow/executors/base_executor/index.html
+++ b/1.10.5/_api/airflow/executors/base_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/executors/celery_executor/index.html b/1.10.5/_api/airflow/executors/celery_executor/index.html
index b0f32ae..209341b 100644
--- a/1.10.5/_api/airflow/executors/celery_executor/index.html
+++ b/1.10.5/_api/airflow/executors/celery_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/executors/dask_executor/index.html b/1.10.5/_api/airflow/executors/dask_executor/index.html
index 95bd4a3..1e92195 100644
--- a/1.10.5/_api/airflow/executors/dask_executor/index.html
+++ b/1.10.5/_api/airflow/executors/dask_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/executors/index.html b/1.10.5/_api/airflow/executors/index.html
index 3f17a01..063dc10 100644
--- a/1.10.5/_api/airflow/executors/index.html
+++ b/1.10.5/_api/airflow/executors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/executors/local_executor/index.html b/1.10.5/_api/airflow/executors/local_executor/index.html
index ce82680..8f999f2 100644
--- a/1.10.5/_api/airflow/executors/local_executor/index.html
+++ b/1.10.5/_api/airflow/executors/local_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/executors/sequential_executor/index.html b/1.10.5/_api/airflow/executors/sequential_executor/index.html
index 30b5824..a8a26dc 100644
--- a/1.10.5/_api/airflow/executors/sequential_executor/index.html
+++ b/1.10.5/_api/airflow/executors/sequential_executor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/S3_hook/index.html b/1.10.5/_api/airflow/hooks/S3_hook/index.html
index 7772cd8..0b9a67b 100644
--- a/1.10.5/_api/airflow/hooks/S3_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/S3_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/base_hook/index.html b/1.10.5/_api/airflow/hooks/base_hook/index.html
index 74e7638..f417dab 100644
--- a/1.10.5/_api/airflow/hooks/base_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/base_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/dbapi_hook/index.html b/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
index 36198bc..23cd1c4 100644
--- a/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/docker_hook/index.html b/1.10.5/_api/airflow/hooks/docker_hook/index.html
index 18751ff..d5de926 100644
--- a/1.10.5/_api/airflow/hooks/docker_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/docker_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/druid_hook/index.html b/1.10.5/_api/airflow/hooks/druid_hook/index.html
index cdd467a..821f273 100644
--- a/1.10.5/_api/airflow/hooks/druid_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/druid_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/hdfs_hook/index.html b/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
index 6474c42..0f37e0c 100644
--- a/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/hive_hooks/index.html b/1.10.5/_api/airflow/hooks/hive_hooks/index.html
index 9c575ce..7fae907 100644
--- a/1.10.5/_api/airflow/hooks/hive_hooks/index.html
+++ b/1.10.5/_api/airflow/hooks/hive_hooks/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -357,9 +357,9 @@ from a dictionary of key value pairs.</p>
 <dd class="field-odd"><p><strong>d</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – </p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveCliHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hive_conf</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;hive.exec.dynamic.partition&quot;</span><span class="p">:</span> <span class="s">&quot;true&quot;</span><span class="p">,</span>
-<span class="gp">... </span><span class="s">&quot;hive.exec.dynamic.partition.mode&quot;</span><span class="p">:</span> <span class="s">&quot;nonstrict&quot;</span><span class="p">}</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveCliHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hive_conf</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;hive.exec.dynamic.partition&quot;</span><span class="p">:</span> <span class="s2">&quot;true&quot;</span><span class="p">,</span>
+<span class="gp">... </span><span class="s2">&quot;hive.exec.dynamic.partition.mode&quot;</span><span class="p">:</span> <span class="s2">&quot;nonstrict&quot;</span><span class="p">}</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">_prepare_hiveconf</span><span class="p">(</span><span class="n">hive_conf</span><span class="p">)</span>
 <span class="go">[&quot;-hiveconf&quot;, &quot;hive.exec.dynamic.partition=true&quot;, &quot;-hiveconf&quot;, &quot;hive.exec.dynamic.partition.mode=nonstrict&quot;]</span>
 </pre></div>
@@ -380,9 +380,9 @@ passed after the <code class="docutils literal notranslate"><span class="pre">hi
 whatever values are specified in the database.</p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveCliHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">result</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="s">&quot;USE airflow;&quot;</span><span class="p">)</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="s">&quot;OK&quot;</span> <span class="ow">in</span> <span class="n">result</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveCliHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">result</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="s2">&quot;USE airflow;&quot;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="s2">&quot;OK&quot;</span> <span class="ow">in</span> <span class="n">result</span><span class="p">)</span>
 <span class="go">True</span>
 </pre></div>
 </div>
@@ -506,9 +506,9 @@ execution</p></li>
 <dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
 <span class="go">True</span>
 </pre></div>
 </div>
@@ -532,11 +532,11 @@ execution</p></li>
 <dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s">&quot;ds=2015-01-01&quot;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=2015-01-01&quot;</span><span class="p">)</span>
 <span class="go">True</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s">&quot;ds=xxx&quot;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=xxx&quot;</span><span class="p">)</span>
 <span class="go">False</span>
 </pre></div>
 </div>
@@ -546,8 +546,8 @@ execution</p></li>
 <dt id="airflow.hooks.hive_hooks.HiveMetastoreHook.get_table">
 <code class="sig-name descname">get_table</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">table_name</em>, <em class="sig-param">db='default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/hooks/hive_hooks.html#HiveMetastoreHook.get_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.hive_hooks.HiveMetastoreHook.get_table" title="Permalink to thi [...]
 <dd><p>Get a metastore table object</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s">&#39;static_babynames&#39;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s1">&#39;static_babynames&#39;</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">t</span><span class="o">.</span><span class="n">tableName</span>
 <span class="go">&#39;static_babynames&#39;</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="p">[</span><span class="n">col</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">t</span><span class="o">.</span><span class="n">sd</span><span class="o">.</span><span class="n">cols</span><span class="p">]</span>
@@ -574,9 +574,9 @@ execution</p></li>
 <dd><p>Returns a list of all partitions in a table. Works only
 for tables with less than 32767 (java short max val).
 For subpartitioned table, the number might easily exceed this.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">parts</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_partitions</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">t</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">parts</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_partitions</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">t</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">parts</span><span class="p">)</span>
 <span class="go">1</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">parts</span>
@@ -625,10 +625,10 @@ filter out partitions.</p>
 </ul>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">filter_map</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;ds&#39;</span><span class="p">:</span> <span class="s">&#39;2015-01-01&#39;</span><span class="p">,</span> <span class="s">&#39;ds&#39;</span><span class="p">:</span> <span class="s">&#39;2014-01-01&#39;</span><span class="p">}</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">max_partition</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span>        <span class="o">...</span> <span class="n">table_name</span><span class="o">=</span><span class="n">t</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="s">&#39;ds&#39;</span>< [...]
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">filter_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ds&#39;</span><span class="p">:</span> <span class="s1">&#39;2015-01-01&#39;</span><span class="p">,</span> <span class="s1">&#39;ds&#39;</span><span class="p">:</span> <span class="s1">&#39;2014-01-01&#39;</span><span class="p">}</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">max_partition</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span>        <span class="o">...</span> <span class="n">table_name</span><span class="o">=</span><span class="n">t</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="s1">&#39;ds&#39;</span [...]
 <span class="go">&#39;2015-01-01&#39;</span>
 </pre></div>
 </div>
@@ -638,10 +638,10 @@ filter out partitions.</p>
 <dt id="airflow.hooks.hive_hooks.HiveMetastoreHook.table_exists">
 <code class="sig-name descname">table_exists</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">table_name</em>, <em class="sig-param">db='default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/hooks/hive_hooks.html#HiveMetastoreHook.table_exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.hive_hooks.HiveMetastoreHook.table_exists" title="Permali [...]
 <dd><p>Check if table exists</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">table_exists</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s">&#39;static_babynames&#39;</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">table_exists</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s1">&#39;static_babynames&#39;</span><span class="p">)</span>
 <span class="go">True</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">table_exists</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s">&#39;does_not_exist&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">table_exists</span><span class="p">(</span><span class="n">db</span><span class="o">=</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="s1">&#39;does_not_exist&#39;</span><span class="p">)</span>
 <span class="go">False</span>
 </pre></div>
 </div>
@@ -732,8 +732,8 @@ are using impala you may need to set it to false in the
 <dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveServer2Hook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s">&quot;SELECT * FROM airflow.static_babynames LIMIT 100&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveServer2Hook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;SELECT * FROM airflow.static_babynames LIMIT 100&quot;</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">hh</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="n">sql</span><span class="p">))</span>
 <span class="go">100</span>
 </pre></div>
@@ -758,8 +758,8 @@ are using impala you may need to set it to false in the
 <dd class="field-odd"><p>DataFrame</p>
 </dd>
 </dl>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveServer2Hook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s">&quot;SELECT * FROM airflow.static_babynames LIMIT 100&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveServer2Hook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;SELECT * FROM airflow.static_babynames LIMIT 100&quot;</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">df</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_pandas_df</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
 <span class="go">100</span>
diff --git a/1.10.5/_api/airflow/hooks/http_hook/index.html b/1.10.5/_api/airflow/hooks/http_hook/index.html
index 2f0c2de..36609da 100644
--- a/1.10.5/_api/airflow/hooks/http_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/http_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -376,14 +376,14 @@ instantly fail.</p>
 See Tenacity documentation at <a class="reference external" href="https://github.com/jd/tenacity">https://github.com/jd/tenacity</a></p>
 </dd>
 </dl>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span class="n">hook</span> <span class="o">=</span> <span class="n">HttpHook</span><span class="p">(</span><span class="n">http_conn_id</span><span class="o">=</span><span class="s">&#39;my_conn&#39;</span><span class="p">,</span><span class="n">method</span><span class="o">=</span><span class="s">&#39;GET&#39;</span><span class="p">)</span>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">hook</span> <span class="o">=</span> <span class="n">HttpHook</span><span class="p">(</span><span class="n">http_conn_id</span><span class="o">=</span><span class="s1">&#39;my_conn&#39;</span><span class="p">,</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">)</span>
 <span class="n">retry_args</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
      <span class="n">wait</span><span class="o">=</span><span class="n">tenacity</span><span class="o">.</span><span class="n">wait_exponential</span><span class="p">(),</span>
      <span class="n">stop</span><span class="o">=</span><span class="n">tenacity</span><span class="o">.</span><span class="n">stop_after_attempt</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span>
      <span class="n">retry</span><span class="o">=</span><span class="n">requests</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ConnectionError</span>
  <span class="p">)</span>
  <span class="n">hook</span><span class="o">.</span><span class="n">run_with_advanced_retry</span><span class="p">(</span>
-         <span class="n">endpoint</span><span class="o">=</span><span class="s">&#39;v1/test&#39;</span><span class="p">,</span>
+         <span class="n">endpoint</span><span class="o">=</span><span class="s1">&#39;v1/test&#39;</span><span class="p">,</span>
          <span class="n">_retry_args</span><span class="o">=</span><span class="n">retry_args</span>
      <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/hooks/index.html b/1.10.5/_api/airflow/hooks/index.html
index 9283e21..9f957ec 100644
--- a/1.10.5/_api/airflow/hooks/index.html
+++ b/1.10.5/_api/airflow/hooks/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/jdbc_hook/index.html b/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
index 5df9534..2ff3b34 100644
--- a/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/mssql_hook/index.html b/1.10.5/_api/airflow/hooks/mssql_hook/index.html
index da6c2bf..ec68a7c 100644
--- a/1.10.5/_api/airflow/hooks/mssql_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/mssql_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/mysql_hook/index.html b/1.10.5/_api/airflow/hooks/mysql_hook/index.html
index 2865730..82ce630 100644
--- a/1.10.5/_api/airflow/hooks/mysql_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/mysql_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/oracle_hook/index.html b/1.10.5/_api/airflow/hooks/oracle_hook/index.html
index a66405c..cc0ceba 100644
--- a/1.10.5/_api/airflow/hooks/oracle_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/oracle_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/pig_hook/index.html b/1.10.5/_api/airflow/hooks/pig_hook/index.html
index ac79d02..1343cdb 100644
--- a/1.10.5/_api/airflow/hooks/pig_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/pig_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -302,9 +302,9 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt id="airflow.hooks.pig_hook.PigCliHook.run_cli">
 <code class="sig-name descname">run_cli</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pig</em>, <em class="sig-param">pig_opts=None</em>, <em class="sig-param">verbose=True</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/hooks/pig_hook.html#PigCliHook.run_cli"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.pig_hook.PigCliHook.run_cli" title="Perma [...]
 <dd><p>Run an pig script using the pig cli</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">ph</span> <span class="o">=</span> <span class="n">PigCliHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">result</span> <span class="o">=</span> <span class="n">ph</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="s">&quot;ls /;&quot;</span><span class="p">,</span> <span class="n">pig_opts</span><span class="o">=</span><span class="s">&quot;-x mapreduce&quot;</span><span class="p">)</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="s">&quot;hdfs://&quot;</span> <span class="ow">in</span> <span class="n">result</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">ph</span> <span class="o">=</span> <span class="n">PigCliHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">result</span> <span class="o">=</span> <span class="n">ph</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="s2">&quot;ls /;&quot;</span><span class="p">,</span> <span class="n">pig_opts</span><span class="o">=</span><span class="s2">&quot;-x mapreduce&quot;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="s2">&quot;hdfs://&quot;</span> <span class="ow">in</span> <span class="n">result</span><span class="p">)</span>
 <span class="go">True</span>
 </pre></div>
 </div>
diff --git a/1.10.5/_api/airflow/hooks/postgres_hook/index.html b/1.10.5/_api/airflow/hooks/postgres_hook/index.html
index f20fb87..e25d323 100644
--- a/1.10.5/_api/airflow/hooks/postgres_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/postgres_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/presto_hook/index.html b/1.10.5/_api/airflow/hooks/presto_hook/index.html
index d656f01..0c6ec02 100644
--- a/1.10.5/_api/airflow/hooks/presto_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/presto_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -301,8 +301,8 @@ https://www.sphinx-doc.org/en/master/templating.html
 <em class="property">class </em><code class="sig-prename descclassname">airflow.hooks.presto_hook.</code><code class="sig-name descname">PrestoHook</code><a class="reference internal" href="../../../../_modules/airflow/hooks/presto_hook.html#PrestoHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.presto_hook.PrestoHook" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bases: <a class="reference internal" href="../dbapi_hook/index.html#airflow.hooks.dbapi_hook.DbApiHook" title="airflow.hooks.dbapi_hook.DbApiHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.dbapi_hook.DbApiHook</span></code></a></p>
 <p>Interact with Presto through PyHive!</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">ph</span> <span class="o">=</span> <span class="n">PrestoHook</span><span class="p">()</span>
-<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s">&quot;SELECT count(1) AS num FROM airflow.static_babynames&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">ph</span> <span class="o">=</span> <span class="n">PrestoHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;SELECT count(1) AS num FROM airflow.static_babynames&quot;</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">ph</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
 <span class="go">[[340698]]</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/hooks/samba_hook/index.html b/1.10.5/_api/airflow/hooks/samba_hook/index.html
index c868802..a79fa48 100644
--- a/1.10.5/_api/airflow/hooks/samba_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/samba_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/slack_hook/index.html b/1.10.5/_api/airflow/hooks/slack_hook/index.html
index ab8e587..f89c269 100644
--- a/1.10.5/_api/airflow/hooks/slack_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/slack_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/sqlite_hook/index.html b/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
index 77129b1..84be988 100644
--- a/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html b/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
index ce7d1d7..0621af6 100644
--- a/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/hooks/zendesk_hook/index.html b/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
index b139f2b..39887c6 100644
--- a/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/base/index.html b/1.10.5/_api/airflow/models/base/index.html
index b5b977a..8ce728b 100644
--- a/1.10.5/_api/airflow/models/base/index.html
+++ b/1.10.5/_api/airflow/models/base/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/baseoperator/index.html b/1.10.5/_api/airflow/models/baseoperator/index.html
index 20a1a4b..722eb75 100644
--- a/1.10.5/_api/airflow/models/baseoperator/index.html
+++ b/1.10.5/_api/airflow/models/baseoperator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -418,10 +418,10 @@ interpreted by a specific executor. Parameters are namespaced by the name of
 executor.</p>
 <p><strong>Example</strong>: to run this task in a specific docker container through
 the KubernetesExecutor</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
     <span class="n">executor_config</span><span class="o">=</span><span class="p">{</span>
-    <span class="s">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
-        <span class="p">{</span><span class="s">&quot;image&quot;</span><span class="p">:</span> <span class="s">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
+    <span class="s2">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
+        <span class="p">{</span><span class="s2">&quot;image&quot;</span><span class="p">:</span> <span class="s2">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
         <span class="p">}</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/models/chart/index.html b/1.10.5/_api/airflow/models/chart/index.html
index 7473324..8d08311 100644
--- a/1.10.5/_api/airflow/models/chart/index.html
+++ b/1.10.5/_api/airflow/models/chart/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/connection/index.html b/1.10.5/_api/airflow/models/connection/index.html
index 8d079b1..efd5766 100644
--- a/1.10.5/_api/airflow/models/connection/index.html
+++ b/1.10.5/_api/airflow/models/connection/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/crypto/index.html b/1.10.5/_api/airflow/models/crypto/index.html
index 1b5c638..99dd765 100644
--- a/1.10.5/_api/airflow/models/crypto/index.html
+++ b/1.10.5/_api/airflow/models/crypto/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/dag/index.html b/1.10.5/_api/airflow/models/dag/index.html
index a865011..9431faa 100644
--- a/1.10.5/_api/airflow/models/dag/index.html
+++ b/1.10.5/_api/airflow/models/dag/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/dagbag/index.html b/1.10.5/_api/airflow/models/dagbag/index.html
index 3594153..196af8a 100644
--- a/1.10.5/_api/airflow/models/dagbag/index.html
+++ b/1.10.5/_api/airflow/models/dagbag/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/dagpickle/index.html b/1.10.5/_api/airflow/models/dagpickle/index.html
index 3efd646..afa0cec 100644
--- a/1.10.5/_api/airflow/models/dagpickle/index.html
+++ b/1.10.5/_api/airflow/models/dagpickle/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/dagrun/index.html b/1.10.5/_api/airflow/models/dagrun/index.html
index 5cdc0dc..a0d4099 100644
--- a/1.10.5/_api/airflow/models/dagrun/index.html
+++ b/1.10.5/_api/airflow/models/dagrun/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/errors/index.html b/1.10.5/_api/airflow/models/errors/index.html
index 650799c..4118758 100644
--- a/1.10.5/_api/airflow/models/errors/index.html
+++ b/1.10.5/_api/airflow/models/errors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/index.html b/1.10.5/_api/airflow/models/index.html
index 4878c55..6215950 100644
--- a/1.10.5/_api/airflow/models/index.html
+++ b/1.10.5/_api/airflow/models/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -455,10 +455,10 @@ interpreted by a specific executor. Parameters are namespaced by the name of
 executor.</p>
 <p><strong>Example</strong>: to run this task in a specific docker container through
 the KubernetesExecutor</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
     <span class="n">executor_config</span><span class="o">=</span><span class="p">{</span>
-    <span class="s">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
-        <span class="p">{</span><span class="s">&quot;image&quot;</span><span class="p">:</span> <span class="s">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
+    <span class="s2">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
+        <span class="p">{</span><span class="s2">&quot;image&quot;</span><span class="p">:</span> <span class="s2">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
         <span class="p">}</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/models/knownevent/index.html b/1.10.5/_api/airflow/models/knownevent/index.html
index 38f8b3e..465b8c0 100644
--- a/1.10.5/_api/airflow/models/knownevent/index.html
+++ b/1.10.5/_api/airflow/models/knownevent/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/kubernetes/index.html b/1.10.5/_api/airflow/models/kubernetes/index.html
index 24a2c7e..45e2b38 100644
--- a/1.10.5/_api/airflow/models/kubernetes/index.html
+++ b/1.10.5/_api/airflow/models/kubernetes/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/log/index.html b/1.10.5/_api/airflow/models/log/index.html
index e373d28..bade120 100644
--- a/1.10.5/_api/airflow/models/log/index.html
+++ b/1.10.5/_api/airflow/models/log/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/pool/index.html b/1.10.5/_api/airflow/models/pool/index.html
index b9472ec..ad416c9 100644
--- a/1.10.5/_api/airflow/models/pool/index.html
+++ b/1.10.5/_api/airflow/models/pool/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/skipmixin/index.html b/1.10.5/_api/airflow/models/skipmixin/index.html
index d829469..baf3596 100644
--- a/1.10.5/_api/airflow/models/skipmixin/index.html
+++ b/1.10.5/_api/airflow/models/skipmixin/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/slamiss/index.html b/1.10.5/_api/airflow/models/slamiss/index.html
index 14d0974..69698f0 100644
--- a/1.10.5/_api/airflow/models/slamiss/index.html
+++ b/1.10.5/_api/airflow/models/slamiss/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/taskfail/index.html b/1.10.5/_api/airflow/models/taskfail/index.html
index 8c7b0b7..081d27b 100644
--- a/1.10.5/_api/airflow/models/taskfail/index.html
+++ b/1.10.5/_api/airflow/models/taskfail/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/taskinstance/index.html b/1.10.5/_api/airflow/models/taskinstance/index.html
index aa359c5..c85fefd 100644
--- a/1.10.5/_api/airflow/models/taskinstance/index.html
+++ b/1.10.5/_api/airflow/models/taskinstance/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/taskreschedule/index.html b/1.10.5/_api/airflow/models/taskreschedule/index.html
index a71c446..d2e7a47 100644
--- a/1.10.5/_api/airflow/models/taskreschedule/index.html
+++ b/1.10.5/_api/airflow/models/taskreschedule/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/user/index.html b/1.10.5/_api/airflow/models/user/index.html
index 7930984..4b67773 100644
--- a/1.10.5/_api/airflow/models/user/index.html
+++ b/1.10.5/_api/airflow/models/user/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/variable/index.html b/1.10.5/_api/airflow/models/variable/index.html
index d6a8e87..ae0b85a 100644
--- a/1.10.5/_api/airflow/models/variable/index.html
+++ b/1.10.5/_api/airflow/models/variable/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/models/xcom/index.html b/1.10.5/_api/airflow/models/xcom/index.html
index f456e31..974a23a 100644
--- a/1.10.5/_api/airflow/models/xcom/index.html
+++ b/1.10.5/_api/airflow/models/xcom/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/bash_operator/index.html b/1.10.5/_api/airflow/operators/bash_operator/index.html
index deda40a..9343a36 100644
--- a/1.10.5/_api/airflow/operators/bash_operator/index.html
+++ b/1.10.5/_api/airflow/operators/bash_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/branch_operator/index.html b/1.10.5/_api/airflow/operators/branch_operator/index.html
index d52469c..d854197 100644
--- a/1.10.5/_api/airflow/operators/branch_operator/index.html
+++ b/1.10.5/_api/airflow/operators/branch_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/check_operator/index.html b/1.10.5/_api/airflow/operators/check_operator/index.html
index 51612a5..bd1db3e 100644
--- a/1.10.5/_api/airflow/operators/check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/check_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/dagrun_operator/index.html b/1.10.5/_api/airflow/operators/dagrun_operator/index.html
index dfb9741..f3c904e 100644
--- a/1.10.5/_api/airflow/operators/dagrun_operator/index.html
+++ b/1.10.5/_api/airflow/operators/dagrun_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/docker_operator/index.html b/1.10.5/_api/airflow/operators/docker_operator/index.html
index 976ba0c..87a45a0 100644
--- a/1.10.5/_api/airflow/operators/docker_operator/index.html
+++ b/1.10.5/_api/airflow/operators/docker_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/druid_check_operator/index.html b/1.10.5/_api/airflow/operators/druid_check_operator/index.html
index d572c9a..98c6f25 100644
--- a/1.10.5/_api/airflow/operators/druid_check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/druid_check_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/dummy_operator/index.html b/1.10.5/_api/airflow/operators/dummy_operator/index.html
index 9d1b5c1..3e113fa 100644
--- a/1.10.5/_api/airflow/operators/dummy_operator/index.html
+++ b/1.10.5/_api/airflow/operators/dummy_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/email_operator/index.html b/1.10.5/_api/airflow/operators/email_operator/index.html
index 8fc6647..143dce4 100644
--- a/1.10.5/_api/airflow/operators/email_operator/index.html
+++ b/1.10.5/_api/airflow/operators/email_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/generic_transfer/index.html b/1.10.5/_api/airflow/operators/generic_transfer/index.html
index a2cb5cd..e20ca13 100644
--- a/1.10.5/_api/airflow/operators/generic_transfer/index.html
+++ b/1.10.5/_api/airflow/operators/generic_transfer/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/hive_operator/index.html b/1.10.5/_api/airflow/operators/hive_operator/index.html
index 1ae1482..f2e70fc 100644
--- a/1.10.5/_api/airflow/operators/hive_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/hive_stats_operator/index.html b/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
index 70c7916..46c21db 100644
--- a/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -301,7 +301,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>Gathers partition statistics using a dynamically generated Presto
 query, inserts the stats into a MySql table with this format. Stats
 overwrite themselves if you rerun the same date/partition.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">CREATE</span> <span class="n">TABLE</span> <span class="n">hive_stats</span> <span class="p">(</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CREATE</span> <span class="n">TABLE</span> <span class="n">hive_stats</span> <span class="p">(</span>
     <span class="n">ds</span> <span class="n">VARCHAR</span><span class="p">(</span><span class="mi">16</span><span class="p">),</span>
     <span class="n">table_name</span> <span class="n">VARCHAR</span><span class="p">(</span><span class="mi">500</span><span class="p">),</span>
     <span class="n">metric</span> <span class="n">VARCHAR</span><span class="p">(</span><span class="mi">200</span><span class="p">),</span>
diff --git a/1.10.5/_api/airflow/operators/hive_to_druid/index.html b/1.10.5/_api/airflow/operators/hive_to_druid/index.html
index daecb10..4080ccf 100644
--- a/1.10.5/_api/airflow/operators/hive_to_druid/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_druid/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/hive_to_mysql/index.html b/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
index 9e681a1..a5705d8 100644
--- a/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html b/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
index 0165693..ae1316f 100644
--- a/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/http_operator/index.html b/1.10.5/_api/airflow/operators/http_operator/index.html
index 63b1be1..49d41ef 100644
--- a/1.10.5/_api/airflow/operators/http_operator/index.html
+++ b/1.10.5/_api/airflow/operators/http_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/index.html b/1.10.5/_api/airflow/operators/index.html
index 55a1288..c15c431 100644
--- a/1.10.5/_api/airflow/operators/index.html
+++ b/1.10.5/_api/airflow/operators/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -462,10 +462,10 @@ interpreted by a specific executor. Parameters are namespaced by the name of
 executor.</p>
 <p><strong>Example</strong>: to run this task in a specific docker container through
 the KubernetesExecutor</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">MyOperator</span><span class="p">(</span><span class="o">...</span><span class="p">,</span>
     <span class="n">executor_config</span><span class="o">=</span><span class="p">{</span>
-    <span class="s">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
-        <span class="p">{</span><span class="s">&quot;image&quot;</span><span class="p">:</span> <span class="s">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
+    <span class="s2">&quot;KubernetesExecutor&quot;</span><span class="p">:</span>
+        <span class="p">{</span><span class="s2">&quot;image&quot;</span><span class="p">:</span> <span class="s2">&quot;myCustomDockerImage&quot;</span><span class="p">}</span>
         <span class="p">}</span>
 <span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_api/airflow/operators/jdbc_operator/index.html b/1.10.5/_api/airflow/operators/jdbc_operator/index.html
index d93f8a2..eb96b4d 100644
--- a/1.10.5/_api/airflow/operators/jdbc_operator/index.html
+++ b/1.10.5/_api/airflow/operators/jdbc_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/latest_only_operator/index.html b/1.10.5/_api/airflow/operators/latest_only_operator/index.html
index 406f6a1..4ba06b5 100644
--- a/1.10.5/_api/airflow/operators/latest_only_operator/index.html
+++ b/1.10.5/_api/airflow/operators/latest_only_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/mssql_operator/index.html b/1.10.5/_api/airflow/operators/mssql_operator/index.html
index 6cbc7d8..ca8b4e6 100644
--- a/1.10.5/_api/airflow/operators/mssql_operator/index.html
+++ b/1.10.5/_api/airflow/operators/mssql_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/mssql_to_hive/index.html b/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
index df15975..8a0ad12 100644
--- a/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
+++ b/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/mysql_operator/index.html b/1.10.5/_api/airflow/operators/mysql_operator/index.html
index 43d8802..a31ee2a 100644
--- a/1.10.5/_api/airflow/operators/mysql_operator/index.html
+++ b/1.10.5/_api/airflow/operators/mysql_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/mysql_to_hive/index.html b/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
index 7f29624..54d8742 100644
--- a/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
+++ b/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/oracle_operator/index.html b/1.10.5/_api/airflow/operators/oracle_operator/index.html
index e82d725..310ec6a 100644
--- a/1.10.5/_api/airflow/operators/oracle_operator/index.html
+++ b/1.10.5/_api/airflow/operators/oracle_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/pig_operator/index.html b/1.10.5/_api/airflow/operators/pig_operator/index.html
index 2c060f9..6ac9194 100644
--- a/1.10.5/_api/airflow/operators/pig_operator/index.html
+++ b/1.10.5/_api/airflow/operators/pig_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/postgres_operator/index.html b/1.10.5/_api/airflow/operators/postgres_operator/index.html
index 3959a10..38408d4 100644
--- a/1.10.5/_api/airflow/operators/postgres_operator/index.html
+++ b/1.10.5/_api/airflow/operators/postgres_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/presto_check_operator/index.html b/1.10.5/_api/airflow/operators/presto_check_operator/index.html
index 431d749..a5abc7c 100644
--- a/1.10.5/_api/airflow/operators/presto_check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/presto_check_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/presto_to_mysql/index.html b/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
index 6301398..6d6e0a4 100644
--- a/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
+++ b/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/python_operator/index.html b/1.10.5/_api/airflow/operators/python_operator/index.html
index 1097316..291cb24 100644
--- a/1.10.5/_api/airflow/operators/python_operator/index.html
+++ b/1.10.5/_api/airflow/operators/python_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html b/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
index ee60189..34e90ca 100644
--- a/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html b/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
index b12117e..5a5610a 100644
--- a/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html b/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
index a8a9349..0b843a8 100644
--- a/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html b/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
index 0f1ac98..5602928 100644
--- a/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/sensors/index.html b/1.10.5/_api/airflow/operators/sensors/index.html
index 4177bae..b4f7ba0 100644
--- a/1.10.5/_api/airflow/operators/sensors/index.html
+++ b/1.10.5/_api/airflow/operators/sensors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/slack_operator/index.html b/1.10.5/_api/airflow/operators/slack_operator/index.html
index 70c9b95..d36c9b8 100644
--- a/1.10.5/_api/airflow/operators/slack_operator/index.html
+++ b/1.10.5/_api/airflow/operators/slack_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/sqlite_operator/index.html b/1.10.5/_api/airflow/operators/sqlite_operator/index.html
index 3cc9314..da62a32 100644
--- a/1.10.5/_api/airflow/operators/sqlite_operator/index.html
+++ b/1.10.5/_api/airflow/operators/sqlite_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/operators/subdag_operator/index.html b/1.10.5/_api/airflow/operators/subdag_operator/index.html
index 19b24d8..3a9d59a 100644
--- a/1.10.5/_api/airflow/operators/subdag_operator/index.html
+++ b/1.10.5/_api/airflow/operators/subdag_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html b/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
index 442f186..f967820 100644
--- a/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
+++ b/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/external_task_sensor/index.html b/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
index b9c1dc9..9170948 100644
--- a/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html b/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
index 10ac037..cb6120c 100644
--- a/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
index 01590ce..4ed855f 100644
--- a/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/http_sensor/index.html b/1.10.5/_api/airflow/sensors/http_sensor/index.html
index 3fec350..ebc6c6b 100644
--- a/1.10.5/_api/airflow/sensors/http_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/http_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/index.html b/1.10.5/_api/airflow/sensors/index.html
index a0c143c..07a6976 100644
--- a/1.10.5/_api/airflow/sensors/index.html
+++ b/1.10.5/_api/airflow/sensors/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
index b0aa44a..49b76c0 100644
--- a/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
index 74bb917..e2e33fe 100644
--- a/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html b/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
index 1e62443..2e964d0 100644
--- a/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html b/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
index 547112a..85aec44 100644
--- a/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/sql_sensor/index.html b/1.10.5/_api/airflow/sensors/sql_sensor/index.html
index 33c71f4..3822f00 100644
--- a/1.10.5/_api/airflow/sensors/sql_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/sql_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html b/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
index 026ce7e..2a54de7 100644
--- a/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/time_sensor/index.html b/1.10.5/_api/airflow/sensors/time_sensor/index.html
index 00292c9..3c4bfa1 100644
--- a/1.10.5/_api/airflow/sensors/time_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/time_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html b/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
index 250260d..82b8647 100644
--- a/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_api/index.html b/1.10.5/_api/index.html
index 438e485..27d9f6c 100644
--- a/1.10.5/_api/index.html
+++ b/1.10.5/_api/index.html
@@ -155,7 +155,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html b/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
index b39effe..8415e4c 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_dingding_operator</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">timedelta</span>
 
@@ -291,154 +291,154 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">DAG</span>
 
 <span class="n">args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;owner&#39;</span><span class="p">:</span> <span class="s">&#39;airflow&#39;</span><span class="p">,</span>
-    <span class="s">&#39;retries&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span>
+    <span class="s1">&#39;owner&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;retries&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span>
 <span class="p">}</span>
 
 
-<span class="c"># [START howto_operator_dingding_failure_callback]</span>
+<span class="c1"># [START howto_operator_dingding_failure_callback]</span>
 <span class="k">def</span> <span class="nf">failure_callback</span><span class="p">(</span><span class="n">context</span><span class="p">):</span>
-    <span class="n">message</span> <span class="o">=</span> <span class="s">&#39;AIRFLOW TASK FAILURE TIPS:</span><span class="se">\n</span><span class="s">&#39;</span> \
-              <span class="s">&#39;DAG:    {}</span><span class="se">\n</span><span class="s">&#39;</span> \
-              <span class="s">&#39;TASKS:  {}</span><span class="se">\n</span><span class="s">&#39;</span> \
-              <span class="s">&#39;Reason: {}</span><span class="se">\n</span><span class="s">&#39;</span> \
-        <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s">&#39;task_instance&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-                <span class="n">context</span><span class="p">[</span><span class="s">&#39;task_instance&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
-                <span class="n">context</span><span class="p">[</span><span class="s">&#39;exception&#39;</span><span class="p">])</span>
+    <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;AIRFLOW TASK FAILURE TIPS:</span><span class="se">\n</span><span class="s1">&#39;</span> \
+              <span class="s1">&#39;DAG:    </span><span class="si">{}</span><span class="se">\n</span><span class="s1">&#39;</span> \
+              <span class="s1">&#39;TASKS:  </span><span class="si">{}</span><span class="se">\n</span><span class="s1">&#39;</span> \
+              <span class="s1">&#39;Reason: </span><span class="si">{}</span><span class="se">\n</span><span class="s1">&#39;</span> \
+        <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;task_instance&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;task_instance&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;exception&#39;</span><span class="p">])</span>
     <span class="k">return</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;dingding_success_callback&#39;</span><span class="p">,</span>
-        <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-        <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;text&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;dingding_success_callback&#39;</span><span class="p">,</span>
+        <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+        <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;text&#39;</span><span class="p">,</span>
         <span class="n">message</span><span class="o">=</span><span class="n">message</span><span class="p">,</span>
-        <span class="n">at_all</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+        <span class="n">at_all</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
 
 
-<span class="n">args</span><span class="p">[</span><span class="s">&#39;on_failure_callback&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">failure_callback</span>
-<span class="c"># [END howto_operator_dingding_failure_callback]</span>
+<span class="n">args</span><span class="p">[</span><span class="s1">&#39;on_failure_callback&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">failure_callback</span>
+<span class="c1"># [END howto_operator_dingding_failure_callback]</span>
 
 <span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span>
-    <span class="n">dag_id</span><span class="o">=</span><span class="s">&#39;example_dingding_operator&#39;</span><span class="p">,</span>
+    <span class="n">dag_id</span><span class="o">=</span><span class="s1">&#39;example_dingding_operator&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="s">&#39;@once&#39;</span><span class="p">,</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="s1">&#39;@once&#39;</span><span class="p">,</span>
     <span class="n">dagrun_timeout</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span><span class="o">=</span><span class="mi">60</span><span class="p">),</span>
 <span class="p">)</span>
 
-<span class="c"># [START howto_operator_dingding]</span>
+<span class="c1"># [START howto_operator_dingding]</span>
 <span class="n">text_msg_remind_none</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;text_msg_remind_none&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;text&#39;</span><span class="p">,</span>
-    <span class="n">message</span><span class="o">=</span><span class="s">&#39;Airflow dingding text message remind none&#39;</span><span class="p">,</span>
-    <span class="n">at_mobiles</span><span class="o">=</span><span class="k">None</span><span class="p">,</span>
-    <span class="n">at_all</span><span class="o">=</span><span class="k">False</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;text_msg_remind_none&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;text&#39;</span><span class="p">,</span>
+    <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Airflow dingding text message remind none&#39;</span><span class="p">,</span>
+    <span class="n">at_mobiles</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+    <span class="n">at_all</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
-<span class="c"># [END howto_operator_dingding]</span>
+<span class="c1"># [END howto_operator_dingding]</span>
 
 <span class="n">text_msg_remind_specific</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;text_msg_remind_specific&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;text&#39;</span><span class="p">,</span>
-    <span class="n">message</span><span class="o">=</span><span class="s">&#39;Airflow dingding text message remind specific users&#39;</span><span class="p">,</span>
-    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s">&#39;130XXXXXXXX&#39;</span><span class="p">],</span>
-    <span class="n">at_all</span><span class="o">=</span><span class="k">False</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;text_msg_remind_specific&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;text&#39;</span><span class="p">,</span>
+    <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Airflow dingding text message remind specific users&#39;</span><span class="p">,</span>
+    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s1">&#39;130XXXXXXXX&#39;</span><span class="p">],</span>
+    <span class="n">at_all</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
 
 <span class="n">text_msg_remind_include_invalid</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;text_msg_remind_include_invalid&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;text&#39;</span><span class="p">,</span>
-    <span class="n">message</span><span class="o">=</span><span class="s">&#39;Airflow dingding text message remind users including invalid&#39;</span><span class="p">,</span>
-    <span class="c"># 123 is invalid user or user not in the group</span>
-    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s">&#39;123&#39;</span><span class="p">],</span>
-    <span class="n">at_all</span><span class="o">=</span><span class="k">False</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;text_msg_remind_include_invalid&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;text&#39;</span><span class="p">,</span>
+    <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Airflow dingding text message remind users including invalid&#39;</span><span class="p">,</span>
+    <span class="c1"># 123 is invalid user or user not in the group</span>
+    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s1">&#39;123&#39;</span><span class="p">],</span>
+    <span class="n">at_all</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
 
-<span class="c"># [START howto_operator_dingding_remind_users]</span>
+<span class="c1"># [START howto_operator_dingding_remind_users]</span>
 <span class="n">text_msg_remind_all</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;text_msg_remind_all&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;text&#39;</span><span class="p">,</span>
-    <span class="n">message</span><span class="o">=</span><span class="s">&#39;Airflow dingding text message remind all users in group&#39;</span><span class="p">,</span>
-    <span class="c"># list of user phone/email here in the group</span>
-    <span class="c"># when at_all is specific will cover at_mobiles</span>
-    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s">&#39;130XXXXXXXX&#39;</span><span class="p">],</span>
-    <span class="n">at_all</span><span class="o">=</span><span class="k">True</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;text_msg_remind_all&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;text&#39;</span><span class="p">,</span>
+    <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Airflow dingding text message remind all users in group&#39;</span><span class="p">,</span>
+    <span class="c1"># list of user phone/email here in the group</span>
+    <span class="c1"># when at_all is specific will cover at_mobiles</span>
+    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;156XXXXXXXX&#39;</span><span class="p">,</span> <span class="s1">&#39;130XXXXXXXX&#39;</span><span class="p">],</span>
+    <span class="n">at_all</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
-<span class="c"># [END howto_operator_dingding_remind_users]</span>
+<span class="c1"># [END howto_operator_dingding_remind_users]</span>
 
 <span class="n">link_msg</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;link_msg&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;link&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;link_msg&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;link&#39;</span><span class="p">,</span>
     <span class="n">message</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding link message&#39;</span><span class="p">,</span>
-        <span class="s">&#39;text&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow official documentation link&#39;</span><span class="p">,</span>
-        <span class="s">&#39;messageUrl&#39;</span><span class="p">:</span> <span class="s">&#39;http://airflow.apache.org&#39;</span><span class="p">,</span>
-        <span class="s">&#39;picURL&#39;</span><span class="p">:</span> <span class="s">&#39;http://airflow.apache.org/_images/pin_large.png&#39;</span>
+        <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding link message&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow official documentation link&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;messageUrl&#39;</span><span class="p">:</span> <span class="s1">&#39;http://airflow.apache.org&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;picURL&#39;</span><span class="p">:</span> <span class="s1">&#39;http://airflow.apache.org/_images/pin_large.png&#39;</span>
     <span class="p">},</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
 
-<span class="c"># [START howto_operator_dingding_rich_text]</span>
+<span class="c1"># [START howto_operator_dingding_rich_text]</span>
 <span class="n">markdown_msg</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;markdown_msg&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;markdown&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;markdown_msg&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;markdown&#39;</span><span class="p">,</span>
     <span class="n">message</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding markdown message&#39;</span><span class="p">,</span>
-        <span class="s">&#39;text&#39;</span><span class="p">:</span> <span class="s">&#39;# Markdown message title</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;content content .. </span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;### sub-title</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)&#39;</span>
+        <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding markdown message&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="s1">&#39;# Markdown message title</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;content content .. </span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;### sub-title</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)&#39;</span>
     <span class="p">},</span>
-    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;156XXXXXXXX&#39;</span><span class="p">],</span>
-    <span class="n">at_all</span><span class="o">=</span><span class="k">False</span><span class="p">,</span>
+    <span class="n">at_mobiles</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;156XXXXXXXX&#39;</span><span class="p">],</span>
+    <span class="n">at_all</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
-<span class="c"># [END howto_operator_dingding_rich_text]</span>
+<span class="c1"># [END howto_operator_dingding_rich_text]</span>
 
 <span class="n">single_action_card_msg</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;single_action_card_msg&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;actionCard&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;single_action_card_msg&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;actionCard&#39;</span><span class="p">,</span>
     <span class="n">message</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding single actionCard message&#39;</span><span class="p">,</span>
-        <span class="s">&#39;text&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding single actionCard message</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;This is a official logo in Airflow website.&#39;</span><span class="p">,</span>
-        <span class="s">&#39;hideAvatar&#39;</span><span class="p">:</span> <span class="s">&#39;0&#39;</span><span class="p">,</span>
-        <span class="s">&#39;btnOrientation&#39;</span><span class="p">:</span> <span class="s">&#39;0&#39;</span><span class="p">,</span>
-        <span class="s">&#39;singleTitle&#39;</span><span class="p">:</span> <span class="s">&#39;read more&#39;</span><span class="p">,</span>
-        <span class="s">&#39;singleURL&#39;</span><span class="p">:</span> <span class="s">&#39;http://airflow.apache.org&#39;</span>
+        <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding single actionCard message&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding single actionCard message</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;This is a official logo in Airflow website.&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;hideAvatar&#39;</span><span class="p">:</span> <span class="s1">&#39;0&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;btnOrientation&#39;</span><span class="p">:</span> <span class="s1">&#39;0&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;singleTitle&#39;</span><span class="p">:</span> <span class="s1">&#39;read more&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;singleURL&#39;</span><span class="p">:</span> <span class="s1">&#39;http://airflow.apache.org&#39;</span>
     <span class="p">},</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
 
 <span class="n">multi_action_card_msg</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;multi_action_card_msg&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;actionCard&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;multi_action_card_msg&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;actionCard&#39;</span><span class="p">,</span>
     <span class="n">message</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding multi actionCard message&#39;</span><span class="p">,</span>
-        <span class="s">&#39;text&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow dingding multi actionCard message</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)</span><span class="se">\n</span><span class="s">&#39;</span>
-                <span class="s">&#39;Airflow documentation and github&#39;</span><span class="p">,</span>
-        <span class="s">&#39;hideAvatar&#39;</span><span class="p">:</span> <span class="s">&#39;0&#39;</span><span class="p">,</span>
-        <span class="s">&#39;btnOrientation&#39;</span><span class="p">:</span> <span class="s">&#39;0&#39;</span><span class="p">,</span>
-        <span class="s">&#39;btns&#39;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding multi actionCard message&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow dingding multi actionCard message</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;![logo](http://airflow.apache.org/_images/pin_large.png)</span><span class="se">\n</span><span class="s1">&#39;</span>
+                <span class="s1">&#39;Airflow documentation and github&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;hideAvatar&#39;</span><span class="p">:</span> <span class="s1">&#39;0&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;btnOrientation&#39;</span><span class="p">:</span> <span class="s1">&#39;0&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;btns&#39;</span><span class="p">:</span> <span class="p">[</span>
             <span class="p">{</span>
-                <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow Documentation&#39;</span><span class="p">,</span>
-                <span class="s">&#39;actionURL&#39;</span><span class="p">:</span> <span class="s">&#39;http://airflow.apache.org&#39;</span>
+                <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow Documentation&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;actionURL&#39;</span><span class="p">:</span> <span class="s1">&#39;http://airflow.apache.org&#39;</span>
             <span class="p">},</span>
             <span class="p">{</span>
-                <span class="s">&#39;title&#39;</span><span class="p">:</span> <span class="s">&#39;Airflow Github&#39;</span><span class="p">,</span>
-                <span class="s">&#39;actionURL&#39;</span><span class="p">:</span> <span class="s">&#39;https://github.com/apache/airflow&#39;</span>
+                <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="s1">&#39;Airflow Github&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;actionURL&#39;</span><span class="p">:</span> <span class="s1">&#39;https://github.com/apache/airflow&#39;</span>
             <span class="p">}</span>
         <span class="p">]</span>
     <span class="p">},</span>
@@ -446,25 +446,25 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="p">)</span>
 
 <span class="n">feed_card_msg</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;feed_card_msg&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;feedCard&#39;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;feed_card_msg&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;feedCard&#39;</span><span class="p">,</span>
     <span class="n">message</span><span class="o">=</span><span class="p">{</span>
-        <span class="s">&quot;links&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;links&quot;</span><span class="p">:</span> <span class="p">[</span>
             <span class="p">{</span>
-                <span class="s">&quot;title&quot;</span><span class="p">:</span> <span class="s">&quot;Airflow DAG feed card&quot;</span><span class="p">,</span>
-                <span class="s">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
-                <span class="s">&quot;picURL&quot;</span><span class="p">:</span> <span class="s">&quot;http://airflow.apache.org/_images/dags.png&quot;</span>
+                <span class="s2">&quot;title&quot;</span><span class="p">:</span> <span class="s2">&quot;Airflow DAG feed card&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s2">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;picURL&quot;</span><span class="p">:</span> <span class="s2">&quot;http://airflow.apache.org/_images/dags.png&quot;</span>
             <span class="p">},</span>
             <span class="p">{</span>
-                <span class="s">&quot;title&quot;</span><span class="p">:</span> <span class="s">&quot;Airflow tree feed card&quot;</span><span class="p">,</span>
-                <span class="s">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
-                <span class="s">&quot;picURL&quot;</span><span class="p">:</span> <span class="s">&quot;http://airflow.apache.org/_images/tree.png&quot;</span>
+                <span class="s2">&quot;title&quot;</span><span class="p">:</span> <span class="s2">&quot;Airflow tree feed card&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s2">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;picURL&quot;</span><span class="p">:</span> <span class="s2">&quot;http://airflow.apache.org/_images/tree.png&quot;</span>
             <span class="p">},</span>
             <span class="p">{</span>
-                <span class="s">&quot;title&quot;</span><span class="p">:</span> <span class="s">&quot;Airflow graph feed card&quot;</span><span class="p">,</span>
-                <span class="s">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
-                <span class="s">&quot;picURL&quot;</span><span class="p">:</span> <span class="s">&quot;http://airflow.apache.org/_images/graph.png&quot;</span>
+                <span class="s2">&quot;title&quot;</span><span class="p">:</span> <span class="s2">&quot;Airflow graph feed card&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;messageURL&quot;</span><span class="p">:</span> <span class="s2">&quot;https://airflow.readthedocs.io/en/latest/ui.html&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;picURL&quot;</span><span class="p">:</span> <span class="s2">&quot;http://airflow.apache.org/_images/graph.png&quot;</span>
             <span class="p">}</span>
         <span class="p">]</span>
     <span class="p">},</span>
@@ -472,10 +472,10 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="p">)</span>
 
 <span class="n">msg_failure_callback</span> <span class="o">=</span> <span class="n">DingdingOperator</span><span class="p">(</span>
-    <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;msg_failure_callback&#39;</span><span class="p">,</span>
-    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s">&#39;dingding_default&#39;</span><span class="p">,</span>
-    <span class="n">message_type</span><span class="o">=</span><span class="s">&#39;not_support_msg_type&#39;</span><span class="p">,</span>
-    <span class="n">message</span><span class="o">=</span><span class="s">&quot;&quot;</span><span class="p">,</span>
+    <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;msg_failure_callback&#39;</span><span class="p">,</span>
+    <span class="n">dingding_conn_id</span><span class="o">=</span><span class="s1">&#39;dingding_default&#39;</span><span class="p">,</span>
+    <span class="n">message_type</span><span class="o">=</span><span class="s1">&#39;not_support_msg_type&#39;</span><span class="p">,</span>
+    <span class="n">message</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
     <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span>
 <span class="p">)</span>
 
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
index 5c81ec9..b40b5fb 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,26 +265,26 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_bigtable_operators</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &#39;License&#39;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &#39;AS IS&#39; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
-
-<span class="c"># noinspection LongLine</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &#39;License&#39;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &#39;AS IS&#39; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="c1"># noinspection LongLine</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that creates and performs following operations on Cloud Bigtable:</span>
 <span class="sd">- creates an Instance</span>
@@ -327,31 +327,31 @@ https://www.sphinx-doc.org/en/master/templating.html
     <span class="n">BigtableTableWaitForReplicationSensor</span><span class="p">,</span> \
     <span class="n">BigtableTableDeleteOperator</span>
 
-<span class="c"># [START howto_operator_gcp_bigtable_args]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">CBT_INSTANCE_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_INSTANCE_ID&#39;</span><span class="p">,</span> <span class="s">&#39;some-instance-id&#39;</span><span class="p">)</span>
-<span class="n">CBT_INSTANCE_DISPLAY_NAME</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_INSTANCE_DISPLAY_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;Human-readable name&#39;</span><span class="p">)</span>
-<span class="n">CBT_INSTANCE_TYPE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_INSTANCE_TYPE&#39;</span><span class="p">,</span> <span class="s">&#39;2&#39;</span><span class="p">)</span>
-<span class="n">CBT_INSTANCE_LABELS</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_INSTANCE_LABELS&#39;</span><span class="p">,</span> <span class="s">&#39;{}&#39;</span><span class="p">)</span>
-<span class="n">CBT_CLUSTER_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_CLUSTER_ID&#39;</span><span class="p">,</span> <span class="s">&#39;some-cluster-id&#39;</span><span class="p">)</span>
-<span class="n">CBT_CLUSTER_ZONE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_CLUSTER_ZONE&#39;</span><span class="p">,</span> <span class="s">&#39;europe-west1-b&#39;</span><span class="p">)</span>
-<span class="n">CBT_CLUSTER_NODES</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_CLUSTER_NODES&#39;</span><span class="p">,</span> <span class="s">&#39;3&#39;</span><span class="p">)</span>
-<span class="n">CBT_CLUSTER_NODES_UPDATED</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_CLUSTER_NODES_UPDATED&#39;</span><span class="p">,</span> <span class="s">&#39;5&#39;</span><span class="p">)</span>
-<span class="n">CBT_CLUSTER_STORAGE_TYPE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_CLUSTER_STORAGE_TYPE&#39;</span><span class="p">,</span> <span class="s">&#39;2&#39;</span><span class="p">)</span>
-<span class="n">CBT_TABLE_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_TABLE_ID&#39;</span><span class="p">,</span> <span class="s">&#39;some-table-id&#39;</span><span class="p">)</span>
-<span class="n">CBT_POKE_INTERVAL</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s">&#39;CBT_POKE_INTERVAL&#39;</span><span class="p">,</span> <span class="s">&#39;60&#39;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcp_bigtable_args]</span>
+<span class="c1"># [START howto_operator_gcp_bigtable_args]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">CBT_INSTANCE_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_INSTANCE_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;some-instance-id&#39;</span><span class="p">)</span>
+<span class="n">CBT_INSTANCE_DISPLAY_NAME</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_INSTANCE_DISPLAY_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;Human-readable name&#39;</span><span class="p">)</span>
+<span class="n">CBT_INSTANCE_TYPE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_INSTANCE_TYPE&#39;</span><span class="p">,</span> <span class="s1">&#39;2&#39;</span><span class="p">)</span>
+<span class="n">CBT_INSTANCE_LABELS</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_INSTANCE_LABELS&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">&#39;</span><span class="p">)</span>
+<span class="n">CBT_CLUSTER_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_CLUSTER_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;some-cluster-id&#39;</span><span class="p">)</span>
+<span class="n">CBT_CLUSTER_ZONE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_CLUSTER_ZONE&#39;</span><span class="p">,</span> <span class="s1">&#39;europe-west1-b&#39;</span><span class="p">)</span>
+<span class="n">CBT_CLUSTER_NODES</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_CLUSTER_NODES&#39;</span><span class="p">,</span> <span class="s1">&#39;3&#39;</span><span class="p">)</span>
+<span class="n">CBT_CLUSTER_NODES_UPDATED</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_CLUSTER_NODES_UPDATED&#39;</span><span class="p">,</span> <span class="s1">&#39;5&#39;</span><span class="p">)</span>
+<span class="n">CBT_CLUSTER_STORAGE_TYPE</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_CLUSTER_STORAGE_TYPE&#39;</span><span class="p">,</span> <span class="s1">&#39;2&#39;</span><span class="p">)</span>
+<span class="n">CBT_TABLE_ID</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_TABLE_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;some-table-id&#39;</span><span class="p">)</span>
+<span class="n">CBT_POKE_INTERVAL</span> <span class="o">=</span> <span class="n">getenv</span><span class="p">(</span><span class="s1">&#39;CBT_POKE_INTERVAL&#39;</span><span class="p">,</span> <span class="s1">&#39;60&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcp_bigtable_args]</span>
 
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_bigtable_operators&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_bigtable_operators&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># [START howto_operator_gcp_bigtable_instance_create]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_instance_create]</span>
     <span class="n">create_instance_task</span> <span class="o">=</span> <span class="n">BigtableInstanceCreateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
@@ -362,7 +362,7 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="n">instance_labels</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">CBT_INSTANCE_LABELS</span><span class="p">),</span>
         <span class="n">cluster_nodes</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_NODES</span><span class="p">),</span>
         <span class="n">cluster_storage_type</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_STORAGE_TYPE</span><span class="p">),</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;create_instance_task&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;create_instance_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">create_instance_task2</span> <span class="o">=</span> <span class="n">BigtableInstanceCreateOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
@@ -373,86 +373,86 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="n">instance_labels</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">CBT_INSTANCE_LABELS</span><span class="p">),</span>
         <span class="n">cluster_nodes</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_NODES</span><span class="p">),</span>
         <span class="n">cluster_storage_type</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_STORAGE_TYPE</span><span class="p">),</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;create_instance_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;create_instance_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">create_instance_task</span> <span class="o">&gt;&gt;</span> <span class="n">create_instance_task2</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_instance_create]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_instance_create]</span>
 
-    <span class="c"># [START howto_operator_gcp_bigtable_cluster_update]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_cluster_update]</span>
     <span class="n">cluster_update_task</span> <span class="o">=</span> <span class="n">BigtableClusterUpdateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">cluster_id</span><span class="o">=</span><span class="n">CBT_CLUSTER_ID</span><span class="p">,</span>
         <span class="n">nodes</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_NODES_UPDATED</span><span class="p">),</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;update_cluster_task&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;update_cluster_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">cluster_update_task2</span> <span class="o">=</span> <span class="n">BigtableClusterUpdateOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">cluster_id</span><span class="o">=</span><span class="n">CBT_CLUSTER_ID</span><span class="p">,</span>
         <span class="n">nodes</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_CLUSTER_NODES_UPDATED</span><span class="p">),</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;update_cluster_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;update_cluster_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">cluster_update_task</span> <span class="o">&gt;&gt;</span> <span class="n">cluster_update_task2</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_cluster_update]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_cluster_update]</span>
 
-    <span class="c"># [START howto_operator_gcp_bigtable_instance_delete]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_instance_delete]</span>
     <span class="n">delete_instance_task</span> <span class="o">=</span> <span class="n">BigtableInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;delete_instance_task&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;delete_instance_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">delete_instance_task2</span> <span class="o">=</span> <span class="n">BigtableInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;delete_instance_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;delete_instance_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_instance_delete]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_instance_delete]</span>
 
-    <span class="c"># [START howto_operator_gcp_bigtable_table_create]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_table_create]</span>
     <span class="n">create_table_task</span> <span class="o">=</span> <span class="n">BigtableTableCreateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;create_table&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;create_table&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">create_table_task2</span> <span class="o">=</span> <span class="n">BigtableTableCreateOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;create_table_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;create_table_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">create_table_task</span> <span class="o">&gt;&gt;</span> <span class="n">create_table_task2</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_table_create]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_table_create]</span>
 
-    <span class="c"># [START howto_operator_gcp_bigtable_table_wait_for_replication]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_table_wait_for_replication]</span>
     <span class="n">wait_for_table_replication_task</span> <span class="o">=</span> <span class="n">BigtableTableWaitForReplicationSensor</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
         <span class="n">poke_interval</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_POKE_INTERVAL</span><span class="p">),</span>
         <span class="n">timeout</span><span class="o">=</span><span class="mi">180</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;wait_for_table_replication_task&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;wait_for_table_replication_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">wait_for_table_replication_task2</span> <span class="o">=</span> <span class="n">BigtableTableWaitForReplicationSensor</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
         <span class="n">poke_interval</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">CBT_POKE_INTERVAL</span><span class="p">),</span>
         <span class="n">timeout</span><span class="o">=</span><span class="mi">180</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;wait_for_table_replication_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;wait_for_table_replication_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_table_wait_for_replication]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_table_wait_for_replication]</span>
 
-    <span class="c"># [START howto_operator_gcp_bigtable_table_delete]</span>
+    <span class="c1"># [START howto_operator_gcp_bigtable_table_delete]</span>
     <span class="n">delete_table_task</span> <span class="o">=</span> <span class="n">BigtableTableDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;delete_table_task&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;delete_table_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">delete_table_task2</span> <span class="o">=</span> <span class="n">BigtableTableDeleteOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">CBT_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">table_id</span><span class="o">=</span><span class="n">CBT_TABLE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;delete_table_task2&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;delete_table_task2&#39;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_bigtable_table_delete]</span>
+    <span class="c1"># [END howto_operator_gcp_bigtable_table_delete]</span>
 
     <span class="n">wait_for_table_replication_task</span> <span class="o">&gt;&gt;</span> <span class="n">delete_table_task</span>
     <span class="n">wait_for_table_replication_task2</span> <span class="o">&gt;&gt;</span> <span class="n">delete_table_task</span>
@@ -467,7 +467,7 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="o">&gt;&gt;</span> <span class="n">cluster_update_task2</span> \
         <span class="o">&gt;&gt;</span> <span class="n">delete_table_task2</span>
 
-    <span class="c"># Only delete instances after all tables are deleted</span>
+    <span class="c1"># Only delete instances after all tables are deleted</span>
     <span class="p">[</span><span class="n">delete_table_task</span><span class="p">,</span> <span class="n">delete_table_task2</span><span class="p">]</span> <span class="o">&gt;&gt;</span> \
         <span class="n">delete_instance_task</span> <span class="o">&gt;&gt;</span> <span class="n">delete_instance_task2</span>
 </pre></div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
index f7725ea..a1c2f22 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_cloud_build</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that displays interactions with Google Cloud Build.</span>
@@ -305,72 +305,72 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow.operators.bash_operator</span> <span class="k">import</span> <span class="n">BashOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">dates</span>
 
-<span class="c"># [START howto_operator_gcp_common_variables]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;GCP_PROJECT_ID&quot;</span><span class="p">,</span> <span class="s">&quot;example-project&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcp_common_variables]</span>
+<span class="c1"># [START howto_operator_gcp_common_variables]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;GCP_PROJECT_ID&quot;</span><span class="p">,</span> <span class="s2">&quot;example-project&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcp_common_variables]</span>
 
-<span class="c"># [START howto_operator_gcp_create_build_variables]</span>
-<span class="n">GCP_SOURCE_ARCHIVE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;GCP_CLOUD_BUILD_ARCHIVE_URL&quot;</span><span class="p">,</span> <span class="s">&quot;gs://example-bucket/file&quot;</span><span class="p">)</span>
-<span class="n">GCP_SOURCE_REPOSITORY_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;GCP_CLOUD_BUILD_REPOSITORY_NAME&quot;</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcp_create_build_variables]</span>
+<span class="c1"># [START howto_operator_gcp_create_build_variables]</span>
+<span class="n">GCP_SOURCE_ARCHIVE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;GCP_CLOUD_BUILD_ARCHIVE_URL&quot;</span><span class="p">,</span> <span class="s2">&quot;gs://example-bucket/file&quot;</span><span class="p">)</span>
+<span class="n">GCP_SOURCE_REPOSITORY_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;GCP_CLOUD_BUILD_REPOSITORY_NAME&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcp_create_build_variables]</span>
 
 <span class="n">GCP_SOURCE_ARCHIVE_URL_PARTS</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">GCP_SOURCE_ARCHIVE_URL</span><span class="p">)</span>
 <span class="n">GCP_SOURCE_BUCKET_NAME</span> <span class="o">=</span> <span class="n">GCP_SOURCE_ARCHIVE_URL_PARTS</span><span class="o">.</span><span class="n">netloc</span>
 
-<span class="c"># [START howto_operator_gcp_create_build_from_storage_body]</span>
+<span class="c1"># [START howto_operator_gcp_create_build_from_storage_body]</span>
 <span class="n">create_build_from_storage_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;source&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s">&quot;storageSource&quot;</span><span class="p">:</span> <span class="n">GCP_SOURCE_ARCHIVE_URL</span><span class="p">},</span>
-    <span class="s">&quot;steps&quot;</span><span class="p">:</span> <span class="p">[</span>
+    <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;storageSource&quot;</span><span class="p">:</span> <span class="n">GCP_SOURCE_ARCHIVE_URL</span><span class="p">},</span>
+    <span class="s2">&quot;steps&quot;</span><span class="p">:</span> <span class="p">[</span>
         <span class="p">{</span>
-            <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;gcr.io/cloud-builders/docker&quot;</span><span class="p">,</span>
-            <span class="s">&quot;args&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s">&quot;build&quot;</span><span class="p">,</span> <span class="s">&quot;-t&quot;</span><span class="p">,</span> <span class="s">&quot;gcr.io/$PROJECT_ID/{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_SOURCE_BUCKET_NAME</span><span class="p">),</span> <span class="s">&quot;.&quot;</span><span class="p">],</span>
+            <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;gcr.io/cloud-builders/docker&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;args&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;build&quot;</span><span class="p">,</span> <span class="s2">&quot;-t&quot;</span><span class="p">,</span> <span class="s2">&quot;gcr.io/$PROJECT_ID/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_SOURCE_BUCKET_NAME</span><span class="p">),</span> <span cla [...]
         <span class="p">}</span>
     <span class="p">],</span>
-    <span class="s">&quot;images&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s">&quot;gcr.io/$PROJECT_ID/{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_SOURCE_BUCKET_NAME</span><span class="p">)],</span>
+    <span class="s2">&quot;images&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;gcr.io/$PROJECT_ID/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_SOURCE_BUCKET_NAME</span><span class="p">)],</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_gcp_create_build_from_storage_body]</span>
+<span class="c1"># [END howto_operator_gcp_create_build_from_storage_body]</span>
 
-<span class="c"># [START howto_operator_create_build_from_repo_body]</span>
+<span class="c1"># [START howto_operator_create_build_from_repo_body]</span>
 <span class="n">create_build_from_repo_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;source&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s">&quot;repoSource&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s">&quot;repoName&quot;</span><span class="p">:</span> <span class="n">GCP_SOURCE_REPOSITORY_NAME</span><span class="p">,</span> <span class="s">&quot;branchName&quot;</span><span class="p">:</span> <span class="s">&quot;master&quot;</span><span class="p">}},</span>
-    <span class="s">&quot;steps&quot;</span><span class="p">:</span> <span class="p">[</span>
+    <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;repoSource&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;repoName&quot;</span><span class="p">:</span> <span class="n">GCP_SOURCE_REPOSITORY_NAME</span><span class="p">,</span> <span class="s2">&quot;branchName&quot;</span><span class="p">:</span> <span class="s2">&quot;master&quot;</span><span class="p">}},</span>
+    <span class="s2">&quot;steps&quot;</span><span class="p">:</span> <span class="p">[</span>
         <span class="p">{</span>
-            <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="s">&quot;gcr.io/cloud-builders/docker&quot;</span><span class="p">,</span>
-            <span class="s">&quot;args&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s">&quot;build&quot;</span><span class="p">,</span> <span class="s">&quot;-t&quot;</span><span class="p">,</span> <span class="s">&quot;gcr.io/$PROJECT_ID/$REPO_NAME&quot;</span><span class="p">,</span> <span class="s">&quot;.&quot;</span><span class="p">],</span>
+            <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;gcr.io/cloud-builders/docker&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;args&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;build&quot;</span><span class="p">,</span> <span class="s2">&quot;-t&quot;</span><span class="p">,</span> <span class="s2">&quot;gcr.io/$PROJECT_ID/$REPO_NAME&quot;</span><span class="p">,</span> <span class="s2">&quot;.&quot;</span><span class="p">],</span>
         <span class="p">}</span>
     <span class="p">],</span>
-    <span class="s">&quot;images&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s">&quot;gcr.io/$PROJECT_ID/$REPO_NAME&quot;</span><span class="p">],</span>
+    <span class="s2">&quot;images&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;gcr.io/$PROJECT_ID/$REPO_NAME&quot;</span><span class="p">],</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_create_build_from_repo_body]</span>
+<span class="c1"># [END howto_operator_create_build_from_repo_body]</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&quot;example_gcp_cloud_build&quot;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">start_date</span><span class="o">=</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span> <span class="n">schedule_interval</span><span class="o">=</span><span class="k [...]
+    <span class="s2">&quot;example_gcp_cloud_build&quot;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">start_date</span><span class="o">=</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span> <span class="n">schedule_interval</span><span class="o">=</span><span class=" [...]
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># [START howto_operator_create_build_from_storage]</span>
+    <span class="c1"># [START howto_operator_create_build_from_storage]</span>
     <span class="n">create_build_from_storage</span> <span class="o">=</span> <span class="n">CloudBuildCreateBuildOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;create_build_from_storage&quot;</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">create_build_from_storage_body</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;create_build_from_storage&quot;</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">create_build_from_storage_body</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_create_build_from_storage]</span>
+    <span class="c1"># [END howto_operator_create_build_from_storage]</span>
 
-    <span class="c"># [START howto_operator_create_build_from_storage_result]</span>
+    <span class="c1"># [START howto_operator_create_build_from_storage_result]</span>
     <span class="n">create_build_from_storage_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo &#39;{{ task_instance.xcom_pull(&#39;create_build_from_storage&#39;)[&#39;images&#39;][0] }}&#39;&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;create_build_from_storage_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo &#39;{{ task_instance.xcom_pull(&#39;create_build_from_storage&#39;)[&#39;images&#39;][0] }}&#39;&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;create_build_from_storage_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_create_build_from_storage_result]</span>
+    <span class="c1"># [END howto_operator_create_build_from_storage_result]</span>
 
     <span class="n">create_build_from_repo</span> <span class="o">=</span> <span class="n">CloudBuildCreateBuildOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;create_build_from_repo&quot;</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">create_build_from_repo_body</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;create_build_from_repo&quot;</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">create_build_from_repo_body</span>
     <span class="p">)</span>
 
     <span class="n">create_build_from_repo_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo &#39;{{ task_instance.xcom_pull(&#39;create_build_from_repo&#39;)[&#39;images&#39;][0] }}&#39;&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;create_build_from_repo_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo &#39;{{ task_instance.xcom_pull(&#39;create_build_from_repo&#39;)[&#39;images&#39;][0] }}&#39;&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;create_build_from_repo_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
 
-    <span class="n">create_build_from_storage</span> <span class="o">&gt;&gt;</span> <span class="n">create_build_from_storage_result</span>  <span class="c"># pylint: disable=pointless-statement</span>
+    <span class="n">create_build_from_storage</span> <span class="o">&gt;&gt;</span> <span class="n">create_build_from_storage_result</span>  <span class="c1"># pylint: disable=pointless-statement</span>
 
-    <span class="n">create_build_from_repo</span> <span class="o">&gt;&gt;</span> <span class="n">create_build_from_repo_result</span>  <span class="c"># pylint: disable=pointless-statement</span>
+    <span class="n">create_build_from_repo</span> <span class="o">&gt;&gt;</span> <span class="n">create_build_from_repo_result</span>  <span class="c1"># pylint: disable=pointless-statement</span>
 </pre></div>
 
            </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
index 09b4588..c67e309 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_compute</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that starts, stops and sets the machine type of a Google Compute</span>
@@ -303,79 +303,79 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow.contrib.operators.gcp_compute_operator</span> <span class="k">import</span> <span class="n">GceInstanceStartOperator</span><span class="p">,</span> \
     <span class="n">GceInstanceStopOperator</span><span class="p">,</span> <span class="n">GceSetMachineTypeOperator</span>
 
-<span class="c"># [START howto_operator_gce_args_common]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">GCE_ZONE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_ZONE&#39;</span><span class="p">,</span> <span class="s">&#39;europe-west1-b&#39;</span><span class="p">)</span>
-<span class="n">GCE_INSTANCE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_INSTANCE&#39;</span><span class="p">,</span> <span class="s">&#39;testinstance&#39;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gce_args_common]</span>
+<span class="c1"># [START howto_operator_gce_args_common]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">GCE_ZONE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_ZONE&#39;</span><span class="p">,</span> <span class="s1">&#39;europe-west1-b&#39;</span><span class="p">)</span>
+<span class="n">GCE_INSTANCE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_INSTANCE&#39;</span><span class="p">,</span> <span class="s1">&#39;testinstance&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gce_args_common]</span>
 
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span>
 <span class="p">}</span>
 
-<span class="c"># [START howto_operator_gce_args_set_machine_type]</span>
-<span class="n">GCE_SHORT_MACHINE_TYPE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_SHORT_MACHINE_TYPE_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;n1-standard-1&#39;</span><span class="p">)</span>
+<span class="c1"># [START howto_operator_gce_args_set_machine_type]</span>
+<span class="n">GCE_SHORT_MACHINE_TYPE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_SHORT_MACHINE_TYPE_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;n1-standard-1&#39;</span><span class="p">)</span>
 <span class="n">SET_MACHINE_TYPE_BODY</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;machineType&#39;</span><span class="p">:</span> <span class="s">&#39;zones/{}/machineTypes/{}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCE_ZONE</span><span class="p">,</span> <span class="n">GCE_SHORT_MACHINE_TYPE_NAME</span><span class="p">)</span>
+    <span class="s1">&#39;machineType&#39;</span><span class="p">:</span> <span class="s1">&#39;zones/</span><span class="si">{}</span><span class="s1">/machineTypes/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCE_ZONE</span><span class="p">,</span> <span class="n">GCE_SHORT_MACHINE_TYPE_NAME</span><span class="p">)</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_gce_args_set_machine_type]</span>
+<span class="c1"># [END howto_operator_gce_args_set_machine_type]</span>
 
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_compute&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_compute&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># [START howto_operator_gce_start]</span>
+    <span class="c1"># [START howto_operator_gce_start]</span>
     <span class="n">gce_instance_start</span> <span class="o">=</span> <span class="n">GceInstanceStartOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_start_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_start_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_start]</span>
-    <span class="c"># Duplicate start for idempotence testing</span>
-    <span class="c"># [START howto_operator_gce_start_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_start]</span>
+    <span class="c1"># Duplicate start for idempotence testing</span>
+    <span class="c1"># [START howto_operator_gce_start_no_project_id]</span>
     <span class="n">gce_instance_start2</span> <span class="o">=</span> <span class="n">GceInstanceStartOperator</span><span class="p">(</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_start_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_start_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_start_no_project_id]</span>
-    <span class="c"># [START howto_operator_gce_stop]</span>
+    <span class="c1"># [END howto_operator_gce_start_no_project_id]</span>
+    <span class="c1"># [START howto_operator_gce_stop]</span>
     <span class="n">gce_instance_stop</span> <span class="o">=</span> <span class="n">GceInstanceStopOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_stop_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_stop_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_stop]</span>
-    <span class="c"># Duplicate stop for idempotence testing</span>
-    <span class="c"># [START howto_operator_gce_stop_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_stop]</span>
+    <span class="c1"># Duplicate stop for idempotence testing</span>
+    <span class="c1"># [START howto_operator_gce_stop_no_project_id]</span>
     <span class="n">gce_instance_stop2</span> <span class="o">=</span> <span class="n">GceInstanceStopOperator</span><span class="p">(</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_stop_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_stop_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_stop_no_project_id]</span>
-    <span class="c"># [START howto_operator_gce_set_machine_type]</span>
+    <span class="c1"># [END howto_operator_gce_stop_no_project_id]</span>
+    <span class="c1"># [START howto_operator_gce_set_machine_type]</span>
     <span class="n">gce_set_machine_type</span> <span class="o">=</span> <span class="n">GceSetMachineTypeOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">SET_MACHINE_TYPE_BODY</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_set_machine_type&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_set_machine_type&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_set_machine_type]</span>
-    <span class="c"># Duplicate set machine type for idempotence testing</span>
-    <span class="c"># [START howto_operator_gce_set_machine_type_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_set_machine_type]</span>
+    <span class="c1"># Duplicate set machine type for idempotence testing</span>
+    <span class="c1"># [START howto_operator_gce_set_machine_type_no_project_id]</span>
     <span class="n">gce_set_machine_type2</span> <span class="o">=</span> <span class="n">GceSetMachineTypeOperator</span><span class="p">(</span>
         <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">SET_MACHINE_TYPE_BODY</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_set_machine_type2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_set_machine_type2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_set_machine_type_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_set_machine_type_no_project_id]</span>
 
     <span class="n">gce_instance_start</span> <span class="o">&gt;&gt;</span> <span class="n">gce_instance_start2</span> <span class="o">&gt;&gt;</span> <span class="n">gce_instance_stop</span> <span class="o">&gt;&gt;</span> \
         <span class="n">gce_instance_stop2</span> <span class="o">&gt;&gt;</span> <span class="n">gce_set_machine_type</span> <span class="o">&gt;&gt;</span> <span class="n">gce_set_machine_type2</span>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
index 61f4ec2..1960559 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_compute_igm</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that uses IGM-type compute operations:</span>
@@ -313,77 +313,77 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow.contrib.operators.gcp_compute_operator</span> <span class="k">import</span> \
     <span class="n">GceInstanceTemplateCopyOperator</span><span class="p">,</span> <span class="n">GceInstanceGroupManagerUpdateTemplateOperator</span>
 
-<span class="c"># [START howto_operator_compute_igm_common_args]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">GCE_ZONE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_ZONE&#39;</span><span class="p">,</span> <span class="s">&#39;europe-west1-b&#39;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_compute_igm_common_args]</span>
+<span class="c1"># [START howto_operator_compute_igm_common_args]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">GCE_ZONE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_ZONE&#39;</span><span class="p">,</span> <span class="s1">&#39;europe-west1-b&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_compute_igm_common_args]</span>
 
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
 
-<span class="c"># [START howto_operator_compute_template_copy_args]</span>
-<span class="n">GCE_TEMPLATE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_TEMPLATE_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;instance-template-test&#39;</span><span class="p">)</span>
-<span class="n">GCE_NEW_TEMPLATE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_NEW_TEMPLATE_NAME&#39;</span><span class="p">,</span>
-                                       <span class="s">&#39;instance-template-test-new&#39;</span><span class="p">)</span>
-<span class="n">GCE_NEW_DESCRIPTION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_NEW_DESCRIPTION&#39;</span><span class="p">,</span> <span class="s">&#39;Test new description&#39;</span><span class="p">)</span>
+<span class="c1"># [START howto_operator_compute_template_copy_args]</span>
+<span class="n">GCE_TEMPLATE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_TEMPLATE_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;instance-template-test&#39;</span><span class="p">)</span>
+<span class="n">GCE_NEW_TEMPLATE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_NEW_TEMPLATE_NAME&#39;</span><span class="p">,</span>
+                                       <span class="s1">&#39;instance-template-test-new&#39;</span><span class="p">)</span>
+<span class="n">GCE_NEW_DESCRIPTION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_NEW_DESCRIPTION&#39;</span><span class="p">,</span> <span class="s1">&#39;Test new description&#39;</span><span class="p">)</span>
 <span class="n">GCE_INSTANCE_TEMPLATE_BODY_UPDATE</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">GCE_NEW_TEMPLATE_NAME</span><span class="p">,</span>
-    <span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="n">GCE_NEW_DESCRIPTION</span><span class="p">,</span>
-    <span class="s">&quot;properties&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;machineType&quot;</span><span class="p">:</span> <span class="s">&quot;n1-standard-2&quot;</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">GCE_NEW_TEMPLATE_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;description&quot;</span><span class="p">:</span> <span class="n">GCE_NEW_DESCRIPTION</span><span class="p">,</span>
+    <span class="s2">&quot;properties&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;machineType&quot;</span><span class="p">:</span> <span class="s2">&quot;n1-standard-2&quot;</span>
     <span class="p">}</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_compute_template_copy_args]</span>
+<span class="c1"># [END howto_operator_compute_template_copy_args]</span>
 
-<span class="c"># [START howto_operator_compute_igm_update_template_args]</span>
-<span class="n">GCE_INSTANCE_GROUP_MANAGER_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCE_INSTANCE_GROUP_MANAGER_NAME&#39;</span><span class="p">,</span>
-                                                 <span class="s">&#39;instance-group-test&#39;</span><span class="p">)</span>
+<span class="c1"># [START howto_operator_compute_igm_update_template_args]</span>
+<span class="n">GCE_INSTANCE_GROUP_MANAGER_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCE_INSTANCE_GROUP_MANAGER_NAME&#39;</span><span class="p">,</span>
+                                                 <span class="s1">&#39;instance-group-test&#39;</span><span class="p">)</span>
 
 <span class="n">SOURCE_TEMPLATE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-    <span class="s">&#39;SOURCE_TEMPLATE_URL&#39;</span><span class="p">,</span>
-    <span class="s">&quot;https://www.googleapis.com/compute/beta/projects/&quot;</span> <span class="o">+</span> <span class="n">GCP_PROJECT_ID</span> <span class="o">+</span>
-    <span class="s">&quot;/global/instanceTemplates/instance-template-test&quot;</span><span class="p">)</span>
+    <span class="s1">&#39;SOURCE_TEMPLATE_URL&#39;</span><span class="p">,</span>
+    <span class="s2">&quot;https://www.googleapis.com/compute/beta/projects/&quot;</span> <span class="o">+</span> <span class="n">GCP_PROJECT_ID</span> <span class="o">+</span>
+    <span class="s2">&quot;/global/instanceTemplates/instance-template-test&quot;</span><span class="p">)</span>
 
 <span class="n">DESTINATION_TEMPLATE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-    <span class="s">&#39;DESTINATION_TEMPLATE_URL&#39;</span><span class="p">,</span>
-    <span class="s">&quot;https://www.googleapis.com/compute/beta/projects/&quot;</span> <span class="o">+</span> <span class="n">GCP_PROJECT_ID</span> <span class="o">+</span>
-    <span class="s">&quot;/global/instanceTemplates/&quot;</span> <span class="o">+</span> <span class="n">GCE_NEW_TEMPLATE_NAME</span><span class="p">)</span>
+    <span class="s1">&#39;DESTINATION_TEMPLATE_URL&#39;</span><span class="p">,</span>
+    <span class="s2">&quot;https://www.googleapis.com/compute/beta/projects/&quot;</span> <span class="o">+</span> <span class="n">GCP_PROJECT_ID</span> <span class="o">+</span>
+    <span class="s2">&quot;/global/instanceTemplates/&quot;</span> <span class="o">+</span> <span class="n">GCE_NEW_TEMPLATE_NAME</span><span class="p">)</span>
 
 <span class="n">UPDATE_POLICY</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;OPPORTUNISTIC&quot;</span><span class="p">,</span>
-    <span class="s">&quot;minimalAction&quot;</span><span class="p">:</span> <span class="s">&quot;RESTART&quot;</span><span class="p">,</span>
-    <span class="s">&quot;maxSurge&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;fixed&quot;</span><span class="p">:</span> <span class="mi">1</span>
+    <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;OPPORTUNISTIC&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;minimalAction&quot;</span><span class="p">:</span> <span class="s2">&quot;RESTART&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;maxSurge&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;fixed&quot;</span><span class="p">:</span> <span class="mi">1</span>
     <span class="p">},</span>
-    <span class="s">&quot;minReadySec&quot;</span><span class="p">:</span> <span class="mi">1800</span>
+    <span class="s2">&quot;minReadySec&quot;</span><span class="p">:</span> <span class="mi">1800</span>
 <span class="p">}</span>
 
-<span class="c"># [END howto_operator_compute_igm_update_template_args]</span>
+<span class="c1"># [END howto_operator_compute_igm_update_template_args]</span>
 
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_compute_igm&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_compute_igm&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># [START howto_operator_gce_igm_copy_template]</span>
+    <span class="c1"># [START howto_operator_gce_igm_copy_template]</span>
     <span class="n">gce_instance_template_copy</span> <span class="o">=</span> <span class="n">GceInstanceTemplateCopyOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_TEMPLATE_NAME</span><span class="p">,</span>
         <span class="n">body_patch</span><span class="o">=</span><span class="n">GCE_INSTANCE_TEMPLATE_BODY_UPDATE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_igm_copy_template_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_igm_copy_template_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_igm_copy_template]</span>
-    <span class="c"># Added to check for idempotence</span>
-    <span class="c"># [START howto_operator_gce_igm_copy_template_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_igm_copy_template]</span>
+    <span class="c1"># Added to check for idempotence</span>
+    <span class="c1"># [START howto_operator_gce_igm_copy_template_no_project_id]</span>
     <span class="n">gce_instance_template_copy2</span> <span class="o">=</span> <span class="n">GceInstanceTemplateCopyOperator</span><span class="p">(</span>
         <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_TEMPLATE_NAME</span><span class="p">,</span>
         <span class="n">body_patch</span><span class="o">=</span><span class="n">GCE_INSTANCE_TEMPLATE_BODY_UPDATE</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_igm_copy_template_task_2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_igm_copy_template_task_2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_igm_copy_template_no_project_id]</span>
-    <span class="c"># [START howto_operator_gce_igm_update_template]</span>
+    <span class="c1"># [END howto_operator_gce_igm_copy_template_no_project_id]</span>
+    <span class="c1"># [START howto_operator_gce_igm_update_template]</span>
     <span class="n">gce_instance_group_manager_update_template</span> <span class="o">=</span> \
         <span class="n">GceInstanceGroupManagerUpdateTemplateOperator</span><span class="p">(</span>
             <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
@@ -392,20 +392,20 @@ https://www.sphinx-doc.org/en/master/templating.html
             <span class="n">source_template</span><span class="o">=</span><span class="n">SOURCE_TEMPLATE_URL</span><span class="p">,</span>
             <span class="n">destination_template</span><span class="o">=</span><span class="n">DESTINATION_TEMPLATE_URL</span><span class="p">,</span>
             <span class="n">update_policy</span><span class="o">=</span><span class="n">UPDATE_POLICY</span><span class="p">,</span>
-            <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_igm_group_manager_update_template&#39;</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_igm_group_manager_update_template&#39;</span>
         <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_igm_update_template]</span>
-    <span class="c"># Added to check for idempotence (and without UPDATE_POLICY)</span>
-    <span class="c"># [START howto_operator_gce_igm_update_template_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_igm_update_template]</span>
+    <span class="c1"># Added to check for idempotence (and without UPDATE_POLICY)</span>
+    <span class="c1"># [START howto_operator_gce_igm_update_template_no_project_id]</span>
     <span class="n">gce_instance_group_manager_update_template2</span> <span class="o">=</span> \
         <span class="n">GceInstanceGroupManagerUpdateTemplateOperator</span><span class="p">(</span>
             <span class="n">resource_id</span><span class="o">=</span><span class="n">GCE_INSTANCE_GROUP_MANAGER_NAME</span><span class="p">,</span>
             <span class="n">zone</span><span class="o">=</span><span class="n">GCE_ZONE</span><span class="p">,</span>
             <span class="n">source_template</span><span class="o">=</span><span class="n">SOURCE_TEMPLATE_URL</span><span class="p">,</span>
             <span class="n">destination_template</span><span class="o">=</span><span class="n">DESTINATION_TEMPLATE_URL</span><span class="p">,</span>
-            <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;gcp_compute_igm_group_manager_update_template_2&#39;</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;gcp_compute_igm_group_manager_update_template_2&#39;</span>
         <span class="p">)</span>
-    <span class="c"># [END howto_operator_gce_igm_update_template_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gce_igm_update_template_no_project_id]</span>
     <span class="n">gce_instance_template_copy</span> <span class="o">&gt;&gt;</span> <span class="n">gce_instance_template_copy2</span> <span class="o">&gt;&gt;</span> \
         <span class="n">gce_instance_group_manager_update_template</span> <span class="o">&gt;&gt;</span> \
         <span class="n">gce_instance_group_manager_update_template2</span>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
index b4f1191..8de698d 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_function</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that displays interactions with Google Cloud Functions.</span>
@@ -315,88 +315,88 @@ https://www.sphinx-doc.org/en/master/templating.html
     <span class="kn">import</span> <span class="nn">GcfFunctionDeployOperator</span><span class="o">,</span> <span class="nn">GcfFunctionDeleteOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">dates</span>
 
-<span class="c"># [START howto_operator_gcf_common_variables]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">GCP_LOCATION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_LOCATION&#39;</span><span class="p">,</span> <span class="s">&#39;europe-west1&#39;</span><span class="p">)</span>
-<span class="n">GCF_SHORT_FUNCTION_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCF_SHORT_FUNCTION_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;hello&#39;</span><span class="p">)</span><span class="o">.</span>\
-    <span class="n">replace</span><span class="p">(</span><span class="s">&quot;-&quot;</span><span class="p">,</span> <span class="s">&quot;_&quot;</span><span class="p">)</span>  <span class="c"># make sure there are no dashes in function name (!)</span>
-<span class="n">FUNCTION_NAME</span> <span class="o">=</span> <span class="s">&#39;projects/{}/locations/{}/functions/{}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
+<span class="c1"># [START howto_operator_gcf_common_variables]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">GCP_LOCATION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_LOCATION&#39;</span><span class="p">,</span> <span class="s1">&#39;europe-west1&#39;</span><span class="p">)</span>
+<span class="n">GCF_SHORT_FUNCTION_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCF_SHORT_FUNCTION_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;hello&#39;</span><span class="p">)</span><span class="o">.</span>\
+    <span class="n">replace</span><span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;_&quot;</span><span class="p">)</span>  <span class="c1"># make sure there are no dashes in function name (!)</span>
+<span class="n">FUNCTION_NAME</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/locations/</span><span class="si">{}</span><span class="s1">/functions/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
                                                                <span class="n">GCP_LOCATION</span><span class="p">,</span>
                                                                <span class="n">GCF_SHORT_FUNCTION_NAME</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcf_common_variables]</span>
-<span class="c"># [START howto_operator_gcf_deploy_variables]</span>
-<span class="n">GCF_SOURCE_ARCHIVE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCF_SOURCE_ARCHIVE_URL&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">)</span>
-<span class="n">GCF_SOURCE_UPLOAD_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCF_SOURCE_UPLOAD_URL&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcf_common_variables]</span>
+<span class="c1"># [START howto_operator_gcf_deploy_variables]</span>
+<span class="n">GCF_SOURCE_ARCHIVE_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCF_SOURCE_ARCHIVE_URL&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+<span class="n">GCF_SOURCE_UPLOAD_URL</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCF_SOURCE_UPLOAD_URL&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
 <span class="n">GCF_SOURCE_REPOSITORY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-    <span class="s">&#39;GCF_SOURCE_REPOSITORY&#39;</span><span class="p">,</span>
-    <span class="s">&#39;https://source.developers.google.com/&#39;</span>
-    <span class="s">&#39;projects/{}/repos/hello-world/moveable-aliases/master&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_PROJECT_ID</span><span class="p">))</span>
-<span class="n">GCF_ZIP_PATH</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCF_ZIP_PATH&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">)</span>
-<span class="n">GCF_ENTRYPOINT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCF_ENTRYPOINT&#39;</span><span class="p">,</span> <span class="s">&#39;helloWorld&#39;</span><span class="p">)</span>
-<span class="n">GCF_RUNTIME</span> <span class="o">=</span> <span class="s">&#39;nodejs6&#39;</span>
-<span class="n">GCP_VALIDATE_BODY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_VALIDATE_BODY&#39;</span><span class="p">,</span> <span class="k">True</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcf_deploy_variables]</span>
-
-<span class="c"># [START howto_operator_gcf_deploy_body]</span>
+    <span class="s1">&#39;GCF_SOURCE_REPOSITORY&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;https://source.developers.google.com/&#39;</span>
+    <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/repos/hello-world/moveable-aliases/master&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">GCP_PROJECT_ID</span><span class="p">))</span>
+<span class="n">GCF_ZIP_PATH</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCF_ZIP_PATH&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+<span class="n">GCF_ENTRYPOINT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCF_ENTRYPOINT&#39;</span><span class="p">,</span> <span class="s1">&#39;helloWorld&#39;</span><span class="p">)</span>
+<span class="n">GCF_RUNTIME</span> <span class="o">=</span> <span class="s1">&#39;nodejs6&#39;</span>
+<span class="n">GCP_VALIDATE_BODY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_VALIDATE_BODY&#39;</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcf_deploy_variables]</span>
+
+<span class="c1"># [START howto_operator_gcf_deploy_body]</span>
 <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">FUNCTION_NAME</span><span class="p">,</span>
-    <span class="s">&quot;entryPoint&quot;</span><span class="p">:</span> <span class="n">GCF_ENTRYPOINT</span><span class="p">,</span>
-    <span class="s">&quot;runtime&quot;</span><span class="p">:</span> <span class="n">GCF_RUNTIME</span><span class="p">,</span>
-    <span class="s">&quot;httpsTrigger&quot;</span><span class="p">:</span> <span class="p">{}</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">FUNCTION_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;entryPoint&quot;</span><span class="p">:</span> <span class="n">GCF_ENTRYPOINT</span><span class="p">,</span>
+    <span class="s2">&quot;runtime&quot;</span><span class="p">:</span> <span class="n">GCF_RUNTIME</span><span class="p">,</span>
+    <span class="s2">&quot;httpsTrigger&quot;</span><span class="p">:</span> <span class="p">{}</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_gcf_deploy_body]</span>
+<span class="c1"># [END howto_operator_gcf_deploy_body]</span>
 
-<span class="c"># [START howto_operator_gcf_default_args]</span>
+<span class="c1"># [START howto_operator_gcf_default_args]</span>
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_gcf_default_args]</span>
+<span class="c1"># [END howto_operator_gcf_default_args]</span>
 
-<span class="c"># [START howto_operator_gcf_deploy_variants]</span>
+<span class="c1"># [START howto_operator_gcf_deploy_variants]</span>
 <span class="k">if</span> <span class="n">GCF_SOURCE_ARCHIVE_URL</span><span class="p">:</span>
-    <span class="n">body</span><span class="p">[</span><span class="s">&#39;sourceArchiveUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_SOURCE_ARCHIVE_URL</span>
+    <span class="n">body</span><span class="p">[</span><span class="s1">&#39;sourceArchiveUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_SOURCE_ARCHIVE_URL</span>
 <span class="k">elif</span> <span class="n">GCF_SOURCE_REPOSITORY</span><span class="p">:</span>
-    <span class="n">body</span><span class="p">[</span><span class="s">&#39;sourceRepository&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-        <span class="s">&#39;url&#39;</span><span class="p">:</span> <span class="n">GCF_SOURCE_REPOSITORY</span>
+    <span class="n">body</span><span class="p">[</span><span class="s1">&#39;sourceRepository&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+        <span class="s1">&#39;url&#39;</span><span class="p">:</span> <span class="n">GCF_SOURCE_REPOSITORY</span>
     <span class="p">}</span>
 <span class="k">elif</span> <span class="n">GCF_ZIP_PATH</span><span class="p">:</span>
-    <span class="n">body</span><span class="p">[</span><span class="s">&#39;sourceUploadUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
-    <span class="n">default_args</span><span class="p">[</span><span class="s">&#39;zip_path&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_ZIP_PATH</span>
+    <span class="n">body</span><span class="p">[</span><span class="s1">&#39;sourceUploadUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+    <span class="n">default_args</span><span class="p">[</span><span class="s1">&#39;zip_path&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_ZIP_PATH</span>
 <span class="k">elif</span> <span class="n">GCF_SOURCE_UPLOAD_URL</span><span class="p">:</span>
-    <span class="n">body</span><span class="p">[</span><span class="s">&#39;sourceUploadUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_SOURCE_UPLOAD_URL</span>
+    <span class="n">body</span><span class="p">[</span><span class="s1">&#39;sourceUploadUrl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">GCF_SOURCE_UPLOAD_URL</span>
 <span class="k">else</span><span class="p">:</span>
-    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">&quot;Please provide one of the source_code parameters&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcf_deploy_variants]</span>
+    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please provide one of the source_code parameters&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcf_deploy_variants]</span>
 
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_function&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_function&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># [START howto_operator_gcf_deploy]</span>
+    <span class="c1"># [START howto_operator_gcf_deploy]</span>
     <span class="n">deploy_task</span> <span class="o">=</span> <span class="n">GcfFunctionDeployOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;gcf_deploy_task&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;gcf_deploy_task&quot;</span><span class="p">,</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">location</span><span class="o">=</span><span class="n">GCP_LOCATION</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">,</span>
         <span class="n">validate_body</span><span class="o">=</span><span class="n">GCP_VALIDATE_BODY</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcf_deploy]</span>
-    <span class="c"># [START howto_operator_gcf_deploy_no_project_id]</span>
+    <span class="c1"># [END howto_operator_gcf_deploy]</span>
+    <span class="c1"># [START howto_operator_gcf_deploy_no_project_id]</span>
     <span class="n">deploy2_task</span> <span class="o">=</span> <span class="n">GcfFunctionDeployOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;gcf_deploy2_task&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;gcf_deploy2_task&quot;</span><span class="p">,</span>
         <span class="n">location</span><span class="o">=</span><span class="n">GCP_LOCATION</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">,</span>
         <span class="n">validate_body</span><span class="o">=</span><span class="n">GCP_VALIDATE_BODY</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcf_deploy_no_project_id]</span>
-    <span class="c"># [START howto_operator_gcf_delete]</span>
+    <span class="c1"># [END howto_operator_gcf_deploy_no_project_id]</span>
+    <span class="c1"># [START howto_operator_gcf_delete]</span>
     <span class="n">delete_task</span> <span class="o">=</span> <span class="n">GcfFunctionDeleteOperator</span><span class="p">(</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;gcf_delete_task&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;gcf_delete_task&quot;</span><span class="p">,</span>
         <span class="n">name</span><span class="o">=</span><span class="n">FUNCTION_NAME</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcf_delete]</span>
+    <span class="c1"># [END howto_operator_gcf_delete]</span>
     <span class="n">deploy_task</span> <span class="o">&gt;&gt;</span> <span class="n">deploy2_task</span> <span class="o">&gt;&gt;</span> <span class="n">delete_task</span>
 </pre></div>
 
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
index a1177a4..1ecd79e 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_natural_language</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG for Google Cloud Natural Language service</span>
@@ -301,79 +301,79 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="p">)</span>
 <span class="kn">from</span> <span class="nn">airflow.operators.bash_operator</span> <span class="k">import</span> <span class="n">BashOperator</span>
 
-<span class="c"># [START howto_operator_gcp_natural_language_document_text]</span>
-<span class="n">TEXT</span> <span class="o">=</span> <span class="s">&quot;&quot;&quot;</span>
-<span class="s">Airflow is a platform to programmatically author, schedule and monitor workflows.</span>
+<span class="c1"># [START howto_operator_gcp_natural_language_document_text]</span>
+<span class="n">TEXT</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">Airflow is a platform to programmatically author, schedule and monitor workflows.</span>
 
-<span class="s">Use Airflow to author workflows as Directed Acyclic Graphs (DAGs) of tasks. The Airflow scheduler executes</span>
-<span class="s"> your tasks on an array of workers while following the specified dependencies. Rich command line utilities</span>
-<span class="s"> make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize</span>
-<span class="s"> pipelines running in production, monitor progress, and troubleshoot issues when needed.</span>
-<span class="s">&quot;&quot;&quot;</span>
-<span class="n">document</span> <span class="o">=</span> <span class="n">Document</span><span class="p">(</span><span class="n">content</span><span class="o">=</span><span class="n">TEXT</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&quot;PLAIN_TEXT&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcp_natural_language_document_text]</span>
+<span class="s2">Use Airflow to author workflows as Directed Acyclic Graphs (DAGs) of tasks. The Airflow scheduler executes</span>
+<span class="s2"> your tasks on an array of workers while following the specified dependencies. Rich command line utilities</span>
+<span class="s2"> make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize</span>
+<span class="s2"> pipelines running in production, monitor progress, and troubleshoot issues when needed.</span>
+<span class="s2">&quot;&quot;&quot;</span>
+<span class="n">document</span> <span class="o">=</span> <span class="n">Document</span><span class="p">(</span><span class="n">content</span><span class="o">=</span><span class="n">TEXT</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;PLAIN_TEXT&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcp_natural_language_document_text]</span>
 
-<span class="c"># [START howto_operator_gcp_natural_language_document_gcs]</span>
-<span class="n">GCS_CONTENT_URI</span> <span class="o">=</span> <span class="s">&quot;gs://my-text-bucket/sentiment-me.txt&quot;</span>
-<span class="n">document_gcs</span> <span class="o">=</span> <span class="n">Document</span><span class="p">(</span><span class="n">gcs_content_uri</span><span class="o">=</span><span class="n">GCS_CONTENT_URI</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&quot;PLAIN_TEXT&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_gcp_natural_language_document_gcs]</span>
+<span class="c1"># [START howto_operator_gcp_natural_language_document_gcs]</span>
+<span class="n">GCS_CONTENT_URI</span> <span class="o">=</span> <span class="s2">&quot;gs://my-text-bucket/sentiment-me.txt&quot;</span>
+<span class="n">document_gcs</span> <span class="o">=</span> <span class="n">Document</span><span class="p">(</span><span class="n">gcs_content_uri</span><span class="o">=</span><span class="n">GCS_CONTENT_URI</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;PLAIN_TEXT&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_gcp_natural_language_document_gcs]</span>
 
 
-<span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;start_date&quot;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)}</span>
+<span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start_date&quot;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)}</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&quot;example_gcp_natural_language&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;example_gcp_natural_language&quot;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span><span class="p">,</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_entities]</span>
-    <span class="n">analyze_entities</span> <span class="o">=</span> <span class="n">CloudLanguageAnalyzeEntitiesOperator</span><span class="p">(</span><span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_entities&quot;</span><span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_entities]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_entities]</span>
+    <span class="n">analyze_entities</span> <span class="o">=</span> <span class="n">CloudLanguageAnalyzeEntitiesOperator</span><span class="p">(</span><span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_entities&quot;</span><span class="p">)</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_entities]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_entities_result]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_entities_result]</span>
     <span class="n">analyze_entities_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo </span><span class="se">\&quot;</span><span class="s">{{ task_instance.xcom_pull(&#39;analyze_entities&#39;) }}</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_entities_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo </span><span class="se">\&quot;</span><span class="s2">{{ task_instance.xcom_pull(&#39;analyze_entities&#39;) }}</span><span class="se">\&quot;</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_entities_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_entities_result]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_entities_result]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_entity_sentiment]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_entity_sentiment]</span>
     <span class="n">analyze_entity_sentiment</span> <span class="o">=</span> <span class="n">CloudLanguageAnalyzeEntitySentimentOperator</span><span class="p">(</span>
-        <span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_entity_sentiment&quot;</span>
+        <span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_entity_sentiment&quot;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_entity_sentiment]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_entity_sentiment]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_entity_sentiment_result]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_entity_sentiment_result]</span>
     <span class="n">analyze_entity_sentiment_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo </span><span class="se">\&quot;</span><span class="s">{{ task_instance.xcom_pull(&#39;analyze_entity_sentiment&#39;) }}</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_entity_sentiment_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo </span><span class="se">\&quot;</span><span class="s2">{{ task_instance.xcom_pull(&#39;analyze_entity_sentiment&#39;) }}</span><span class="se">\&quot;</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_entity_sentiment_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_entity_sentiment_result]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_entity_sentiment_result]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_sentiment]</span>
-    <span class="n">analyze_sentiment</span> <span class="o">=</span> <span class="n">CloudLanguageAnalyzeSentimentOperator</span><span class="p">(</span><span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_sentiment&quot;</span><span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_sentiment]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_sentiment]</span>
+    <span class="n">analyze_sentiment</span> <span class="o">=</span> <span class="n">CloudLanguageAnalyzeSentimentOperator</span><span class="p">(</span><span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_sentiment&quot;</span><span class="p">)</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_sentiment]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_sentiment_result]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_sentiment_result]</span>
     <span class="n">analyze_sentiment_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo </span><span class="se">\&quot;</span><span class="s">{{ task_instance.xcom_pull(&#39;analyze_sentiment&#39;) }}</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_sentiment_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo </span><span class="se">\&quot;</span><span class="s2">{{ task_instance.xcom_pull(&#39;analyze_sentiment&#39;) }}</span><span class="se">\&quot;</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_sentiment_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_sentiment_result]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_sentiment_result]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_classify_text]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_classify_text]</span>
     <span class="n">analyze_classify_text</span> <span class="o">=</span> <span class="n">CloudLanguageClassifyTextOperator</span><span class="p">(</span>
-        <span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_classify_text&quot;</span>
+        <span class="n">document</span><span class="o">=</span><span class="n">document</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_classify_text&quot;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_classify_text]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_classify_text]</span>
 
-    <span class="c"># [START howto_operator_gcp_natural_language_analyze_classify_text_result]</span>
+    <span class="c1"># [START howto_operator_gcp_natural_language_analyze_classify_text_result]</span>
     <span class="n">analyze_classify_text_result</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
-        <span class="n">bash_command</span><span class="o">=</span><span class="s">&quot;echo </span><span class="se">\&quot;</span><span class="s">{{ task_instance.xcom_pull(&#39;analyze_classify_text&#39;) }}</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;analyze_classify_text_result&quot;</span><span class="p">,</span>
+        <span class="n">bash_command</span><span class="o">=</span><span class="s2">&quot;echo </span><span class="se">\&quot;</span><span class="s2">{{ task_instance.xcom_pull(&#39;analyze_classify_text&#39;) }}</span><span class="se">\&quot;</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;analyze_classify_text_result&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_gcp_natural_language_analyze_classify_text_result]</span>
+    <span class="c1"># [END howto_operator_gcp_natural_language_analyze_classify_text_result]</span>
 
     <span class="n">analyze_entities</span> <span class="o">&gt;&gt;</span> <span class="n">analyze_entities_result</span>
     <span class="n">analyze_entity_sentiment</span> <span class="o">&gt;&gt;</span> <span class="n">analyze_entity_sentiment_result</span>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
index 527d94a..517d47e 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_spanner</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that creates, updates, queries and deletes a Cloud Spanner instance.</span>
@@ -312,143 +312,143 @@ https://www.sphinx-doc.org/en/master/templating.html
     <span class="n">CloudSpannerInstanceDatabaseUpdateOperator</span><span class="p">,</span> \
     <span class="n">CloudSpannerInstanceDatabaseDeleteOperator</span>
 
-<span class="c"># [START howto_operator_spanner_arguments]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">GCP_SPANNER_INSTANCE_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_SPANNER_INSTANCE_ID&#39;</span><span class="p">,</span> <span class="s">&#39;testinstance&#39;</span><span class="p">)</span>
-<span class="n">GCP_SPANNER_DATABASE_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_SPANNER_DATABASE_ID&#39;</span><span class="p">,</span> <span class="s">&#39;testdatabase&#39;</span><span class="p">)</span>
-<span class="n">GCP_SPANNER_CONFIG_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_SPANNER_CONFIG_NAME&#39;</span><span class="p">,</span>
-                                         <span class="s">&#39;projects/example-project/instanceConfigs/eur3&#39;</span><span class="p">)</span>
-<span class="n">GCP_SPANNER_NODE_COUNT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_SPANNER_NODE_COUNT&#39;</span><span class="p">,</span> <span class="s">&#39;1&#39;</span><span class="p">)</span>
-<span class="n">GCP_SPANNER_DISPLAY_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_SPANNER_DISPLAY_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;Test Instance&#39;</span><span class="p">)</span>
-<span class="c"># OPERATION_ID should be unique per operation</span>
-<span class="n">OPERATION_ID</span> <span class="o">=</span> <span class="s">&#39;unique_operation_id&#39;</span>
-<span class="c"># [END howto_operator_spanner_arguments]</span>
+<span class="c1"># [START howto_operator_spanner_arguments]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">GCP_SPANNER_INSTANCE_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_SPANNER_INSTANCE_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;testinstance&#39;</span><span class="p">)</span>
+<span class="n">GCP_SPANNER_DATABASE_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_SPANNER_DATABASE_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;testdatabase&#39;</span><span class="p">)</span>
+<span class="n">GCP_SPANNER_CONFIG_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_SPANNER_CONFIG_NAME&#39;</span><span class="p">,</span>
+                                         <span class="s1">&#39;projects/example-project/instanceConfigs/eur3&#39;</span><span class="p">)</span>
+<span class="n">GCP_SPANNER_NODE_COUNT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_SPANNER_NODE_COUNT&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">)</span>
+<span class="n">GCP_SPANNER_DISPLAY_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_SPANNER_DISPLAY_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;Test Instance&#39;</span><span class="p">)</span>
+<span class="c1"># OPERATION_ID should be unique per operation</span>
+<span class="n">OPERATION_ID</span> <span class="o">=</span> <span class="s1">&#39;unique_operation_id&#39;</span>
+<span class="c1"># [END howto_operator_spanner_arguments]</span>
 
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_spanner&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_spanner&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
-    <span class="c"># Create</span>
-    <span class="c"># [START howto_operator_spanner_deploy]</span>
+    <span class="c1"># Create</span>
+    <span class="c1"># [START howto_operator_spanner_deploy]</span>
     <span class="n">spanner_instance_create_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDeployOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">configuration_name</span><span class="o">=</span><span class="n">GCP_SPANNER_CONFIG_NAME</span><span class="p">,</span>
         <span class="n">node_count</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">GCP_SPANNER_NODE_COUNT</span><span class="p">),</span>
         <span class="n">display_name</span><span class="o">=</span><span class="n">GCP_SPANNER_DISPLAY_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_create_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_create_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_instance_update_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDeployOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">configuration_name</span><span class="o">=</span><span class="n">GCP_SPANNER_CONFIG_NAME</span><span class="p">,</span>
         <span class="n">node_count</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">GCP_SPANNER_NODE_COUNT</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
-        <span class="n">display_name</span><span class="o">=</span><span class="n">GCP_SPANNER_DISPLAY_NAME</span> <span class="o">+</span> <span class="s">&#39;_updated&#39;</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_update_task&#39;</span>
+        <span class="n">display_name</span><span class="o">=</span><span class="n">GCP_SPANNER_DISPLAY_NAME</span> <span class="o">+</span> <span class="s1">&#39;_updated&#39;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_update_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_deploy]</span>
+    <span class="c1"># [END howto_operator_spanner_deploy]</span>
 
-    <span class="c"># [START howto_operator_spanner_database_deploy]</span>
+    <span class="c1"># [START howto_operator_spanner_database_deploy]</span>
     <span class="n">spanner_database_deploy_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseDeployOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
         <span class="n">ddl_statements</span><span class="o">=</span><span class="p">[</span>
-            <span class="s">&quot;CREATE TABLE my_table1 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
-            <span class="s">&quot;CREATE TABLE my_table2 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table1 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table2 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
         <span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_deploy_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_deploy_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_database_deploy_task2</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseDeployOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
         <span class="n">ddl_statements</span><span class="o">=</span><span class="p">[</span>
-            <span class="s">&quot;CREATE TABLE my_table1 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
-            <span class="s">&quot;CREATE TABLE my_table2 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table1 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table2 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
         <span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_deploy_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_deploy_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_database_deploy]</span>
+    <span class="c1"># [END howto_operator_spanner_database_deploy]</span>
 
-    <span class="c"># [START howto_operator_spanner_database_update]</span>
+    <span class="c1"># [START howto_operator_spanner_database_update]</span>
     <span class="n">spanner_database_update_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseUpdateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
         <span class="n">ddl_statements</span><span class="o">=</span><span class="p">[</span>
-            <span class="s">&quot;CREATE TABLE my_table3 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table3 (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
         <span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_update_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_update_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_database_update]</span>
+    <span class="c1"># [END howto_operator_spanner_database_update]</span>
 
-    <span class="c"># [START howto_operator_spanner_database_update_idempotent]</span>
+    <span class="c1"># [START howto_operator_spanner_database_update_idempotent]</span>
     <span class="n">spanner_database_update_idempotent1_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseUpdateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
         <span class="n">operation_id</span><span class="o">=</span><span class="n">OPERATION_ID</span><span class="p">,</span>
         <span class="n">ddl_statements</span><span class="o">=</span><span class="p">[</span>
-            <span class="s">&quot;CREATE TABLE my_table_unique (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table_unique (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
         <span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_update_idempotent1_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_update_idempotent1_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_database_update_idempotent2_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseUpdateOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
         <span class="n">operation_id</span><span class="o">=</span><span class="n">OPERATION_ID</span><span class="p">,</span>
         <span class="n">ddl_statements</span><span class="o">=</span><span class="p">[</span>
-            <span class="s">&quot;CREATE TABLE my_table_unique (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;CREATE TABLE my_table_unique (id INT64, name STRING(MAX)) PRIMARY KEY (id)&quot;</span><span class="p">,</span>
         <span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_update_idempotent2_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_update_idempotent2_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_database_update_idempotent]</span>
+    <span class="c1"># [END howto_operator_spanner_database_update_idempotent]</span>
 
-    <span class="c"># [START howto_operator_spanner_query]</span>
+    <span class="c1"># [START howto_operator_spanner_query]</span>
     <span class="n">spanner_instance_query_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseQueryOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
-        <span class="n">query</span><span class="o">=</span><span class="p">[</span><span class="s">&quot;DELETE FROM my_table2 WHERE true&quot;</span><span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_query_task&#39;</span>
+        <span class="n">query</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;DELETE FROM my_table2 WHERE true&quot;</span><span class="p">],</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_query_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_instance_query_task2</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseQueryOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
-        <span class="n">query</span><span class="o">=</span><span class="p">[</span><span class="s">&quot;DELETE FROM my_table2 WHERE true&quot;</span><span class="p">],</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_query_task2&#39;</span>
+        <span class="n">query</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;DELETE FROM my_table2 WHERE true&quot;</span><span class="p">],</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_query_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_query]</span>
+    <span class="c1"># [END howto_operator_spanner_query]</span>
 
-    <span class="c"># [START howto_operator_spanner_database_delete]</span>
+    <span class="c1"># [START howto_operator_spanner_database_delete]</span>
     <span class="n">spanner_database_delete_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_delete_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_database_delete_task2</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDatabaseDeleteOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
         <span class="n">database_id</span><span class="o">=</span><span class="n">GCP_SPANNER_DATABASE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_database_delete_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_database_delete_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_database_delete]</span>
+    <span class="c1"># [END howto_operator_spanner_database_delete]</span>
 
-    <span class="c"># [START howto_operator_spanner_delete]</span>
+    <span class="c1"># [START howto_operator_spanner_delete]</span>
     <span class="n">spanner_instance_delete_task</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_delete_task&#39;</span>
     <span class="p">)</span>
     <span class="n">spanner_instance_delete_task2</span> <span class="o">=</span> <span class="n">CloudSpannerInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">instance_id</span><span class="o">=</span><span class="n">GCP_SPANNER_INSTANCE_ID</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;spanner_instance_delete_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;spanner_instance_delete_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_spanner_delete]</span>
+    <span class="c1"># [END howto_operator_spanner_delete]</span>
 
     <span class="n">spanner_instance_create_task</span> \
         <span class="o">&gt;&gt;</span> <span class="n">spanner_instance_update_task</span> \
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
index ea1bfa6..bc71c9c 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_speech</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that runs speech synthesizing and stores output in Google Cloud Storage</span>
@@ -300,40 +300,40 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow.contrib.operators.gcp_speech_to_text_operator</span> <span class="k">import</span> <span class="n">GcpSpeechToTextRecognizeSpeechOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.operators.gcp_translate_speech_operator</span> <span class="k">import</span> <span class="n">GcpTranslateSpeechOperator</span>
 
-<span class="c"># [START howto_operator_text_to_speech_env_variables]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;GCP_PROJECT_ID&quot;</span><span class="p">,</span> <span class="s">&quot;example-project&quot;</span><span class="p">)</span>
-<span class="n">BUCKET_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;GCP_SPEECH_TEST_BUCKET&quot;</span><span class="p">,</span> <span class="s">&quot;gcp-speech-test-bucket&quot;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_text_to_speech_env_variables]</span>
+<span class="c1"># [START howto_operator_text_to_speech_env_variables]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;GCP_PROJECT_ID&quot;</span><span class="p">,</span> <span class="s2">&quot;example-project&quot;</span><span class="p">)</span>
+<span class="n">BUCKET_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;GCP_SPEECH_TEST_BUCKET&quot;</span><span class="p">,</span> <span class="s2">&quot;gcp-speech-test-bucket&quot;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_text_to_speech_env_variables]</span>
 
-<span class="c"># [START howto_operator_text_to_speech_gcp_filename]</span>
-<span class="n">FILENAME</span> <span class="o">=</span> <span class="s">&quot;gcp-speech-test-file&quot;</span>
-<span class="c"># [END howto_operator_text_to_speech_gcp_filename]</span>
+<span class="c1"># [START howto_operator_text_to_speech_gcp_filename]</span>
+<span class="n">FILENAME</span> <span class="o">=</span> <span class="s2">&quot;gcp-speech-test-file&quot;</span>
+<span class="c1"># [END howto_operator_text_to_speech_gcp_filename]</span>
 
-<span class="c"># [START howto_operator_text_to_speech_api_arguments]</span>
-<span class="n">INPUT</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;text&quot;</span><span class="p">:</span> <span class="s">&quot;Sample text for demo purposes&quot;</span><span class="p">}</span>
-<span class="n">VOICE</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;language_code&quot;</span><span class="p">:</span> <span class="s">&quot;en-US&quot;</span><span class="p">,</span> <span class="s">&quot;ssml_gender&quot;</span><span class="p">:</span> <span class="s">&quot;FEMALE&quot;</span><span class="p">}</span>
-<span class="n">AUDIO_CONFIG</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;audio_encoding&quot;</span><span class="p">:</span> <span class="s">&quot;LINEAR16&quot;</span><span class="p">}</span>
-<span class="c"># [END howto_operator_text_to_speech_api_arguments]</span>
+<span class="c1"># [START howto_operator_text_to_speech_api_arguments]</span>
+<span class="n">INPUT</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="s2">&quot;Sample text for demo purposes&quot;</span><span class="p">}</span>
+<span class="n">VOICE</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;language_code&quot;</span><span class="p">:</span> <span class="s2">&quot;en-US&quot;</span><span class="p">,</span> <span class="s2">&quot;ssml_gender&quot;</span><span class="p">:</span> <span class="s2">&quot;FEMALE&quot;</span><span class="p">}</span>
+<span class="n">AUDIO_CONFIG</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;audio_encoding&quot;</span><span class="p">:</span> <span class="s2">&quot;LINEAR16&quot;</span><span class="p">}</span>
+<span class="c1"># [END howto_operator_text_to_speech_api_arguments]</span>
 
-<span class="c"># [START howto_operator_speech_to_text_api_arguments]</span>
-<span class="n">CONFIG</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;encoding&quot;</span><span class="p">:</span> <span class="s">&quot;LINEAR16&quot;</span><span class="p">,</span> <span class="s">&quot;language_code&quot;</span><span class="p">:</span> <span class="s">&quot;en_US&quot;</span><span class="p">}</span>
-<span class="n">AUDIO</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;uri&quot;</span><span class="p">:</span> <span class="s">&quot;gs://{bucket}/{object}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">BUCKET_NAME</span><span class="p">,</span> <span class="nb">object</span><span class="o">=</span><span class="n">FILENAME</span><span class="p">)}</span>
-<span class="c"># [END howto_operator_speech_to_text_api_arguments]</span>
+<span class="c1"># [START howto_operator_speech_to_text_api_arguments]</span>
+<span class="n">CONFIG</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;encoding&quot;</span><span class="p">:</span> <span class="s2">&quot;LINEAR16&quot;</span><span class="p">,</span> <span class="s2">&quot;language_code&quot;</span><span class="p">:</span> <span class="s2">&quot;en_US&quot;</span><span class="p">}</span>
+<span class="n">AUDIO</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;uri&quot;</span><span class="p">:</span> <span class="s2">&quot;gs://</span><span class="si">{bucket}</span><span class="s2">/</span><span class="si">{object}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">BUCKET_NAME</span><span class="p">,</span> <span c [...]
+<span class="c1"># [END howto_operator_speech_to_text_api_arguments]</span>
 
-<span class="c"># [START howto_operator_translate_speech_arguments]</span>
-<span class="n">TARGET_LANGUAGE</span> <span class="o">=</span> <span class="s">&#39;pl&#39;</span>
-<span class="n">FORMAT</span> <span class="o">=</span> <span class="s">&#39;text&#39;</span>
-<span class="n">MODEL</span> <span class="o">=</span> <span class="s">&#39;base&#39;</span>
-<span class="n">SOURCE_LANGUAGE</span> <span class="o">=</span> <span class="k">None</span>
-<span class="c"># [END howto_operator_translate_speech_arguments]</span>
+<span class="c1"># [START howto_operator_translate_speech_arguments]</span>
+<span class="n">TARGET_LANGUAGE</span> <span class="o">=</span> <span class="s1">&#39;pl&#39;</span>
+<span class="n">FORMAT</span> <span class="o">=</span> <span class="s1">&#39;text&#39;</span>
+<span class="n">MODEL</span> <span class="o">=</span> <span class="s1">&#39;base&#39;</span>
+<span class="n">SOURCE_LANGUAGE</span> <span class="o">=</span> <span class="kc">None</span>
+<span class="c1"># [END howto_operator_translate_speech_arguments]</span>
 
-<span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;start_date&quot;</span><span class="p">:</span> <span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)}</span>
+<span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;start_date&quot;</span><span class="p">:</span> <span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)}</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&quot;example_gcp_speech&quot;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span> <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="s2">&quot;example_gcp_speech&quot;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span> <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
 
-    <span class="c"># [START howto_operator_text_to_speech_synthesize]</span>
+    <span class="c1"># [START howto_operator_text_to_speech_synthesize]</span>
     <span class="n">text_to_speech_synthesize_task</span> <span class="o">=</span> <span class="n">GcpTextToSpeechSynthesizeOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">input_data</span><span class="o">=</span><span class="n">INPUT</span><span class="p">,</span>
@@ -341,19 +341,19 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="n">audio_config</span><span class="o">=</span><span class="n">AUDIO_CONFIG</span><span class="p">,</span>
         <span class="n">target_bucket_name</span><span class="o">=</span><span class="n">BUCKET_NAME</span><span class="p">,</span>
         <span class="n">target_filename</span><span class="o">=</span><span class="n">FILENAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;text_to_speech_synthesize_task&quot;</span><span class="p">,</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;text_to_speech_synthesize_task&quot;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_text_to_speech_synthesize]</span>
+    <span class="c1"># [END howto_operator_text_to_speech_synthesize]</span>
 
-    <span class="c"># [START howto_operator_speech_to_text_recognize]</span>
+    <span class="c1"># [START howto_operator_speech_to_text_recognize]</span>
     <span class="n">speech_to_text_recognize_task</span> <span class="o">=</span> <span class="n">GcpSpeechToTextRecognizeSpeechOperator</span><span class="p">(</span>
-        <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="n">CONFIG</span><span class="p">,</span> <span class="n">audio</span><span class="o">=</span><span class="n">AUDIO</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s">&quot;speech_to_text_recognize_task&quot;</span>
+        <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="n">CONFIG</span><span class="p">,</span> <span class="n">audio</span><span class="o">=</span><span class="n">AUDIO</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="s2">&quot;speech_to_text_recognize_task&quot;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_speech_to_text_recognize]</span>
+    <span class="c1"># [END howto_operator_speech_to_text_recognize]</span>
 
     <span class="n">text_to_speech_synthesize_task</span> <span class="o">&gt;&gt;</span> <span class="n">speech_to_text_recognize_task</span>
 
-    <span class="c"># [START howto_operator_translate_speech]</span>
+    <span class="c1"># [START howto_operator_translate_speech]</span>
     <span class="n">translate_speech_task</span> <span class="o">=</span> <span class="n">GcpTranslateSpeechOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">audio</span><span class="o">=</span><span class="n">AUDIO</span><span class="p">,</span>
@@ -362,9 +362,9 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="n">format_</span><span class="o">=</span><span class="n">FORMAT</span><span class="p">,</span>
         <span class="n">source_language</span><span class="o">=</span><span class="n">SOURCE_LANGUAGE</span><span class="p">,</span>
         <span class="n">model</span><span class="o">=</span><span class="n">MODEL</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;translate_speech_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;translate_speech_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_translate_speech]</span>
+    <span class="c1"># [END howto_operator_translate_speech]</span>
 
     <span class="n">text_to_speech_synthesize_task</span> <span class="o">&gt;&gt;</span> <span class="n">translate_speech_task</span>
 </pre></div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
index 56ca08f..20d09f9 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_sql</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that creates, patches and deletes a Cloud SQL instance, and also</span>
@@ -310,174 +310,174 @@ https://www.sphinx-doc.org/en/master/templating.html
 
 <span class="kn">from</span> <span class="nn">six.moves.urllib.parse</span> <span class="k">import</span> <span class="n">urlsplit</span>
 
-<span class="c"># [START howto_operator_cloudsql_arguments]</span>
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">INSTANCE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_INSTANCE_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;test-mysql&#39;</span><span class="p">)</span>
-<span class="n">INSTANCE_NAME2</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_INSTANCE_NAME2&#39;</span><span class="p">,</span> <span class="s">&#39;test-mysql2&#39;</span><span class="p">)</span>
-<span class="n">DB_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_DATABASE_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;testdb&#39;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_cloudsql_arguments]</span>
+<span class="c1"># [START howto_operator_cloudsql_arguments]</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">INSTANCE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_INSTANCE_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;test-mysql&#39;</span><span class="p">)</span>
+<span class="n">INSTANCE_NAME2</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_INSTANCE_NAME2&#39;</span><span class="p">,</span> <span class="s1">&#39;test-mysql2&#39;</span><span class="p">)</span>
+<span class="n">DB_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_DATABASE_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;testdb&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_cloudsql_arguments]</span>
 
-<span class="c"># [START howto_operator_cloudsql_export_import_arguments]</span>
-<span class="n">EXPORT_URI</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_EXPORT_URI&#39;</span><span class="p">,</span> <span class="s">&#39;gs://bucketName/fileName&#39;</span><span class="p">)</span>
-<span class="n">IMPORT_URI</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_IMPORT_URI&#39;</span><span class="p">,</span> <span class="s">&#39;gs://bucketName/fileName&#39;</span><span class="p">)</span>
-<span class="c"># [END howto_operator_cloudsql_export_import_arguments]</span>
+<span class="c1"># [START howto_operator_cloudsql_export_import_arguments]</span>
+<span class="n">EXPORT_URI</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_EXPORT_URI&#39;</span><span class="p">,</span> <span class="s1">&#39;gs://bucketName/fileName&#39;</span><span class="p">)</span>
+<span class="n">IMPORT_URI</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_IMPORT_URI&#39;</span><span class="p">,</span> <span class="s1">&#39;gs://bucketName/fileName&#39;</span><span class="p">)</span>
+<span class="c1"># [END howto_operator_cloudsql_export_import_arguments]</span>
 
-<span class="c"># Bodies below represent Cloud SQL instance resources:</span>
-<span class="c"># https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances</span>
+<span class="c1"># Bodies below represent Cloud SQL instance resources:</span>
+<span class="c1"># https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances</span>
 
-<span class="c"># [START howto_operator_cloudsql_create_arguments]</span>
-<span class="n">FAILOVER_REPLICA_NAME</span> <span class="o">=</span> <span class="n">INSTANCE_NAME</span> <span class="o">+</span> <span class="s">&quot;-failover-replica&quot;</span>
-<span class="n">READ_REPLICA_NAME</span> <span class="o">=</span> <span class="n">INSTANCE_NAME</span> <span class="o">+</span> <span class="s">&quot;-read-replica&quot;</span>
-<span class="c"># [END howto_operator_cloudsql_create_arguments]</span>
+<span class="c1"># [START howto_operator_cloudsql_create_arguments]</span>
+<span class="n">FAILOVER_REPLICA_NAME</span> <span class="o">=</span> <span class="n">INSTANCE_NAME</span> <span class="o">+</span> <span class="s2">&quot;-failover-replica&quot;</span>
+<span class="n">READ_REPLICA_NAME</span> <span class="o">=</span> <span class="n">INSTANCE_NAME</span> <span class="o">+</span> <span class="s2">&quot;-read-replica&quot;</span>
+<span class="c1"># [END howto_operator_cloudsql_create_arguments]</span>
 
-<span class="c"># [START howto_operator_cloudsql_create_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_create_body]</span>
 <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
-    <span class="s">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;tier&quot;</span><span class="p">:</span> <span class="s">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
-        <span class="s">&quot;backupConfiguration&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;binaryLogEnabled&quot;</span><span class="p">:</span> <span class="k">True</span><span class="p">,</span>
-            <span class="s">&quot;enabled&quot;</span><span class="p">:</span> <span class="k">True</span><span class="p">,</span>
-            <span class="s">&quot;startTime&quot;</span><span class="p">:</span> <span class="s">&quot;05:00&quot;</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;tier&quot;</span><span class="p">:</span> <span class="s2">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;backupConfiguration&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;binaryLogEnabled&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+            <span class="s2">&quot;enabled&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+            <span class="s2">&quot;startTime&quot;</span><span class="p">:</span> <span class="s2">&quot;05:00&quot;</span>
         <span class="p">},</span>
-        <span class="s">&quot;activationPolicy&quot;</span><span class="p">:</span> <span class="s">&quot;ALWAYS&quot;</span><span class="p">,</span>
-        <span class="s">&quot;dataDiskSizeGb&quot;</span><span class="p">:</span> <span class="mi">30</span><span class="p">,</span>
-        <span class="s">&quot;dataDiskType&quot;</span><span class="p">:</span> <span class="s">&quot;PD_SSD&quot;</span><span class="p">,</span>
-        <span class="s">&quot;databaseFlags&quot;</span><span class="p">:</span> <span class="p">[],</span>
-        <span class="s">&quot;ipConfiguration&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;ipv4Enabled&quot;</span><span class="p">:</span> <span class="k">True</span><span class="p">,</span>
-            <span class="s">&quot;requireSsl&quot;</span><span class="p">:</span> <span class="k">True</span><span class="p">,</span>
+        <span class="s2">&quot;activationPolicy&quot;</span><span class="p">:</span> <span class="s2">&quot;ALWAYS&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;dataDiskSizeGb&quot;</span><span class="p">:</span> <span class="mi">30</span><span class="p">,</span>
+        <span class="s2">&quot;dataDiskType&quot;</span><span class="p">:</span> <span class="s2">&quot;PD_SSD&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;databaseFlags&quot;</span><span class="p">:</span> <span class="p">[],</span>
+        <span class="s2">&quot;ipConfiguration&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;ipv4Enabled&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+            <span class="s2">&quot;requireSsl&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
         <span class="p">},</span>
-        <span class="s">&quot;locationPreference&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;zone&quot;</span><span class="p">:</span> <span class="s">&quot;europe-west4-a&quot;</span>
+        <span class="s2">&quot;locationPreference&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;zone&quot;</span><span class="p">:</span> <span class="s2">&quot;europe-west4-a&quot;</span>
         <span class="p">},</span>
-        <span class="s">&quot;maintenanceWindow&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;hour&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
-            <span class="s">&quot;day&quot;</span><span class="p">:</span> <span class="mi">7</span><span class="p">,</span>
-            <span class="s">&quot;updateTrack&quot;</span><span class="p">:</span> <span class="s">&quot;canary&quot;</span>
+        <span class="s2">&quot;maintenanceWindow&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;hour&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
+            <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="mi">7</span><span class="p">,</span>
+            <span class="s2">&quot;updateTrack&quot;</span><span class="p">:</span> <span class="s2">&quot;canary&quot;</span>
         <span class="p">},</span>
-        <span class="s">&quot;pricingPlan&quot;</span><span class="p">:</span> <span class="s">&quot;PER_USE&quot;</span><span class="p">,</span>
-        <span class="s">&quot;replicationType&quot;</span><span class="p">:</span> <span class="s">&quot;ASYNCHRONOUS&quot;</span><span class="p">,</span>
-        <span class="s">&quot;storageAutoResize&quot;</span><span class="p">:</span> <span class="k">True</span><span class="p">,</span>
-        <span class="s">&quot;storageAutoResizeLimit&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-        <span class="s">&quot;userLabels&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;my-key&quot;</span><span class="p">:</span> <span class="s">&quot;my-value&quot;</span>
+        <span class="s2">&quot;pricingPlan&quot;</span><span class="p">:</span> <span class="s2">&quot;PER_USE&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;replicationType&quot;</span><span class="p">:</span> <span class="s2">&quot;ASYNCHRONOUS&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;storageAutoResize&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+        <span class="s2">&quot;storageAutoResizeLimit&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
+        <span class="s2">&quot;userLabels&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;my-key&quot;</span><span class="p">:</span> <span class="s2">&quot;my-value&quot;</span>
         <span class="p">}</span>
     <span class="p">},</span>
-    <span class="s">&quot;failoverReplica&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">FAILOVER_REPLICA_NAME</span>
+    <span class="s2">&quot;failoverReplica&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">FAILOVER_REPLICA_NAME</span>
     <span class="p">},</span>
-    <span class="s">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
-    <span class="s">&quot;region&quot;</span><span class="p">:</span> <span class="s">&quot;europe-west4&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s2">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;region&quot;</span><span class="p">:</span> <span class="s2">&quot;europe-west4&quot;</span><span class="p">,</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_create_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_create_body]</span>
 
 <span class="n">body2</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-    <span class="s">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;tier&quot;</span><span class="p">:</span> <span class="s">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME2</span><span class="p">,</span>
+    <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;tier&quot;</span><span class="p">:</span> <span class="s2">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
     <span class="p">},</span>
-    <span class="s">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
-    <span class="s">&quot;region&quot;</span><span class="p">:</span> <span class="s">&quot;europe-west4&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s2">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;region&quot;</span><span class="p">:</span> <span class="s2">&quot;europe-west4&quot;</span><span class="p">,</span>
 <span class="p">}</span>
 
-<span class="c"># [START howto_operator_cloudsql_create_replica]</span>
+<span class="c1"># [START howto_operator_cloudsql_create_replica]</span>
 <span class="n">read_replica_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">READ_REPLICA_NAME</span><span class="p">,</span>
-    <span class="s">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;tier&quot;</span><span class="p">:</span> <span class="s">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">READ_REPLICA_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;tier&quot;</span><span class="p">:</span> <span class="s2">&quot;db-n1-standard-1&quot;</span><span class="p">,</span>
     <span class="p">},</span>
-    <span class="s">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
-    <span class="s">&quot;region&quot;</span><span class="p">:</span> <span class="s">&quot;europe-west4&quot;</span><span class="p">,</span>
-    <span class="s">&quot;masterInstanceName&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;databaseVersion&quot;</span><span class="p">:</span> <span class="s2">&quot;MYSQL_5_7&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;region&quot;</span><span class="p">:</span> <span class="s2">&quot;europe-west4&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;masterInstanceName&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_create_replica]</span>
+<span class="c1"># [END howto_operator_cloudsql_create_replica]</span>
 
 
-<span class="c"># [START howto_operator_cloudsql_patch_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_patch_body]</span>
 <span class="n">patch_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
-    <span class="s">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;dataDiskSizeGb&quot;</span><span class="p">:</span> <span class="mi">35</span><span class="p">,</span>
-        <span class="s">&quot;maintenanceWindow&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;hour&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
-            <span class="s">&quot;day&quot;</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span>
-            <span class="s">&quot;updateTrack&quot;</span><span class="p">:</span> <span class="s">&quot;canary&quot;</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;settings&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;dataDiskSizeGb&quot;</span><span class="p">:</span> <span class="mi">35</span><span class="p">,</span>
+        <span class="s2">&quot;maintenanceWindow&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;hour&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
+            <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span>
+            <span class="s2">&quot;updateTrack&quot;</span><span class="p">:</span> <span class="s2">&quot;canary&quot;</span>
         <span class="p">},</span>
-        <span class="s">&quot;userLabels&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;my-key-patch&quot;</span><span class="p">:</span> <span class="s">&quot;my-value-patch&quot;</span>
+        <span class="s2">&quot;userLabels&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;my-key-patch&quot;</span><span class="p">:</span> <span class="s2">&quot;my-value-patch&quot;</span>
         <span class="p">}</span>
     <span class="p">}</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_patch_body]</span>
-<span class="c"># [START howto_operator_cloudsql_export_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_patch_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_export_body]</span>
 <span class="n">export_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;exportContext&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;fileType&quot;</span><span class="p">:</span> <span class="s">&quot;sql&quot;</span><span class="p">,</span>
-        <span class="s">&quot;uri&quot;</span><span class="p">:</span> <span class="n">EXPORT_URI</span><span class="p">,</span>
-        <span class="s">&quot;sqlExportOptions&quot;</span><span class="p">:</span> <span class="p">{</span>
-            <span class="s">&quot;schemaOnly&quot;</span><span class="p">:</span> <span class="k">False</span>
+    <span class="s2">&quot;exportContext&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;fileType&quot;</span><span class="p">:</span> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;uri&quot;</span><span class="p">:</span> <span class="n">EXPORT_URI</span><span class="p">,</span>
+        <span class="s2">&quot;sqlExportOptions&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;schemaOnly&quot;</span><span class="p">:</span> <span class="kc">False</span>
         <span class="p">}</span>
     <span class="p">}</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_export_body]</span>
-<span class="c"># [START howto_operator_cloudsql_import_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_export_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_import_body]</span>
 <span class="n">import_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;importContext&quot;</span><span class="p">:</span> <span class="p">{</span>
-        <span class="s">&quot;fileType&quot;</span><span class="p">:</span> <span class="s">&quot;sql&quot;</span><span class="p">,</span>
-        <span class="s">&quot;uri&quot;</span><span class="p">:</span> <span class="n">IMPORT_URI</span>
+    <span class="s2">&quot;importContext&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;fileType&quot;</span><span class="p">:</span> <span class="s2">&quot;sql&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;uri&quot;</span><span class="p">:</span> <span class="n">IMPORT_URI</span>
     <span class="p">}</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_import_body]</span>
-<span class="c"># [START howto_operator_cloudsql_db_create_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_import_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_db_create_body]</span>
 <span class="n">db_create_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;instance&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
-    <span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">DB_NAME</span><span class="p">,</span>
-    <span class="s">&quot;project&quot;</span><span class="p">:</span> <span class="n">GCP_PROJECT_ID</span>
+    <span class="s2">&quot;instance&quot;</span><span class="p">:</span> <span class="n">INSTANCE_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">DB_NAME</span><span class="p">,</span>
+    <span class="s2">&quot;project&quot;</span><span class="p">:</span> <span class="n">GCP_PROJECT_ID</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_db_create_body]</span>
-<span class="c"># [START howto_operator_cloudsql_db_patch_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_db_create_body]</span>
+<span class="c1"># [START howto_operator_cloudsql_db_patch_body]</span>
 <span class="n">db_patch_body</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&quot;charset&quot;</span><span class="p">:</span> <span class="s">&quot;utf16&quot;</span><span class="p">,</span>
-    <span class="s">&quot;collation&quot;</span><span class="p">:</span> <span class="s">&quot;utf16_general_ci&quot;</span>
+    <span class="s2">&quot;charset&quot;</span><span class="p">:</span> <span class="s2">&quot;utf16&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;collation&quot;</span><span class="p">:</span> <span class="s2">&quot;utf16_general_ci&quot;</span>
 <span class="p">}</span>
-<span class="c"># [END howto_operator_cloudsql_db_patch_body]</span>
+<span class="c1"># [END howto_operator_cloudsql_db_patch_body]</span>
 
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
 
 <span class="k">with</span> <span class="n">models</span><span class="o">.</span><span class="n">DAG</span><span class="p">(</span>
-    <span class="s">&#39;example_gcp_sql&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;example_gcp_sql&#39;</span><span class="p">,</span>
     <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span>
-    <span class="n">schedule_interval</span><span class="o">=</span><span class="k">None</span>  <span class="c"># Override to match your needs</span>
+    <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span>  <span class="c1"># Override to match your needs</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">dag</span><span class="p">:</span>
 
     <span class="k">def</span> <span class="nf">next_dep</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">prev</span><span class="p">):</span>
         <span class="n">prev</span> <span class="o">&gt;&gt;</span> <span class="n">task</span>
         <span class="k">return</span> <span class="n">task</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### INSTANCES SET UP ######################### #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### INSTANCES SET UP ######################### #</span>
+    <span class="c1"># ############################################## #</span>
 
-    <span class="c"># [START howto_operator_cloudsql_create]</span>
+    <span class="c1"># [START howto_operator_cloudsql_create]</span>
     <span class="n">sql_instance_create_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceCreateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_create_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_create_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_create]</span>
+    <span class="c1"># [END howto_operator_cloudsql_create]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">sql_instance_create_task</span>
 
     <span class="n">sql_instance_create_2_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceCreateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">body2</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_create_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_create_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_create]</span>
+    <span class="c1"># [END howto_operator_cloudsql_create]</span>
 
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">sql_instance_create_task</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_create_2_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
@@ -486,206 +486,206 @@ https://www.sphinx-doc.org/en/master/templating.html
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">read_replica_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_read_replica_create&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_read_replica_create&#39;</span>
     <span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_read_replica_create</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### MODIFYING INSTANCE AND ITS DATABASE ###### #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### MODIFYING INSTANCE AND ITS DATABASE ###### #</span>
+    <span class="c1"># ############################################## #</span>
 
-    <span class="c"># [START howto_operator_cloudsql_patch]</span>
+    <span class="c1"># [START howto_operator_cloudsql_patch]</span>
     <span class="n">sql_instance_patch_task</span> <span class="o">=</span> <span class="n">CloudSqlInstancePatchOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">patch_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_patch_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_patch_task&#39;</span>
     <span class="p">)</span>
 
     <span class="n">sql_instance_patch_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstancePatchOperator</span><span class="p">(</span>
         <span class="n">body</span><span class="o">=</span><span class="n">patch_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_patch_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_patch_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_patch]</span>
+    <span class="c1"># [END howto_operator_cloudsql_patch]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_patch_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_patch_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># [START howto_operator_cloudsql_db_create]</span>
+    <span class="c1"># [START howto_operator_cloudsql_db_create]</span>
     <span class="n">sql_db_create_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabaseCreateOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">db_create_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_create_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_create_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_db_create_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabaseCreateOperator</span><span class="p">(</span>
         <span class="n">body</span><span class="o">=</span><span class="n">db_create_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_create_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_create_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_db_create]</span>
+    <span class="c1"># [END howto_operator_cloudsql_db_create]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_create_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_create_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># [START howto_operator_cloudsql_db_patch]</span>
+    <span class="c1"># [START howto_operator_cloudsql_db_patch]</span>
     <span class="n">sql_db_patch_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabasePatchOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">db_patch_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
         <span class="n">database</span><span class="o">=</span><span class="n">DB_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_patch_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_patch_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_db_patch_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabasePatchOperator</span><span class="p">(</span>
         <span class="n">body</span><span class="o">=</span><span class="n">db_patch_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
         <span class="n">database</span><span class="o">=</span><span class="n">DB_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_patch_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_patch_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_db_patch]</span>
+    <span class="c1"># [END howto_operator_cloudsql_db_patch]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_patch_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_patch_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### EXPORTING SQL FROM INSTANCE 1 ############ #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### EXPORTING SQL FROM INSTANCE 1 ############ #</span>
+    <span class="c1"># ############################################## #</span>
     <span class="n">export_url_split</span> <span class="o">=</span> <span class="n">urlsplit</span><span class="p">(</span><span class="n">EXPORT_URI</span><span class="p">)</span>
 
-    <span class="c"># For export to work we need to add the Cloud SQL instance&#39;s Service Account</span>
-    <span class="c"># write access to the destination GCS bucket.</span>
-    <span class="c"># [START howto_operator_cloudsql_export_gcs_permissions]</span>
+    <span class="c1"># For export to work we need to add the Cloud SQL instance&#39;s Service Account</span>
+    <span class="c1"># write access to the destination GCS bucket.</span>
+    <span class="c1"># [START howto_operator_cloudsql_export_gcs_permissions]</span>
     <span class="n">sql_gcp_add_bucket_permission_task</span> <span class="o">=</span> <span class="n">GoogleCloudStorageBucketCreateAclEntryOperator</span><span class="p">(</span>
-        <span class="n">entity</span><span class="o">=</span><span class="s">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
-               <span class="s">&quot;&#39;sql_instance_create_task&#39;, key=&#39;service_account_email&#39;) &quot;</span>
-               <span class="s">&quot;}}&quot;</span><span class="p">,</span>
-        <span class="n">role</span><span class="o">=</span><span class="s">&quot;WRITER&quot;</span><span class="p">,</span>
-        <span class="n">bucket</span><span class="o">=</span><span class="n">export_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c"># netloc (bucket)</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_gcp_add_bucket_permission_task&#39;</span>
+        <span class="n">entity</span><span class="o">=</span><span class="s2">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
+               <span class="s2">&quot;&#39;sql_instance_create_task&#39;, key=&#39;service_account_email&#39;) &quot;</span>
+               <span class="s2">&quot;}}&quot;</span><span class="p">,</span>
+        <span class="n">role</span><span class="o">=</span><span class="s2">&quot;WRITER&quot;</span><span class="p">,</span>
+        <span class="n">bucket</span><span class="o">=</span><span class="n">export_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c1"># netloc (bucket)</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_gcp_add_bucket_permission_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_export_gcs_permissions]</span>
+    <span class="c1"># [END howto_operator_cloudsql_export_gcs_permissions]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_gcp_add_bucket_permission_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># [START howto_operator_cloudsql_export]</span>
+    <span class="c1"># [START howto_operator_cloudsql_export]</span>
     <span class="n">sql_export_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceExportOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">export_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_export_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_export_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_export_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceExportOperator</span><span class="p">(</span>
         <span class="n">body</span><span class="o">=</span><span class="n">export_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_export_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_export_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_export]</span>
+    <span class="c1"># [END howto_operator_cloudsql_export]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_export_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_export_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### IMPORTING SQL TO INSTANCE 2 ############## #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### IMPORTING SQL TO INSTANCE 2 ############## #</span>
+    <span class="c1"># ############################################## #</span>
     <span class="n">import_url_split</span> <span class="o">=</span> <span class="n">urlsplit</span><span class="p">(</span><span class="n">IMPORT_URI</span><span class="p">)</span>
 
-    <span class="c"># For import to work we need to add the Cloud SQL instance&#39;s Service Account</span>
-    <span class="c"># read access to the target GCS object.</span>
-    <span class="c"># [START howto_operator_cloudsql_import_gcs_permissions]</span>
+    <span class="c1"># For import to work we need to add the Cloud SQL instance&#39;s Service Account</span>
+    <span class="c1"># read access to the target GCS object.</span>
+    <span class="c1"># [START howto_operator_cloudsql_import_gcs_permissions]</span>
     <span class="n">sql_gcp_add_object_permission_task</span> <span class="o">=</span> <span class="n">GoogleCloudStorageObjectCreateAclEntryOperator</span><span class="p">(</span>
-        <span class="n">entity</span><span class="o">=</span><span class="s">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
-               <span class="s">&quot;&#39;sql_instance_create_task2&#39;, key=&#39;service_account_email&#39;)&quot;</span>
-               <span class="s">&quot; }}&quot;</span><span class="p">,</span>
-        <span class="n">role</span><span class="o">=</span><span class="s">&quot;READER&quot;</span><span class="p">,</span>
-        <span class="n">bucket</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c"># netloc (bucket)</span>
-        <span class="n">object_name</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="mi">1</span><span class="p">:],</span>  <span class="c"># path (strip first &#39;/&#39;)</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_gcp_add_object_permission_task&#39;</span><span class="p">,</span>
+        <span class="n">entity</span><span class="o">=</span><span class="s2">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
+               <span class="s2">&quot;&#39;sql_instance_create_task2&#39;, key=&#39;service_account_email&#39;)&quot;</span>
+               <span class="s2">&quot; }}&quot;</span><span class="p">,</span>
+        <span class="n">role</span><span class="o">=</span><span class="s2">&quot;READER&quot;</span><span class="p">,</span>
+        <span class="n">bucket</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c1"># netloc (bucket)</span>
+        <span class="n">object_name</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="mi">1</span><span class="p">:],</span>  <span class="c1"># path (strip first &#39;/&#39;)</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_gcp_add_object_permission_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_gcp_add_object_permission_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># For import to work we also need to add the Cloud SQL instance&#39;s Service Account</span>
-    <span class="c"># write access to the whole bucket!.</span>
+    <span class="c1"># For import to work we also need to add the Cloud SQL instance&#39;s Service Account</span>
+    <span class="c1"># write access to the whole bucket!.</span>
     <span class="n">sql_gcp_add_bucket_permission_2_task</span> <span class="o">=</span> <span class="n">GoogleCloudStorageBucketCreateAclEntryOperator</span><span class="p">(</span>
-        <span class="n">entity</span><span class="o">=</span><span class="s">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
-               <span class="s">&quot;&#39;sql_instance_create_task2&#39;, key=&#39;service_account_email&#39;) &quot;</span>
-               <span class="s">&quot;}}&quot;</span><span class="p">,</span>
-        <span class="n">role</span><span class="o">=</span><span class="s">&quot;WRITER&quot;</span><span class="p">,</span>
-        <span class="n">bucket</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c"># netloc</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_gcp_add_bucket_permission_2_task&#39;</span><span class="p">,</span>
+        <span class="n">entity</span><span class="o">=</span><span class="s2">&quot;user-{{ task_instance.xcom_pull(&quot;</span>
+               <span class="s2">&quot;&#39;sql_instance_create_task2&#39;, key=&#39;service_account_email&#39;) &quot;</span>
+               <span class="s2">&quot;}}&quot;</span><span class="p">,</span>
+        <span class="n">role</span><span class="o">=</span><span class="s2">&quot;WRITER&quot;</span><span class="p">,</span>
+        <span class="n">bucket</span><span class="o">=</span><span class="n">import_url_split</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>  <span class="c1"># netloc</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_gcp_add_bucket_permission_2_task&#39;</span><span class="p">,</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_import_gcs_permissions]</span>
+    <span class="c1"># [END howto_operator_cloudsql_import_gcs_permissions]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_gcp_add_bucket_permission_2_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># [START howto_operator_cloudsql_import]</span>
+    <span class="c1"># [START howto_operator_cloudsql_import]</span>
     <span class="n">sql_import_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceImportOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">body</span><span class="o">=</span><span class="n">import_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_import_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_import_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_import_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceImportOperator</span><span class="p">(</span>
         <span class="n">body</span><span class="o">=</span><span class="n">import_body</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_import_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_import_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_import]</span>
+    <span class="c1"># [END howto_operator_cloudsql_import]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_import_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_import_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### DELETING A DATABASE FROM AN INSTANCE ##### #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### DELETING A DATABASE FROM AN INSTANCE ##### #</span>
+    <span class="c1"># ############################################## #</span>
 
-    <span class="c"># [START howto_operator_cloudsql_db_delete]</span>
+    <span class="c1"># [START howto_operator_cloudsql_db_delete]</span>
     <span class="n">sql_db_delete_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabaseDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
         <span class="n">database</span><span class="o">=</span><span class="n">DB_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_delete_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_db_delete_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDatabaseDeleteOperator</span><span class="p">(</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
         <span class="n">database</span><span class="o">=</span><span class="n">DB_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_db_delete_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_db_delete_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_db_delete]</span>
+    <span class="c1"># [END howto_operator_cloudsql_db_delete]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_delete_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_db_delete_task2</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># ############################################## #</span>
-    <span class="c"># ### INSTANCES TEAR DOWN ###################### #</span>
-    <span class="c"># ############################################## #</span>
+    <span class="c1"># ############################################## #</span>
+    <span class="c1"># ### INSTANCES TEAR DOWN ###################### #</span>
+    <span class="c1"># ############################################## #</span>
 
-    <span class="c"># [START howto_operator_cloudsql_replicas_delete]</span>
+    <span class="c1"># [START howto_operator_cloudsql_replicas_delete]</span>
     <span class="n">sql_instance_failover_replica_delete_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">FAILOVER_REPLICA_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_failover_replica_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_failover_replica_delete_task&#39;</span>
     <span class="p">)</span>
 
     <span class="n">sql_instance_read_replica_delete_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">READ_REPLICA_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_read_replica_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_read_replica_delete_task&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_replicas_delete]</span>
+    <span class="c1"># [END howto_operator_cloudsql_replicas_delete]</span>
 
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_failover_replica_delete_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_read_replica_delete_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
-    <span class="c"># [START howto_operator_cloudsql_delete]</span>
+    <span class="c1"># [START howto_operator_cloudsql_delete]</span>
     <span class="n">sql_instance_delete_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_delete_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_delete_task&#39;</span>
     <span class="p">)</span>
     <span class="n">sql_instance_delete_task2</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_delete_task2&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_delete_task2&#39;</span>
     <span class="p">)</span>
-    <span class="c"># [END howto_operator_cloudsql_delete]</span>
+    <span class="c1"># [END howto_operator_cloudsql_delete]</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_delete_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 
     <span class="n">sql_instance_delete_2_task</span> <span class="o">=</span> <span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">(</span>
         <span class="n">project_id</span><span class="o">=</span><span class="n">GCP_PROJECT_ID</span><span class="p">,</span>
         <span class="n">instance</span><span class="o">=</span><span class="n">INSTANCE_NAME2</span><span class="p">,</span>
-        <span class="n">task_id</span><span class="o">=</span><span class="s">&#39;sql_instance_delete_2_task&#39;</span>
+        <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;sql_instance_delete_2_task&#39;</span>
     <span class="p">)</span>
     <span class="n">prev_task</span> <span class="o">=</span> <span class="n">next_dep</span><span class="p">(</span><span class="n">sql_instance_delete_2_task</span><span class="p">,</span> <span class="n">prev_task</span><span class="p">)</span>
 </pre></div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
index 5e0cba7..7e12712 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
@@ -153,7 +153,7 @@ https://www.sphinx-doc.org/en/master/templating.html
             
             
               <div class="version">
-                1.10.4
+                1.10.5
               </div>
             
           
@@ -265,24 +265,24 @@ https://www.sphinx-doc.org/en/master/templating.html
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.example_dags.example_gcp_sql_query</h1><div class="highlight"><pre>
-<span class="c"># -*- coding: utf-8 -*-</span>
-<span class="c">#</span>
-<span class="c"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c"># distributed with this work for additional information</span>
-<span class="c"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c"># with the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c"># software distributed under the License is distributed on an</span>
-<span class="c"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c"># KIND, either express or implied.  See the License for the</span>
-<span class="c"># specific language governing permissions and limitations</span>
-<span class="c"># under the License.</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Example Airflow DAG that performs query in a Cloud SQL instance.</span>
@@ -315,63 +315,63 @@ https://www.sphinx-doc.org/en/master/templating.html
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">models</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.operators.gcp_sql_operator</span> <span class="k">import</span> <span class="n">CloudSqlQueryOperator</span>
 
-<span class="c"># [START howto_operator_cloudsql_query_arguments]</span>
+<span class="c1"># [START howto_operator_cloudsql_query_arguments]</span>
 
-<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s">&#39;example-project&#39;</span><span class="p">)</span>
-<span class="n">GCP_REGION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCP_REGION&#39;</span><span class="p">,</span> <span class="s">&#39;europe-west-1b&#39;</span><span class="p">)</span>
+<span class="n">GCP_PROJECT_ID</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_PROJECT_ID&#39;</span><span class="p">,</span> <span class="s1">&#39;example-project&#39;</span><span class="p">)</span>
+<span class="n">GCP_REGION</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCP_REGION&#39;</span><span class="p">,</span> <span class="s1">&#39;europe-west-1b&#39;</span><span class="p">)</span>
 
 <span class="n">GCSQL_POSTGRES_INSTANCE_NAME_QUERY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-    <span class="s">&#39;GCSQL_POSTGRES_INSTANCE_NAME_QUERY&#39;</span><span class="p">,</span>
-    <span class="s">&#39;testpostgres&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_DATABASE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_DATABASE_NAME&#39;</span><span class="p">,</span>
-                                              <span class="s">&#39;postgresdb&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_USER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_USER&#39;</span><span class="p">,</span> <span class="s">&#39;postgres_user&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_PASSWORD</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_PASSWORD&#39;</span><span class="p">,</span> <span class="s">&#39;password&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_PUBLIC_IP</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_PUBLIC_IP&#39;</span><span class="p">,</span> <span class="s">&#39;0.0.0.0&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_PUBLIC_PORT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_PUBLIC_PORT&#39;</span><span class="p">,</span> <span class="mi">5432</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_CLIENT_CERT_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_CLIENT_CERT_FILE&#39;</span><span class="p">,</span>
-                                                 <span class="s">&quot;.key/postgres-client-cert.pem&quot;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_CLIENT_KEY_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_CLIENT_KEY_FILE&#39;</span><span class="p">,</span>
-                                                <span class="s">&quot;.key/postgres-client-key.pem&quot;</span><span class="p">)</span>
-<span class="n">GCSQL_POSTGRES_SERVER_CA_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_POSTGRES_SERVER_CA_FILE&#39;</span><span class="p">,</span>
-                                               <span class="s">&quot;.key/postgres-server-ca.pem&quot;</span><span class="p">)</span>
-
-<span class="n">GCSQL_MYSQL_INSTANCE_NAME_QUERY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_INSTANCE_NAME_QUERY&#39;</span><span class="p">,</span>
-                                                 <span class="s">&#39;testmysql&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_DATABASE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_DATABASE_NAME&#39;</span><span class="p">,</span> <span class="s">&#39;mysqldb&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_USER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_USER&#39;</span><span class="p">,</span> <span class="s">&#39;mysql_user&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_PASSWORD</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_PASSWORD&#39;</span><span class="p">,</span> <span class="s">&#39;password&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_PUBLIC_IP</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_PUBLIC_IP&#39;</span><span class="p">,</span> <span class="s">&#39;0.0.0.0&#39;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_PUBLIC_PORT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_PUBLIC_PORT&#39;</span><span class="p">,</span> <span class="mi">3306</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_CLIENT_CERT_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_CLIENT_CERT_FILE&#39;</span><span class="p">,</span>
-                                              <span class="s">&quot;.key/mysql-client-cert.pem&quot;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_CLIENT_KEY_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_CLIENT_KEY_FILE&#39;</span><span class="p">,</span>
-                                             <span class="s">&quot;.key/mysql-client-key.pem&quot;</span><span class="p">)</span>
-<span class="n">GCSQL_MYSQL_SERVER_CA_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;GCSQL_MYSQL_SERVER_CA_FILE&#39;</span><span class="p">,</span>
-                                            <span class="s">&quot;.key/mysql-server-ca.pem&quot;</span><span class="p">)</span>
+    <span class="s1">&#39;GCSQL_POSTGRES_INSTANCE_NAME_QUERY&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;testpostgres&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_DATABASE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_DATABASE_NAME&#39;</span><span class="p">,</span>
+                                              <span class="s1">&#39;postgresdb&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_USER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_USER&#39;</span><span class="p">,</span> <span class="s1">&#39;postgres_user&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_PASSWORD</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_PASSWORD&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_PUBLIC_IP</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_PUBLIC_IP&#39;</span><span class="p">,</span> <span class="s1">&#39;0.0.0.0&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_PUBLIC_PORT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_PUBLIC_PORT&#39;</span><span class="p">,</span> <span class="mi">5432</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_CLIENT_CERT_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_CLIENT_CERT_FILE&#39;</span><span class="p">,</span>
+                                                 <span class="s2">&quot;.key/postgres-client-cert.pem&quot;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_CLIENT_KEY_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_CLIENT_KEY_FILE&#39;</span><span class="p">,</span>
+                                                <span class="s2">&quot;.key/postgres-client-key.pem&quot;</span><span class="p">)</span>
+<span class="n">GCSQL_POSTGRES_SERVER_CA_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_POSTGRES_SERVER_CA_FILE&#39;</span><span class="p">,</span>
+                                               <span class="s2">&quot;.key/postgres-server-ca.pem&quot;</span><span class="p">)</span>
+
+<span class="n">GCSQL_MYSQL_INSTANCE_NAME_QUERY</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_INSTANCE_NAME_QUERY&#39;</span><span class="p">,</span>
+                                                 <span class="s1">&#39;testmysql&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_DATABASE_NAME</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_DATABASE_NAME&#39;</span><span class="p">,</span> <span class="s1">&#39;mysqldb&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_USER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_USER&#39;</span><span class="p">,</span> <span class="s1">&#39;mysql_user&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_PASSWORD</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_PASSWORD&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_PUBLIC_IP</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_PUBLIC_IP&#39;</span><span class="p">,</span> <span class="s1">&#39;0.0.0.0&#39;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_PUBLIC_PORT</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_PUBLIC_PORT&#39;</span><span class="p">,</span> <span class="mi">3306</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_CLIENT_CERT_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_CLIENT_CERT_FILE&#39;</span><span class="p">,</span>
+                                              <span class="s2">&quot;.key/mysql-client-cert.pem&quot;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_CLIENT_KEY_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_CLIENT_KEY_FILE&#39;</span><span class="p">,</span>
+                                             <span class="s2">&quot;.key/mysql-client-key.pem&quot;</span><span class="p">)</span>
+<span class="n">GCSQL_MYSQL_SERVER_CA_FILE</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;GCSQL_MYSQL_SERVER_CA_FILE&#39;</span><span class="p">,</span>
+                                            <span class="s2">&quot;.key/mysql-server-ca.pem&quot;</span><span class="p">)</span>
 
 <span class="n">SQL</span> <span class="o">=</span> <span class="p">[</span>
-    <span class="s">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)&#39;</span><span class="p">,</span>
-    <span class="s">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)&#39;</span><span class="p">,</span>  <span class="c"># shows warnings logged</span>
-    <span class="s">&#39;INSERT INTO TABLE_TEST VALUES (0)&#39;</span><span class="p">,</span>
-    <span class="s">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST2 (I INTEGER)&#39;</span><span class="p">,</span>
-    <span class="s">&#39;DROP TABLE TABLE_TEST&#39;</span><span class="p">,</span>
-    <span class="s">&#39;DROP TABLE TABLE_TEST2&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)&#39;</span><span class="p">,</span>  <span class="c1"># shows warnings logged</span>
+    <span class="s1">&#39;INSERT INTO TABLE_TEST VALUES (0)&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;CREATE TABLE IF NOT EXISTS TABLE_TEST2 (I INTEGER)&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;DROP TABLE TABLE_TEST&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;DROP TABLE TABLE_TEST2&#39;</span><span class="p">,</span>
 <span class="p">]</span>
 
-<span class="c"># [END howto_operator_cloudsql_query_arguments]</span>
+<span class="c1"># [END howto_operator_cloudsql_query_arguments]</span>
 <span class="n">default_args</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="s">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+    <span class="s1">&#39;start_date&#39;</span><span class="p">:</span> <span class="n">airflow</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">dates</span><span class="o">.</span><span class="n">days_ago</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
 <span class="p">}</span>
 
 
-<span class="c"># [START howto_operator_cloudsql_query_connections]</span>
+<span class="c1"># [START howto_operator_cloudsql_query_connections]</span>
 
-<span class="n">HOME_DIR</span> <span class="o">=</span> <span class="n">expanduser</span><span class="p">(</span><span class="s">&quot;~&quot;</span><span class="p">)</span>
+<span class="n">HOME_DIR</span> <span class="o">=</span> <span class="n">expanduser</span><span class="p">(</span><span class="s2">&quot;~&quot;</span><span class="p">)</span>
 
 
 <span class="k">def</span> <span class="nf">get_absolute_path</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">path</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&quot;/&quot;</span><span class="p">):</span>
+    <span class="k">if</span> <span class="n">path</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;/&quot;</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">path</span>
     <span class="k">else</span><span class="p">:</span>
         <span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">HOME_DIR</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
@@ -391,53 +391,53 @@ https://www.sphinx-doc.org/en/master/templating.html
     <span class="n">server_ca_file</span><span class="o">=</span><span class="n">quote_plus</span><span class="p">(</span><span class="n">get_absolute_path</span><span class="p">(</span><span class="n">GCSQL_POSTGRES_SERVER_CA_FILE</span><span class="p">))</span>
 <span class="p">)</span>
 
-<span class="c"># The connections below are created using one of the standard approaches - via environment</span>
-<span class="c"># variables named AIRFLOW_CONN_* . The connections can also be created in the database</span>
-<span class="c"># of AIRFLOW (using command line or UI).</span>
-
-<span class="c"># Postgres: connect via proxy over TCP</span>
-<span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">&#39;AIRFLOW_CONN_PROXY_POSTGRES_TCP&#39;</span><span class="p">]</span> <span class="o">=</span> \
-    <span class="s">&quot;gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?&quot;</span> \
... 163974 lines suppressed ...


[airflow-site] 03/30: Adding incubator related disclaimer

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 502934ca871cea1ba853467bcdc505948bc73173
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Wed Jun 29 09:14:36 2016 -0700

    Adding incubator related disclaimer
---
 .../airflow/contrib/executors/mesos_executor.html  | 470 ++++++++++
 _modules/{ => airflow/contrib/hooks}/gcs_hook.html |  95 +-
 .../contrib/operators/bigquery_operator.html       | 258 ++++++
 .../airflow/contrib/operators/bigquery_to_gcs.html | 278 ++++++
 .../contrib/operators/gcs_download_operator.html   | 253 ++++++
 _modules/airflow/models.html                       |  20 +-
 _modules/bigquery_hook.html                        | 995 +++++++++++++++++++++
 _modules/gcs_hook.html                             |  17 +-
 _modules/index.html                                |   7 +
 _modules/qubole_operator.html                      | 328 +++++++
 _sources/code.txt                                  |  13 +-
 _sources/concepts.txt                              |   1 +
 _sources/index.txt                                 |  15 +-
 cli.html                                           |  83 +-
 code.html                                          | 372 +++++++-
 concepts.html                                      |  14 +
 genindex.html                                      |  91 +-
 index.html                                         |  17 +-
 objects.inv                                        | Bin 2103 -> 2236 bytes
 py-modindex.html                                   |   5 -
 searchindex.js                                     |   2 +-
 21 files changed, 3204 insertions(+), 130 deletions(-)

diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
new file mode 100644
index 0000000..65557d9
--- /dev/null
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -0,0 +1,470 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.contrib.executors.mesos_executor</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.executors.mesos_executor</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">queue</span> <span class="kn">import</span> <span class="n">Queue</span>
+
+<span class="kn">import</span> <span class="nn">mesos.interface</span>
+<span class="kn">from</span> <span class="nn">mesos.interface</span> <span class="kn">import</span> <span class="n">mesos_pb2</span>
+<span class="kn">import</span> <span class="nn">mesos.native</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.settings</span> <span class="kn">import</span> <span class="n">Session</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+
+
+<span class="n">DEFAULT_FRAMEWORK_NAME</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
+<span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;mesos_framework_&#39;</span>
+
+
+<span class="k">def</span> <span class="nf">get_framework_name</span><span class="p">():</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">DEFAULT_FRAMEWORK_NAME</span>
+    <span class="k">return</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">)</span>
+
+
+<span class="c1"># AirflowMesosScheduler, implements Mesos Scheduler interface</span>
+<span class="c1"># To schedule airflow jobs on mesos</span>
+<span class="k">class</span> <span class="nc">AirflowMesosScheduler</span><span class="p">(</span><span class="n">mesos</span><span class="o">.</span><span class="n">interface</span><span class="o">.</span><span class="n">Scheduler</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Airflow Mesos scheduler implements mesos scheduler interface</span>
+<span class="sd">    to schedule airflow tasks on mesos.</span>
+<span class="sd">    Basically, it schedules a command like</span>
+<span class="sd">    &#39;airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; --local -p=&lt;pickle&gt;&#39;</span>
+<span class="sd">    to run on a mesos slave.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">task_queue</span><span class="p">,</span>
+                 <span class="n">result_queue</span><span class="p">,</span>
+                 <span class="n">task_cpu</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
+                 <span class="n">task_mem</span><span class="o">=</span><span class="mi">256</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="o">=</span> <span class="n">task_cpu</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span> <span class="o">=</span> <span class="n">task_mem</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span> <span class="o">=</span> <span class="p">{}</span>
+
+    <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span  [...]
+            <span class="c1"># Import here to work around a circular import error</span>
+            <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">Connection</span>
+
+            <span class="c1"># Update the Framework ID in the database.</span>
+            <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
+            <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">get_framework_name</span><span class="p">()</span>
+            <span class="n">connection</span> <span class="o">=</span> <span class="n">Session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="s1">&#39;mesos_framework-id&#39;</span><span class="p">,</span>
+                                        <span class="n">extra</span><span class="o">=</span><span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span>
+
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">connection</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="n">Session</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">reregistered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler re-registered to mesos&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">disconnected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler disconnected from mesos&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">offerRescinded</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offerId</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler offer </span><span class="si">%s</span><span class="s2"> rescinded&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">offerId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">frameworkMessage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler received framework message </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">executorLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">status</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler executor </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">executorId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">slaveLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler slave </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">slaveId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">resourceOffers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offers</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">offer</span> <span class="ow">in</span> <span class="n">offers</span><span class="p">:</span>
+            <span class="n">tasks</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="n">offerCpus</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="n">offerMem</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">for</span> <span class="n">resource</span> <span class="ow">in</span> <span class="n">offer</span><span class="o">.</span><span class="n">resources</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;cpus&quot;</span><span class="p">:</span>
+                    <span class="n">offerCpus</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
+                <span class="k">elif</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;mem&quot;</span><span class="p">:</span>
+                    <span class="n">offerMem</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
+
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</spa [...]
+
+            <span class="n">remainingCpus</span> <span class="o">=</span> <span class="n">offerCpus</span>
+            <span class="n">remainingMem</span> <span class="o">=</span> <span class="n">offerMem</span>
+
+            <span class="k">while</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">())</span> <span class="ow">and</span> \
+                  <span class="n">remainingCpus</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="ow">and</span> \
+                  <span class="n">remainingMem</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span><span class="p">:</span>
+                <span class="n">key</span><span class="p">,</span> <span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+                <span class="n">tid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">+=</span> <span class="mi">1</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)]</span> <span class="o">=</span> <span class="n">key</span>
+
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Launching task </span><span class="si">%d</span><span class="s2"> using offer </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">tid</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span><s [...]
+
+                <span class="n">task</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskInfo</span><span class="p">()</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">offer</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;AirflowTask </span><span class="si">%d</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">tid</span>
+
+                <span class="n">cpus</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;cpus&quot;</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
+
+                <span class="n">mem</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;mem&quot;</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
+
+                <span class="n">command</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">CommandInfo</span><span class="p">()</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">shell</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">cmd</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
+
+                <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+
+                <span class="n">remainingCpus</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
+                <span class="n">remainingMem</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
+
+            <span class="n">driver</span><span class="o">.</span><span class="n">launchTasks</span><span class="p">(</span><span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="n">tasks</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">statusUpdate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">update</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Task </span><span class="si">%s</span><span class="s2"> is in state </span><span class="si">%s</span><span class="s2">, data </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                     <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskState</span><span class="o">.</span><span class="n">Name</span><span class="p">(</span><span class="n">update</span><span class="o">.</span><span class="n">state</span><span class="p">),</span> <span class="nb">str</span><span class="p [...]
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
+        <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
+            <span class="c1"># The map may not contain an item if the framework re-registered after a failover.</span>
+            <span class="c1"># Discard these tasks.</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="k">return</span>
+
+        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_LOST</span> <span class="ow">or</span> \
+           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_KILLED</span> <span class="ow">or</span> \
+           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FAILED</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+
+
+<div class="viewcode-block" id="MesosExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">[docs]</a><span class="k">class</span> <span class="nc">MesosExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    MesosExecutor allows distributing the execution of task</span>
+<span class="sd">    instances to multiple mesos workers.</span>
+
+<span class="sd">    Apache Mesos is a distributed systems kernel which abstracts</span>
+<span class="sd">    CPU, memory, storage, and other compute resources away from</span>
+<span class="sd">    machines (physical or virtual), enabling fault-tolerant and</span>
+<span class="sd">    elastic distributed systems to easily be built and run effectively.</span>
+<span class="sd">    See http://mesos.apache.org/</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="n">framework</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">FrameworkInfo</span><span class="p">()</span>
+        <span class="n">framework</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.master not provided for mesos executor&quot;</span><span class="p">)</span>
+
+        <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
+
+        <span class="n">framework</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">get_framework_name</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">):</span>
+            <span class="n">task_cpu</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">task_cpu</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">):</span>
+            <span class="n">task_memory</span> <span class="o">=</span> <span class="mi">256</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="bp">True</span>
+
+            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
+                <span class="c1"># Import here to work around a circular import error</span>
+                <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">Connection</span>
+
+                <span class="c1"># Query the database to get the ID of the Mesos Framework, if available.</span>
+                <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span>
+                <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
+                <span class="n">connection</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p [...]
+                <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+                    <span class="c1"># Set the Framework ID to let the scheduler reconnect with running tasks.</span>
+                    <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
+
+                <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="bp">False</span>
+
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o"> [...]
+
+        <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
+
+            <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">secret</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">)</span>
+
+            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">credential</span><span class="o">.</span><span class="n">principal</span>
+
+            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span> <span class="n">task_cpu</span><span class="p">,</span> <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">framework</span><span class="p">,</span>
+                <span class="n">master</span><span class="p">,</span>
+                <span class="n">implicit_acknowledgements</span><span class="p">,</span>
+                <span class="n">credential</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
+            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span> <span class="n">task_cpu</span><span class="p">,</span> <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">framework</span><span class="p">,</span>
+                <span class="n">master</span><span class="p">,</span>
+                <span class="n">implicit_acknowledgements</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/gcs_hook.html b/_modules/airflow/contrib/hooks/gcs_hook.html
similarity index 65%
copy from _modules/gcs_hook.html
copy to _modules/airflow/contrib/hooks/gcs_hook.html
index 012f4bf..8edc584 100644
--- a/_modules/gcs_hook.html
+++ b/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>gcs_hook &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.gcs_hook &mdash; Airflow Documentation</title>
   
 
   
@@ -24,17 +24,17 @@
 
   
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
   
 
   
 
   
-    <link rel="top" title="Airflow Documentation" href="../index.html"/>
-        <link rel="up" title="Module code" href="index.html"/> 
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
-  <script src="../_static/js/modernizr.min.js"></script>
+  <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
@@ -49,7 +49,7 @@
           
 
           
-            <a href="../index.html" class="icon icon-home"> Airflow
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
           
 
           
@@ -62,7 +62,7 @@
 
           
 <div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
     <input type="text" name="q" placeholder="Search docs" />
     <input type="hidden" name="check_keywords" value="yes" />
     <input type="hidden" name="area" value="default" />
@@ -77,21 +77,21 @@
             
             
                 <ul>
-<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
 
             
@@ -105,7 +105,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        <a href="../../../../index.html">Airflow</a>
       </nav>
 
 
@@ -120,11 +120,11 @@
 
 <div role="navigation" aria-label="breadcrumbs navigation">
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
       
-          <li><a href="index.html">Module code</a> &raquo;</li>
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
       
-    <li>gcs_hook</li>
+    <li>airflow.contrib.hooks.gcs_hook</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -136,7 +136,7 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for gcs_hook</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.hooks.gcs_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
 <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
@@ -154,28 +154,17 @@
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gc_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="kn">import</span> <span class="n">build</span>
 <span class="kn">from</span> <span class="nn">apiclient.http</span> <span class="kn">import</span> <span class="n">MediaFileUpload</span>
 
 <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;google_cloud_storage&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
 
 
-<div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+<div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Interact with Google Cloud Storage. Connections must be defined with an</span>
-<span class="sd">    extras JSON field containing:</span>
-
-<span class="sd">    ::</span>
-<span class="sd">        {</span>
-<span class="sd">            &quot;project&quot;: &quot;&lt;google project ID&gt;&quot;,</span>
-<span class="sd">            &quot;service_account&quot;: &quot;&lt;google service account email&gt;&quot;,</span>
-<span class="sd">            &quot;key_path&quot;: &quot;&lt;p12 key path&gt;&quot;</span>
-<span class="sd">        }</span>
-
-<span class="sd">    If you have used ``gcloud auth`` to authenticate on the machine that&#39;s</span>
-<span class="sd">    running Airflow, you can exclude the service_account and key_path</span>
-<span class="sd">    parameters.</span>
+<span class="sd">    Interact with Google Cloud Storage. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
@@ -183,14 +172,14 @@
                  <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
 
-<div class="viewcode-block" id="GoogleCloudStorageHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.GoogleCloudStorageHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Google Cloud Storage service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span>
 
-<div class="viewcode-block" id="GoogleCloudStorageHook.download"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.GoogleCloudStorageHook.download">[docs]</a>    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="b [...]
+    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a file from Google Cloud Storage.</span>
 
@@ -212,9 +201,9 @@
             <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">file_fd</span><span class="p">:</span>
                 <span class="n">file_fd</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">downloaded_file_bytes</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">downloaded_file_bytes</span></div>
+        <span class="k">return</span> <span class="n">downloaded_file_bytes</span>
 
-<div class="viewcode-block" id="GoogleCloudStorageHook.upload"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.GoogleCloudStorageHook.upload">[docs]</a>    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">mim [...]
+    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">mime_type</span><span class="o">=</span><span class="s1">&#39;application/octet-stream&#39;</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Uploads a local file to Google Cloud Storage.</span>
 
@@ -232,7 +221,7 @@
         <span class="n">response</span> <span class="o">=</span> <span class="n">service</span> \
             <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
             <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">media_body</span><span class="o">=</span><span class="n">media</span><span class="p">)</span> \
-            <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div></div>
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
 </pre></div>
 
            </div>
@@ -264,22 +253,22 @@
 
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
+            URL_ROOT:'../../../../',
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
         };
     </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
 
   
 
   
   
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
   
 
   
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
new file mode 100644
index 0000000..830fd57
--- /dev/null
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -0,0 +1,258 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.bigquery_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.contrib.operators.bigquery_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.bigquery_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+<div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4f0e8&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">bql</span><span class="p">,</span>
+                 <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
+                 <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">udf_config</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new BigQueryOperator.</span>
+
+<span class="sd">        :param bql: the sql code to be executed</span>
+<span class="sd">        :type bql: Can receive a str representing a sql statement,</span>
+<span class="sd">            a list of str (sql statements), or reference to a template file.</span>
+<span class="sd">            Template reference are recognized by str ending in &#39;.sql&#39;</span>
+<span class="sd">        :param destination_dataset_table: A dotted dataset.table that, if set,</span>
+<span class="sd">            will store the results of the query.</span>
+<span class="sd">        :type destination_dataset_table: string</span>
+<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
+<span class="sd">        :type bigquery_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
+<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
+<span class="sd">        :type udf_config: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bql</span> <span class="o">=</span> <span class="n">bql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="n">destination_dataset_table</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span> <span class="o">=</span> <span class="n">allow_large_results</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">udf_config</span> <span class="o">=</span> <span class="n">udf_config</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">))</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span> <span class="bp">self</span><s [...]
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
new file mode 100644
index 0000000..465128c
--- /dev/null
+++ b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -0,0 +1,278 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.bigquery_to_gcs &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.contrib.operators.bigquery_to_gcs</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.bigquery_to_gcs</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+<div class="viewcode-block" id="BigQueryToCloudStorageOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryToCloudStorageOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Transfers a BigQuery table to a Google Cloud Storage bucket.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span><span class="s1">&#39;destination_cloud_storage_uris&#39;</span><span class="p">,)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4e6f0&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">source_project_dataset_table</span><span class="p">,</span>
+        <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+        <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+        <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+        <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+        <span class="n">print_header</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+        <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+        <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+        <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+        <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new BigQueryToCloudStorage to move data from BigQuery to</span>
+<span class="sd">        Google Cloud Storage.  See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param source_project_dataset_table: The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt; BigQuery table to use as the</span>
+<span class="sd">            source data. If &lt;project&gt; is not included, project will be the project defined in the connection json.</span>
+<span class="sd">        :type source_project_dataset_table: string</span>
+<span class="sd">        :param destination_cloud_storage_uris: The destination Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). Follows</span>
+<span class="sd">            convention defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</span>
+<span class="sd">        :type destination_cloud_storage_uris: list</span>
+<span class="sd">        :param compression: Type of compression to use.</span>
+<span class="sd">        :type compression: string</span>
+<span class="sd">        :param export_format: File format to export.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when extracting to a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
+<span class="sd">        :type print_header: boolean</span>
+<span class="sd">        :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
+<span class="sd">        :type bigquery_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToCloudStorageOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span> <span class="o">=</span> <span class="n">source_project_dataset_table</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">destination_cloud_storage_uris</span> <span class="o">=</span> <span class="n">destination_cloud_storage_uris</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">compression</span> <span class="o">=</span> <span class="n">compression</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">export_format</span> <span class="o">=</span> <span class="n">export_format</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">field_delimiter</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">print_header</span> <span class="o">=</span> <span class="n">print_header</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing extract of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class= [...]
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_extract</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">compression</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">export_format</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">field_delimiter</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">print_header</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/gcs_download_operator.html b/_modules/airflow/contrib/operators/gcs_download_operator.html
new file mode 100644
index 0000000..4af6020
--- /dev/null
+++ b/_modules/airflow/contrib/operators/gcs_download_operator.html
@@ -0,0 +1,253 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.gcs_download_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.contrib.operators.gcs_download_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.gcs_download_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudStorageHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+<div class="viewcode-block" id="GoogleCloudStorageDownloadOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageDownloadOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Downloads a file from Google Cloud Storage.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span><span class="s1">&#39;object&#39;</span><span class="p">,</span><span class="s1">&#39;filename&#39;</span><span class="p">,)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">bucket</span><span class="p">,</span>
+        <span class="nb">object</span><span class="p">,</span>
+        <span class="n">filename</span><span class="p">,</span>
+        <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
+        <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+        <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+        <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new GoogleCloudStorageDownloadOperator.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to download in the Google cloud</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        :param filename: The file path on the local file system (where the</span>
+<span class="sd">            operator is being executed) that the file should be downloaded to.</span>
+<span class="sd">        :type filename: string</span>
+<span class="sd">        :param google_cloud_storage_conn_id: The connection ID to use when</span>
+<span class="sd">            connecting to Google cloud storage.</span>
+<span class="sd">        :type google_cloud_storage_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageDownloadOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span> <span class="o">=</span> <span class="n">bucket</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">object</span> <span class="o">=</span> <span class="nb">object</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">filename</span> <span class="o">=</span> <span class="n">filename</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span> <span class="o">=</span> <span class="n">google_cloud_storage_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing download: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class= [...]
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
+                                      <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="k">print</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">object</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">filename</span><span class="p">))</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index d382539..aba90cd 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -965,8 +965,8 @@
 <span class="sd">        Refreshes the task instance from the database based on the primary key</span>
 
 <span class="sd">        :param lock_for_update: if True, indicates that the database should</span>
-<span class="sd">        lock the TaskInstance (issuing a FOR UPDATE clause) until the session</span>
-<span class="sd">        is committed.</span>
+<span class="sd">            lock the TaskInstance (issuing a FOR UPDATE clause) until the</span>
+<span class="sd">            session is committed.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
 
@@ -1325,7 +1325,6 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="n">test_mode</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">force</span> <span class="o">=</span> <span class="n">force</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="n">job_id</span>
         <span class="n">iso</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">socket</span><span class="o">.</span><span class="n">getfqdn</span><span class="p">()</span>
@@ -1334,6 +1333,7 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Another instance is running, skipping.&quot;</span><span class="p">)</span>
         <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Task {} was removed from the dag&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
         <span class="k">elif</span> <span class="ow">not</span> <span class="n">force</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
@@ -1358,6 +1358,7 @@
                 <span class="s2">&quot;Next run after {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">next_run</span><span class="p">)</span>
             <span class="p">)</span>
         <span class="k">elif</span> <span class="n">force</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span><span class="n">runnable</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
             <span class="n">HR</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span> <span class="o">*</span> <span class="mi">80</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>  <span class="c1"># Line break</span>
 
             <span class="c1"># For reporting purposes, we report based on 1-indexed,</span>
@@ -3583,7 +3584,11 @@
                      <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">tis</span><span class="p">)))</span>
 
         <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
-            <span class="n">ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="c1"># skip in db?</span>
+            <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span><span class="p">:</span>
+                <span class="n">tis</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
 
         <span class="c1"># pre-calculate</span>
         <span class="c1"># db is faster</span>
@@ -3650,8 +3655,11 @@
         <span class="n">task_ids</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
             <span class="n">task_ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span>< [...]
-                <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="k">except</span> <span class="n">AirflowException</span><span class="p">:</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+                    <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span>
 
         <span class="c1"># check for missing tasks</span>
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
diff --git a/_modules/bigquery_hook.html b/_modules/bigquery_hook.html
new file mode 100644
index 0000000..9478587
--- /dev/null
+++ b/_modules/bigquery_hook.html
@@ -0,0 +1,995 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>bigquery_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>bigquery_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for bigquery_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">This module contains a BigQuery Hook, as well as a very basic PEP 249</span>
+<span class="sd">implementation for BigQuery.</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="kn">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">pandas.io.gbq</span> <span class="kn">import</span> <span class="n">GbqConnector</span><span class="p">,</span> \
+    <span class="n">_parse_data</span> <span class="k">as</span> <span class="n">gbq_parse_data</span><span class="p">,</span> \
+    <span class="n">_check_google_client_version</span> <span class="k">as</span> <span class="n">gbq_check_google_client_version</span><span class="p">,</span> \
+    <span class="n">_test_google_api_imports</span> <span class="k">as</span> <span class="n">gbq_test_google_api_imports</span>
+<span class="kn">from</span> <span class="nn">pandas.tools.merge</span> <span class="kn">import</span> <span class="n">concat</span>
+
+<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;bigquery&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="BigQueryHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook">[docs]</a><span class="k">class</span> <span class="nc">BigQueryHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">,</span> <span class="n">DbApiHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with BigQuery. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;bigquery_conn_id&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+            <span class="n">conn_id</span><span class="o">=</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+            <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
+
+<div class="viewcode-block" id="BigQueryHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a BigQuery PEP 249 connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
+        <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">BigQueryConnection</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.get_service"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_service">[docs]</a>    <span class="k">def</span> <span class="nf">get_service</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a BigQuery service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;bigquery&#39;</span><span class="p">,</span> <span class="s1">&#39;v2&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.insert_rows"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="bp">None</s [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Insertion is currently unsupported. Theoretically, you could use</span>
+<span class="sd">        BigQuery&#39;s streaming API to insert rows into a table, but this hasn&#39;t</span>
+<span class="sd">        been implemented.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Pandas DataFrame for the results produced by a BigQuery</span>
+<span class="sd">        query. The DbApiHook method must be overridden because Pandas</span>
+<span class="sd">        doesn&#39;t support PEP 249 connections, except for SQLite. See:</span>
+
+<span class="sd">        https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</span>
+<span class="sd">        https://github.com/pydata/pandas/issues/6900</span>
+
+<span class="sd">        :param bql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type bql: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
+        <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
+        <span class="n">connector</span> <span class="o">=</span> <span class="n">BigQueryPandasConnector</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">service</span><span class="p">)</span>
+        <span class="n">schema</span><span class="p">,</span> <span class="n">pages</span> <span class="o">=</span> <span class="n">connector</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
+        <span class="n">dataframe_list</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">while</span> <span class="nb">len</span><span class="p">(</span><span class="n">pages</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="n">page</span> <span class="o">=</span> <span class="n">pages</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span>
+            <span class="n">dataframe_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">page</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">concat</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">,</span> <span class="n">ignore_index</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="p">[])</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">BigQueryPandasConnector</span><span class="p">(</span><span class="n">GbqConnector</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This connector behaves identically to GbqConnector (from Pandas), except</span>
+<span class="sd">    that it allows the service to be injected, and disables a call to</span>
+<span class="sd">    self.get_credentials(). This allows Airflow to use BigQuery with Pandas</span>
+<span class="sd">    without forcing a three legged OAuth connection. Instead, we can inject</span>
+<span class="sd">    service account credentials into the binding.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">reauth</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="n">gbq_check_google_client_version</span><span class="p">()</span>
+        <span class="n">gbq_test_google_api_imports</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">reauth</span> <span class="o">=</span> <span class="n">reauth</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryConnection</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    BigQuery does not have a notion of a persistent connection. Thus, these</span>
+<span class="sd">    objects are small stateless factories for cursors, which do all the real</span>
+<span class="sd">    work.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_args</span> <span class="o">=</span> <span class="n">args</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_kwargs</span> <span class="o">=</span> <span class="n">kwargs</span>
+
+    <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; BigQueryConnection does not have anything to close. &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; BigQueryConnection does not support transactions. &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">cursor</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Return a new :py:class:`Cursor` object using the connection. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">BigQueryCursor</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">_args</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">_kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
+            <span class="s2">&quot;BigQueryConnection does not have transactions&quot;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryBaseCursor</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    The BigQuery base cursor contains helper methods to execute queries against</span>
+<span class="sd">    BigQuery. The methods can be used directly by operators, in cases where a</span>
+<span class="sd">    PEP 249 cursor isn&#39;t needed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+
+    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span>
+            <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+            <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">udf_config</span> <span class="o">=</span> <span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery SQL query. Optionally persists results in a BigQuery</span>
+<span class="sd">        table. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param bql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type bql: string</span>
+<span class="sd">        :param destination_dataset_table: The dotted &lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery table to save the query results.</span>
+<span class="sd">        :param write_disposition: What to do if the table already exists in</span>
+<span class="sd">            BigQuery.</span>
+<span class="sd">        :param allow_large_results: Whether to allow large results.</span>
+<span class="sd">        :type allow_large_results: boolean</span>
+<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
+<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
+<span class="sd">        :type udf_config: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">bql</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
+            <span class="k">assert</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">,</span> <span class="p">(</span>
+                <span class="s1">&#39;Expected destination_dataset_table in the format of &#39;</span>
+                <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: {}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">)</span>
+            <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+                <span class="n">destination_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span> <span class="n">allow_large_results</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
+                <span class="p">}</span>
+            <span class="p">})</span>
+        <span class="k">if</span> <span class="n">udf_config</span><span class="p">:</span>
+            <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span> <span class="n">udf_config</span>
+            <span class="p">})</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_extract</span><span class="p">(</span>  <span class="c1"># noqa</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">,</span> <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+            <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span> <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+            <span class="n">print_header</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery extract command to copy data from BigQuery to</span>
+<span class="sd">        Google Cloud Storage. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param source_project_dataset_table: The dotted &lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery table to use as the source data.</span>
+<span class="sd">        :type source_project_dataset_table: string</span>
+<span class="sd">        :param destination_cloud_storage_uris: The destination Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). Follows</span>
+<span class="sd">            convention defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</span>
+<span class="sd">        :type destination_cloud_storage_uris: list</span>
+<span class="sd">        :param compression: Type of compression to use.</span>
+<span class="sd">        :type compression: string</span>
+<span class="sd">        :param export_format: File format to export.</span>
+<span class="sd">        :type export_format: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when extracting to a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
+<span class="sd">        :type print_header: boolean</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
+                <span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">)</span>
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;extract&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;sourceTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span><span class="p">,</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;compression&#39;</span><span class="p">:</span> <span class="n">compression</span><span class="p">,</span>
+                <span class="s1">&#39;destinationUris&#39;</span><span class="p">:</span> <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+                <span class="s1">&#39;destinationFormat&#39;</span><span class="p">:</span> <span class="n">export_format</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">export_format</span> <span class="o">==</span> <span class="s1">&#39;CSV&#39;</span><span class="p">:</span>
+            <span class="c1"># Only set fieldDelimiter and printHeader fields if using CSV.</span>
+            <span class="c1"># Google does not like it if you set these fields for other export</span>
+            <span class="c1"># formats.</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;extract&#39;</span><span class="p">][</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;extract&#39;</span><span class="p">][</span><span class="s1">&#39;printHeader&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">print_header</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">source_project_dataset_tables</span><span class="p">,</span>
+                 <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery copy command to copy data from one BigQuery table</span>
+<span class="sd">        to another. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param source_project_dataset_tables: One or more dotted</span>
+<span class="sd">            (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery tables to use as the source data. Use a list if there are</span>
+<span class="sd">            multiple source tables.</span>
+<span class="sd">            If &lt;project&gt; is not included, project will be the project defined</span>
+<span class="sd">            in the connection json.</span>
+<span class="sd">        :type source_project_dataset_tables: list|string</span>
+<span class="sd">        :param destination_project_dataset_table: The destination BigQuery</span>
+<span class="sd">            table. Format is: &lt;project&gt;.&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">        :type destination_project_dataset_table: string</span>
+<span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="p">[</span><span class="n">source_project_dataset_tables</span><span class="p">]</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
+            <span class="k">else</span> <span class="n">source_project_dataset_tables</span><span class="p">)</span>
+
+        <span class="n">source_project_dataset_tables_fixup</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">source_project_dataset_table</span> <span class="ow">in</span> <span class="n">source_project_dataset_tables</span><span class="p">:</span>
+            <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
+                <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
+                    <span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">)</span>
+            <span class="n">source_project_dataset_tables_fixup</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span>
+                <span class="p">})</span>
+
+        <span class="k">assert</span> <span class="mi">3</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">destination_project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)),</span> <span class="p">(</span>
+            <span class="s1">&#39;Expected destination_project_dataset_table in the format of &#39;</span>
+            <span class="s1">&#39;&lt;project&gt;.&lt;dataset&gt;.&lt;table&gt;. &#39;</span>
+            <span class="s1">&#39;Got: {}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_project_dataset_table</span><span class="p">)</span>
+
+        <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+            <span class="n">destination_project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;copy&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;sourceTables&#39;</span><span class="p">:</span> <span class="n">source_project_dataset_tables_fixup</span><span class="p">,</span>
+                <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span>
+                <span class="p">}</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">schema_fields</span><span class="p">,</span> <span class="n">source_uris</span><span class="p">,</span>
+                 <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                 <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery load command to load data from Google Cloud Storage</span>
+<span class="sd">        to BigQuery. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param destination_project_dataset_table:</span>
+<span class="sd">            The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt; BigQuery table to load data into.</span>
+<span class="sd">            If &lt;project&gt; is not included, project will be the project defined in</span>
+<span class="sd">            the connection json.</span>
+<span class="sd">        :type destination_project_dataset_table: string</span>
+<span class="sd">        :param schema_fields: The schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param source_uris: The source Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild</span>
+<span class="sd">            per-object name can be used.</span>
+<span class="sd">        :type source_uris: list</span>
+<span class="sd">        :param source_format: File format to export.</span>
+<span class="sd">        :type source_format: string</span>
+<span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param skip_leading_rows: Number of rows to skip when loading from a CSV.</span>
+<span class="sd">        :type skip_leading_rows: int</span>
+<span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
+                <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">destination_project_dataset_table</span><span class="p">)</span>
+
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;load&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;schema&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
+                <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">source_format</span> <span class="o">==</span> <span class="s1">&#39;CSV&#39;</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_split_project_dataset_table_input</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">var_name</span><span class="p">,</span> <span class="n">project_dataset_table</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param var_name: the name of the variable input, for logging and erroring purposes.</span>
+<span class="sd">        :type var_name: str</span>
+<span class="sd">        :param project_dataset_table: input string in (&lt;project&gt;.)&lt;dataset&gt;.&lt;project&gt; format.</span>
+<span class="sd">            if project is not included in the string, self.project_id will be returned in the tuple.</span>
+<span class="sd">        :type project_dataset_table: str</span>
+<span class="sd">        :return: (project, dataset, table) tuple</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">table_split</span> <span class="o">=</span> <span class="n">project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+        <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">,</span> <span class="p">(</span>
+            <span class="s1">&#39;Expected {var} in the format of (&lt;project.)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+            <span class="s1">&#39;got {input}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">project_dataset_table</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">table_split</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;project not included in {var}: {input}; using project &quot;{project}&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">project_datase [...]
+            <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table_split</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">project</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table_split</span>
+            <span class="k">return</span> <span class="n">project</span><span class="p">,</span> <span class="n">dataset</span><span class="p">,</span> <span class="n">table</span>
+
+    <span class="k">def</span> <span class="nf">run_with_configuration</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">configuration</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery SQL query. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about the configuration parameter.</span>
+
+<span class="sd">        :param configuration: The configuration parameter maps directly to</span>
+<span class="sd">            BigQuery&#39;s configuration field in the job object. See</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs for</span>
+<span class="sd">            details.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="n">job_data</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;configuration&#39;</span><span class="p">:</span> <span class="n">configuration</span>
+        <span class="p">}</span>
+
+        <span class="c1"># Send query and wait for reply.</span>
+        <span class="n">query_reply</span> <span class="o">=</span> <span class="n">jobs</span> \
+            <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">job_data</span><span class="p">)</span> \
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="n">query_reply</span><span class="p">[</span><span class="s1">&#39;jobReference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span  [...]
+
+        <span class="c1"># Wait for query to finish.</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><s [...]
+
+        <span class="c1"># Check if job had errors.</span>
+        <span class="k">if</span> <span class="s1">&#39;errorResult&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">])</span>
+
+        <span class="k">return</span> <span class="n">job_id</span>
+
+    <span class="k">def</span> <span class="nf">get_schema</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the schema for a given datset.table.</span>
+<span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
+
+<span class="sd">        :param dataset_id: the dataset ID of the requested table</span>
+<span class="sd">        :param table_id: the table ID of the requested table</span>
+<span class="sd">        :return: a table schema</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">tables_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
+            <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span> <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">)</span> \
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">tables_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">get_tabledata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span>
+                      <span class="n">max_results</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">start_index</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the data of a given dataset.table.</span>
+<span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list</span>
+
+<span class="sd">        :param dataset_id: the dataset ID of the requested table.</span>
+<span class="sd">        :param table_id: the table ID of the requested table.</span>
+<span class="sd">        :param max_results: the maximum results to return.</span>
+<span class="sd">        :param page_token: page token, returned from a previous call,</span>
+<span class="sd">            identifying the result set.</span>
+<span class="sd">        :param start_index: zero based index of the starting row to read.</span>
+<span class="sd">        :return: map containing the requested rows.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">optional_params</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">max_results</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;maxResults&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_results</span>
+        <span class="k">if</span> <span class="n">page_token</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;pageToken&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">page_token</span>
+        <span class="k">if</span> <span class="n">start_index</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;startIndex&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">start_index</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tabledata</span><span class="p">()</span>
+            <span class="o">.</span><span class="n">list</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span> <span class="o">**</span><span class="n">optional_params</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_table_upsert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_resource</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        creates a new, empty table in the dataset;</span>
+<span class="sd">        If the table already exists, update the existing table.</span>
+<span class="sd">        Since BigQuery does not natively allow table upserts, this is not an</span>
+<span class="sd">        atomic operation.</span>
+<span class="sd">        :param dataset_id: the dataset to upsert the table into.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param table_resource: a table resource. see https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
+<span class="sd">        :type table_resource: dict</span>
+<span class="sd">        :param project_id: the project to upsert the table into.  If None,</span>
+<span class="sd">        project will be self.project_id.</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># check to see if the table exists</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span>
+        <span class="n">table_exists</span> <span class="o">=</span> <span class="bp">False</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                                                      <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;tables&#39;</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">[</span><span class="s1">&#39;tables&#39;</span><span class="p">]:</span>
+                <span class="k">if</span> <span class="n">table</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">table_id</span><span class="p">:</span>
+                    <span class="n">table_exists</span> <span class="o">=</span> <span class="bp">True</span>
+                    <span class="k">break</span>
+
+        <span class="c1"># do update if table exists</span>
+        <span class="k">if</span> <span class="n">table_exists</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id [...]
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                                                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                                                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+                                                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="c1"># do insert if table does not exist</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n"> [...]
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                                                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                                                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">run_grant_dataset_view_access</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                                      <span class="n">source_dataset</span><span class="p">,</span>
+                                      <span class="n">view_dataset</span><span class="p">,</span>
+                                      <span class="n">view_table</span><span class="p">,</span>
+                                      <span class="n">source_project</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+                                      <span class="n">view_project</span> <span class="o">=</span> <span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Grant authorized view access of a dataset to a view table.</span>
+<span class="sd">        If this view has already been granted access to the dataset, do nothing.</span>
+<span class="sd">        This method is not atomic.  Running it may clobber a simultaneous update.</span>
+<span class="sd">        :param source_dataset: the source dataset</span>
+<span class="sd">        :type source_dataset: str</span>
+<span class="sd">        :param view_dataset: the dataset that the view is in</span>
+<span class="sd">        :type view_dataset: str</span>
+<span class="sd">        :param view_table: the table of the view</span>
+<span class="sd">        :type view_table: str</span>
+<span class="sd">        :param source_project: the project of the source dataset. If None,</span>
+<span class="sd">        self.project_id will be used.</span>
+<span class="sd">        :type source_project: str</span>
+<span class="sd">        :param view_project: the project that the view is in. If None,</span>
+<span class="sd">        self.project_id will be used.</span>
+<span class="sd">        :type view_project: str</span>
+<span class="sd">        :return: the datasets resource of the source dataset.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># Apply default values to projects</span>
+        <span class="n">source_project</span> <span class="o">=</span> <span class="n">source_project</span> <span class="k">if</span> <span class="n">source_project</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">view_project</span> <span class="o">=</span> <span class="n">view_project</span> <span class="k">if</span> <span class="n">view_project</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="c1"># we don&#39;t want to clobber any existing accesses, so we have to get</span>
+        <span class="c1"># info on the dataset before we can add view access</span>
+        <span class="n">source_dataset_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
+                                                              <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">access</span> <span class="o">=</span> <span class="n">source_dataset_resource</span><span class="p">[</span><span class="s1">&#39;access&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="s1">&#39;access&#39;</span> <span class="ow">in</span> <span class="n">source_dataset_resource</span> <span class="k">else</span> <span class="p">[]</span>
+        <span class="n">view_access</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;view&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">view_project</span><span class="p">,</span>
+                                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">view_dataset</span><span class="p">,</span>
+                                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">view_table</span><span class="p">}}</span>
+        <span class="c1"># check to see if the view we want to add already exists.</span>
+        <span class="k">if</span> <span class="n">view_access</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">access</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;granting table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                         <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span>
+                         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="n">access</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">view_access</span><span class="p">)</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
+                                                 <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">,</span>
+                                                 <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;access&#39;</span><span class="p">:</span> <span class="n">access</span><span class="p">})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="c1"># if view is already in access, do nothing.</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                         <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span>
+                         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">source_dataset_resource</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryCursor</span><span class="p">(</span><span class="n">BigQueryBaseCursor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    A very basic BigQuery PEP 249 cursor implementation. The PyHive PEP 249</span>
+<span class="sd">    implementation was used as a reference:</span>
+
+<span class="sd">    https://github.com/dropbox/PyHive/blob/master/pyhive/presto.py</span>
+<span class="sd">    https://github.com/dropbox/PyHive/blob/master/pyhive/common.py</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="bp">False</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">description</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; The schema description method is not currently implemented. &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span>
+
+    <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; By default, do nothing &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">rowcount</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; By default, return -1 to indicate that this is not supported. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="o">-</span><span class="mi">1</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery query, and returns the job ID.</span>
+
+<span class="sd">        :param operation: The query to execute.</span>
+<span class="sd">        :type operation: string</span>
+<span class="sd">        :param parameters: Parameters to substitute into the query.</span>
+<span class="sd">        :type parameters: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">bql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span> <span class="k">if</span> <span class="n">parameters</span> <span class="k">else</span> <span class="n">operation</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">executemany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">seq_of_parameters</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Execute a BigQuery query multiple times with different parameters.</span>
+
+<span class="sd">        :param operation: The query to execute.</span>
+<span class="sd">        :type operation: string</span>
+<span class="sd">        :param parameters: List of dictionary parameters to substitute into the</span>
+<span class="sd">            query.</span>
+<span class="sd">        :type parameters: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">for</span> <span class="n">parameters</span> <span class="ow">in</span> <span class="n">seq_of_parameters</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">fetchone</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Fetch the next row of a query result set. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">next</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Helper method for fetchone, which returns the next row from a buffer.</span>
+<span class="sd">        If the buffer is empty, attempts to paginate through the result set for</span>
+<span class="sd">        the next page, and load it into the buffer.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">None</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">None</span>
+
+            <span class="n">query_results</span> <span class="o">=</span> <span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+                <span class="o">.</span><span class="n">getQueryResults</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span>
+                    <span class="n">pageToken</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">)</span>
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="p">)</span>
+
+            <span class="k">if</span> <span class="s1">&#39;rows&#39;</span> <span class="ow">in</span> <span class="n">query_results</span> <span class="ow">and</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;rows&#39;</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="n">query_results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;pageToken&#39;</span><span class="p">)</span>
+                <span class="n">fields</span> <span class="o">=</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">][</span><span class="s1">&#39;fields&#39;</span><span class="p">]</span>
+                <span class="n">col_types</span> <span class="o">=</span> <span class="p">[</span><span class="n">field</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="n">fields</span><span class="p">]</span>
+                <span class="n">rows</span> <span class="o">=</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;rows&#39;</span><span class="p">]</span>
+
+                <span class="k">for</span> <span class="n">dict_row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
+                    <span class="n">typed_row</span> <span class="o">=</span> <span class="p">([</span>
+                        <span class="n">_bq_cast</span><span class="p">(</span><span class="n">vs</span><span class="p">[</span><span class="s1">&#39;v&#39;</span><span class="p">],</span> <span class="n">col_types</span><span class="p">[</span><span class="n">idx</span><span class="p">])</span>
+                        <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">vs</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">dict_row</span><span class="p">[</span><span class="s1">&#39;f&#39;</span><span class="p">])</span>
+                    <span class="p">])</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">typed_row</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="bp">True</span>
+
+            <span class="k">else</span><span class="p">:</span>
+                <span class="c1"># Reset all state since we&#39;ve exhausted the results.</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="bp">None</span>
+                <span class="k">return</span> <span class="bp">None</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">fetchmany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch the next set of rows of a query result, returning a sequence of sequences (e.g. a</span>
+<span class="sd">        list of tuples). An empty sequence is returned when no more rows are available.</span>
+<span class="sd">        The number of rows to fetch per call is specified by the parameter. If it is not given, the</span>
+<span class="sd">        cursor&#39;s arraysize determines the number of rows to be fetched. The method should try to</span>
+<span class="sd">        fetch as many rows as indicated by the size parameter. If this is not possible due to the</span>
+<span class="sd">        specified number of rows not being available, fewer rows may be returned.</span>
+<span class="sd">        An :py:class:`~pyhive.exc.Error` (or subclass) exception is raised if the previous call to</span>
+<span class="sd">        :py:meth:`execute` did not produce any result set or no call was issued yet.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arraysize</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">size</span><span class="p">):</span>
+            <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="k">def</span> <span class="nf">fetchall</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch all (remaining) rows of a query result, returning them as a sequence of sequences</span>
+<span class="sd">        (e.g. a list of tuples).</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+            <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="k">def</span> <span class="nf">get_arraysize</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Specifies the number of rows to fetch at a time with .fetchmany() &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffersize</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="k">else</span> <span class="mi">1</span>
+
+    <span class="k">def</span> <span class="nf">set_arraysize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">arraysize</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Specifies the number of rows to fetch at a time with .fetchmany() &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="n">arraysize</span>
+
+    <span class="n">arraysize</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">get_arraysize</span><span class="p">,</span> <span class="n">set_arraysize</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">setinputsizes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sizes</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">setoutputsize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">column</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+
+<span class="k">def</span> <span class="nf">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot; Helper method that binds parameters to a SQL query. &quot;&quot;&quot;</span>
+    <span class="c1"># inspired by MySQL Python Connector (conversion.py)</span>
+    <span class="n">string_parameters</span> <span class="o">=</span> <span class="p">{}</span>
+    <span class="k">for</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> <span class="ow">in</span> <span class="n">parameters</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+        <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;NULL&#39;</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">_escape</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">operation</span> <span class="o">%</span> <span class="n">string_parameters</span>
+
+
+<span class="k">def</span> <span class="nf">_escape</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot; Helper method that escapes parameters to a SQL query. &quot;&quot;&quot;</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">s</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\\</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\\\</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">n&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\r</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">r&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&#39;&quot;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;&quot;&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">&quot;&#39;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">e</span>
+
+
+<span class="k">def</span> <span class="nf">_bq_cast</span><span class="p">(</span><span class="n">string_field</span><span class="p">,</span> <span class="n">bq_type</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Helper method that casts a BigQuery row to the appropriate data types.</span>
+<span class="sd">    This is useful because BigQuery returns all fields as strings.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">if</span> <span class="n">string_field</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">return</span> <span class="bp">None</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;INTEGER&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;BOOLEAN&#39;</span><span class="p">:</span>
+        <span class="k">assert</span> <span class="n">string_field</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">([</span><span class="s1">&#39;true&#39;</span><span class="p">,</span> <span class="s1">&#39;false&#39;</span><span class="p">])</span>
+        <span class="k">return</span> <span class="n">string_field</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span> <span class="n">string_field</span>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/gcs_hook.html b/_modules/gcs_hook.html
index 012f4bf..c118b86 100644
--- a/_modules/gcs_hook.html
+++ b/_modules/gcs_hook.html
@@ -154,7 +154,7 @@
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gc_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="kn">import</span> <span class="n">build</span>
 <span class="kn">from</span> <span class="nn">apiclient.http</span> <span class="kn">import</span> <span class="n">MediaFileUpload</span>
 
@@ -163,19 +163,8 @@
 
 <div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Interact with Google Cloud Storage. Connections must be defined with an</span>
-<span class="sd">    extras JSON field containing:</span>
-
-<span class="sd">    ::</span>
-<span class="sd">        {</span>
-<span class="sd">            &quot;project&quot;: &quot;&lt;google project ID&gt;&quot;,</span>
-<span class="sd">            &quot;service_account&quot;: &quot;&lt;google service account email&gt;&quot;,</span>
-<span class="sd">            &quot;key_path&quot;: &quot;&lt;p12 key path&gt;&quot;</span>
-<span class="sd">        }</span>
-
-<span class="sd">    If you have used ``gcloud auth`` to authenticate on the machine that&#39;s</span>
-<span class="sd">    running Airflow, you can exclude the service_account and key_path</span>
-<span class="sd">    parameters.</span>
+<span class="sd">    Interact with Google Cloud Storage. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
diff --git a/_modules/index.html b/_modules/index.html
index 7fe6be6..d40ab64 100644
--- a/_modules/index.html
+++ b/_modules/index.html
@@ -135,6 +135,11 @@
             
   <h1>All modules for which code is available</h1>
 <ul><li><a href="S3_hook.html">S3_hook</a></li>
+<li><a href="airflow/contrib/executors/mesos_executor.html">airflow.contrib.executors.mesos_executor</a></li>
+<li><a href="airflow/contrib/hooks/gcs_hook.html">airflow.contrib.hooks.gcs_hook</a></li>
+<li><a href="airflow/contrib/operators/bigquery_operator.html">airflow.contrib.operators.bigquery_operator</a></li>
+<li><a href="airflow/contrib/operators/bigquery_to_gcs.html">airflow.contrib.operators.bigquery_to_gcs</a></li>
+<li><a href="airflow/contrib/operators/gcs_download_operator.html">airflow.contrib.operators.gcs_download_operator</a></li>
 <li><a href="airflow/contrib/operators/hipchat_operator.html">airflow.contrib.operators.hipchat_operator</a></li>
 <li><a href="airflow/executors/celery_executor.html">airflow.executors.celery_executor</a></li>
 <li><a href="airflow/executors/local_executor.html">airflow.executors.local_executor</a></li>
@@ -145,6 +150,7 @@
 <li><a href="airflow/operators/docker_operator.html">airflow.operators.docker_operator</a></li>
 <li><a href="airflow/operators/sensors.html">airflow.operators.sensors</a></li>
 <li><a href="bash_operator.html">bash_operator</a></li>
+<li><a href="bigquery_hook.html">bigquery_hook</a></li>
 <li><a href="cloudant_hook.html">cloudant_hook</a></li>
 <li><a href="dagrun_operator.html">dagrun_operator</a></li>
 <li><a href="dbapi_hook.html">dbapi_hook</a></li>
@@ -172,6 +178,7 @@
 <li><a href="presto_check_operator.html">presto_check_operator</a></li>
 <li><a href="presto_hook.html">presto_hook</a></li>
 <li><a href="python_operator.html">python_operator</a></li>
+<li><a href="qubole_operator.html">qubole_operator</a></li>
 <li><a href="s3_to_hive_operator.html">s3_to_hive_operator</a></li>
 <li><a href="sensors.html">sensors</a></li>
 <li><a href="slack_operator.html">slack_operator</a></li>
diff --git a/_modules/qubole_operator.html b/_modules/qubole_operator.html
new file mode 100644
index 0000000..07ea626
--- /dev/null
+++ b/_modules/qubole_operator.html
@@ -0,0 +1,328 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>qubole_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>qubole_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for qubole_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks</span> <span class="kn">import</span> <span class="n">QuboleHook</span>
+
+
+<div class="viewcode-block" id="QuboleOperator"><a class="viewcode-back" href="../code.html#airflow.contrib.operators.QuboleOperator">[docs]</a><span class="k">class</span> <span class="nc">QuboleOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Execute tasks (commands) on QDS (https://qubole.com).</span>
+
+<span class="sd">    :param qubole_conn_id: Connection id which consists of qds auth_token</span>
+<span class="sd">    :type qubole_conn_id: str</span>
+
+<span class="sd">    kwargs:</span>
+<span class="sd">        :command_type: type of command to be executed, e.g. hivecmd, shellcmd, hadoopcmd</span>
+<span class="sd">        :tags: array of tags to be assigned with the command</span>
+<span class="sd">        :cluster_label: cluster label on which the command will be executed</span>
+<span class="sd">        :name: name to be given to command</span>
+
+<span class="sd">        **Arguments specific to command types**</span>
+
+<span class="sd">        hivecmd:</span>
+<span class="sd">            :query: inline query statement</span>
+<span class="sd">            :script_location: s3 location containing query statement</span>
+<span class="sd">            :sample_size: size of sample in bytes on which to run query</span>
+<span class="sd">            :macros: macro values which were used in query</span>
+<span class="sd">        prestocmd:</span>
+<span class="sd">            :query: inline query statement</span>
+<span class="sd">            :script_location: s3 location containing query statement</span>
+<span class="sd">            :macros: macro values which were used in query</span>
+<span class="sd">        hadoopcmd:</span>
+<span class="sd">            :sub_commnad: must be one these [&quot;jar&quot;, &quot;s3distcp&quot;, &quot;streaming&quot;] followed by 1 or more args</span>
+<span class="sd">        shellcmd:</span>
+<span class="sd">            :script: inline command with args</span>
+<span class="sd">            :script_location: s3 location containing query statement</span>
+<span class="sd">            :files: list of files in s3 bucket as file1,file2 format. These files will be copied into the working directory where the qubole command is being executed.</span>
+<span class="sd">            :archives: list of archives in s3 bucket as archive1,archive2 format. These will be unarchived intothe working directory where the qubole command is being executed</span>
+<span class="sd">            :parameters: any extra args which need to be passed to script (only when script_location is supplied)</span>
+<span class="sd">        pigcmd:</span>
+<span class="sd">            :script: inline query statement (latin_statements)</span>
+<span class="sd">            :script_location: s3 location containing pig query</span>
+<span class="sd">            :parameters: any extra args which need to be passed to script (only when script_location is supplied</span>
+<span class="sd">        sparkcmd:</span>
+<span class="sd">            :program: the complete Spark Program in Scala, SQL, Command, R, or Python</span>
+<span class="sd">            :cmdline: spark-submit command line, all required information must be specify in cmdline itself.</span>
+<span class="sd">            :sql: inline sql query</span>
+<span class="sd">            :script_location: s3 location containing query statement</span>
+<span class="sd">            :language: language of the program, Scala, SQL, Command, R, or Python</span>
+<span class="sd">            :app_id: ID of an Spark job server app</span>
+<span class="sd">            :arguments: spark-submit command line arguments</span>
+<span class="sd">            :user_program_arguments: arguments that the user program takes in</span>
+<span class="sd">            :macros: macro values which were used in query</span>
+<span class="sd">        dbtapquerycmd:</span>
+<span class="sd">            :db_tap_id: data store ID of the target database, in Qubole.</span>
+<span class="sd">            :query: inline query statement</span>
+<span class="sd">            :macros: macro values which were used in query</span>
+<span class="sd">        dbexportcmd:</span>
+<span class="sd">            :mode: 1 (simple), 2 (advance)</span>
+<span class="sd">            :hive_table: Name of the hive table</span>
+<span class="sd">            :partition_spec: partition specification for Hive table.</span>
+<span class="sd">            :dbtap_id: data store ID of the target database, in Qubole.</span>
+<span class="sd">            :db_table: name of the db table</span>
+<span class="sd">            :db_update_mode: allowinsert or updateonly</span>
+<span class="sd">            :db_update_keys: columns used to determine the uniqueness of rows</span>
+<span class="sd">            :export_dir: HDFS/S3 location from which data will be exported.</span>
+<span class="sd">            :fields_terminated_by: hex of the char used as column separator in the dataset.</span>
+<span class="sd">        dbimportcmd:</span>
+<span class="sd">            :mode: 1 (simple), 2 (advance)</span>
+<span class="sd">            :hive_table: Name of the hive table</span>
+<span class="sd">            :dbtap_id: data store ID of the target database, in Qubole.</span>
+<span class="sd">            :db_table: name of the db table</span>
+<span class="sd">            :where_clause: where clause, if any</span>
+<span class="sd">            :parallelism: number of parallel db connections to use for extracting data</span>
+<span class="sd">            :extract_query: SQL query to extract data from db. $CONDITIONS must be part of the where clause.</span>
+<span class="sd">            :boundary_query: Query to be used get range of row IDs to be extracted</span>
+<span class="sd">            :split_column: Column used as row ID to split data into ranges (mode 2)</span>
+
+<span class="sd">    .. note:: Following fields are template-supported : ``query``, ``script_location``, ``sub_command``, ``script``, ``files``,</span>
+<span class="sd">        ``archives``, ``program``, ``cmdline``, ``sql``, ``where_clause``, ``extract_query``, ``boundary_query``, ``macros``, ``tags``,</span>
+<span class="sd">        ``name``, ``parameters``. You can also use ``.txt`` files for template driven use cases.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;sub_command&#39;</span><span class="p">,</span> <span class="s1">&#39;script&#39;</span><span class="p">,</span> <span class="s1">&#39;files&#39;</span><span class="p">,</span> <span class="s1">&#39;archives&#39;</span><span class="p">,</sp [...]
+                       <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;where_clause&#39;</span><span class="p">,</span> <span class="s1">&#39;extract_query&#39;</span><span class="p">,</span> <span class="s1">&#39;boundary_query&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">,</span>  [...]
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.txt&#39;</span><span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#3064A1&#39;</span>
+    <span class="n">ui_fgcolor</span> <span class="o">=</span> <span class="s1">&#39;#fff&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">qubole_conn_id</span><span class="o">=</span><span class="s2">&quot;qubole_default&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">args</span> <span class="o">=</span> <span class="n">args</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;qubole_conn_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">qubole_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">QuboleHook</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">QuboleOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="c1"># Reinitiating the hook, as some template fields might have changed</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">QuboleHook</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">kill</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_results</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">fp</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">inline</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">delim</span><span class [...]
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">get_results</span><span class="p">(</span><span class="n">ti</span><span class="p">,</span> <span class="n">fp</span><span class="p">,</span> <span class="n">inline</span><span class="p">,</span> <span class="n">delim</span><span class="p">,</span> <span class="n">fetch</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">get_log</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_jobs_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">get_jobs_id</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__getattribute__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">QuboleOperator</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="nb">object</span><span class="o">.</span><span class="n">__getattribute__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__setattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">QuboleOperator</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="nb">object</span><span class="o">.</span><span class="n">__setattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span></div>
+
+
+
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_sources/code.txt b/_sources/code.txt
index 8a48b81..2876876 100644
--- a/_sources/code.txt
+++ b/_sources/code.txt
@@ -90,13 +90,13 @@ Community-contributed Operators
 .. automodule:: airflow.contrib.operators
     :show-inheritance:
     :members:
-        BigQueryOperator,
-        BigQueryToCloudStorageOperator,
-        GoogleCloudStorageDownloadOperator,
         SSHExecuteOperator,
         VerticaOperator,
         VerticaToHiveTransfer
 
+.. autoclass:: airflow.contrib.operators.bigquery_operator.BigQueryOperator
+.. autoclass:: airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
+.. autoclass:: airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator
 .. autoclass:: airflow.contrib.operators.QuboleOperator
 .. autoclass:: airflow.contrib.operators.hipchat_operator.HipChatAPIOperator
 .. autoclass:: airflow.contrib.operators.hipchat_operator.HipChatAPISendRoomNotificationOperator
@@ -226,6 +226,8 @@ Community contributed hooks
         SSHHook,
         CloudantHook
 
+.. autoclass:: airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook
+
 Executors
 ---------
 Executors are the mechanism by which task instances get run.
@@ -237,7 +239,4 @@ Executors are the mechanism by which task instances get run.
 Community-contributed executors
 '''''''''''''''''''''''''''''''
 
-.. automodule:: airflow.contrib.executors
-    :show-inheritance:
-    :members:
-        MesosExecutor
+.. autoclass:: airflow.contrib.executors.mesos_executor.MesosExecutor
diff --git a/_sources/concepts.txt b/_sources/concepts.txt
index 6e15ff8..811130d 100644
--- a/_sources/concepts.txt
+++ b/_sources/concepts.txt
@@ -664,6 +664,7 @@ configuration files, it allows you to expose the configuration that led
 to the related tasks in Airflow.
 
 .. code:: python
+
     """
     ### My great DAG
     """
diff --git a/_sources/index.txt b/_sources/index.txt
index 70f9355..c98d619 100644
--- a/_sources/index.txt
+++ b/_sources/index.txt
@@ -5,7 +5,19 @@
     :width: 150
 
 Apache Airflow (incubating) Documentation
-================================
+=========================================
+
+.. note ::
+
+    Apache Airflow is an effort undergoing incubation at The Apache
+    Software Foundation (ASF), sponsored by Chris Riccomini.
+    Incubation is required of all newly accepted projects until a further
+    review indicates that the infrastructure, communications, and
+    decision making process have stabilized in a manner consistent with
+    other successful ASF projects. While incubation status is not
+    necessarily a reflection of the completeness or stability of
+    the code, it does indicate that the project has yet to be fully
+    endorsed by the ASF.
 
 Airflow is a platform to programmatically author, schedule and monitor
 workflows.
@@ -20,7 +32,6 @@ monitor progress, and troubleshoot issues when needed.
 When workflows are defined as code, they become more maintainable,
 versionable, testable, and collaborative.
 
-------------
 
 
 .. image:: img/airflow.gif
diff --git a/cli.html b/cli.html
index c19ab2f..e8785c4 100644
--- a/cli.html
+++ b/cli.html
@@ -143,7 +143,7 @@
 many types of operation on a DAG, starting services, and supporting
 development and testing.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span>
-               <span class="p">{</span><span class="n">resetdb</span><span class="p">,</span><span class="n">render</span><span class="p">,</span><span class="n">variables</span><span class="p">,</span><span class="n">pause</span><span class="p">,</span><span class="n">version</span><span class="p">,</span><span class="n">initdb</span><span class="p">,</span><span class="n">test</span><span class="p">,</span><span class="n">unpause</span><span class="p">,</span><span class="n">run</span> [...]
+               <span class="p">{</span><span class="n">resetdb</span><span class="p">,</span><span class="n">render</span><span class="p">,</span><span class="n">variables</span><span class="p">,</span><span class="n">pause</span><span class="p">,</span><span class="n">version</span><span class="p">,</span><span class="n">initdb</span><span class="p">,</span><span class="n">test</span><span class="p">,</span><span class="n">unpause</span><span class="p">,</span><span class="n">dag_state< [...]
                <span class="o">...</span>
 </pre></div>
 </div>
@@ -330,7 +330,7 @@ development and testing.</p>
 </dl>
 </dd>
 <dt><strong>unpause</strong></dt>
-<dd><p class="first">Pause a DAG</p>
+<dd><p class="first">Resume a paused DAG</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">unpause</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="n">dag_id</span>
 </pre></div>
 </div>
@@ -360,6 +360,40 @@ development and testing.</p>
 </dd>
 </dl>
 </dd>
+<dt><strong>dag_state</strong></dt>
+<dd><p class="first">Get the status of a dag run</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">dag_state</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="n">dag_id</span> <span class="n">execution_date</span>
+</pre></div>
+</div>
+<dl class="last docutils">
+<dt>Positional arguments:</dt>
+<dd><table class="first last docutils option-list" frame="void" rules="none">
+<col class="option" />
+<col class="description" />
+<tbody valign="top">
+<tr><td class="option-group">
+<kbd>dag_id</kbd></td>
+<td>The id of the dag</td></tr>
+<tr><td class="option-group">
+<kbd>execution_date</kbd></td>
+<td>The execution date of the DAG</td></tr>
+</tbody>
+</table>
+</dd>
+<dt>Options:</dt>
+<dd><table class="first last docutils option-list" frame="void" rules="none">
+<col class="option" />
+<col class="description" />
+<tbody valign="top">
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-sd=/Users/maxime_beauchemin/dags</span>, <span class="option">--subdir=/Users/maxime_beauchemin/dags</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>File location or directory from which to look for the dag</td></tr>
+</tbody>
+</table>
+</dd>
+</dl>
+</dd>
 <dt><strong>run</strong></dt>
 <dd><p class="first">Run a single task instance</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">run</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">m</span><span class= [...]
@@ -401,7 +435,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-f=False</span>, <span class="option">--force=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Force a run regardless or previous success</td></tr>
+<tr><td>&nbsp;</td><td>Force a run regardless of previous success</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--pool</span></kbd></td>
 <td>Resource pool to use</td></tr>
@@ -542,7 +576,7 @@ development and testing.</p>
 </dd>
 <dt><strong>list_dags</strong></dt>
 <dd><p class="first">List all the DAGs</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">list_dags</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">list_dags</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">r</span><span  [...]
 </pre></div>
 </div>
 <dl class="last docutils">
@@ -555,6 +589,10 @@ development and testing.</p>
 <kbd><span class="option">-sd=/Users/maxime_beauchemin/dags</span>, <span class="option">--subdir=/Users/maxime_beauchemin/dags</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>File location or directory from which to look for the dag</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-r=False</span>, <span class="option">--report=False</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Show DagBag loading report</td></tr>
 </tbody>
 </table>
 </dd>
@@ -594,7 +632,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-D=False</span>, <span class="option">--daemon=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Daemonize instead of running on the foreground</td></tr>
+<tr><td>&nbsp;</td><td>Daemonize instead of running in the foreground</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stdout</span></kbd></td>
 <td>Redirect stdout to this file</td></tr>
@@ -639,7 +677,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-D=False</span>, <span class="option">--daemon=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Daemonize instead of running on the foreground</td></tr>
+<tr><td>&nbsp;</td><td>Daemonize instead of running in the foreground</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stdout</span></kbd></td>
 <td>Redirect stdout to this file</td></tr>
@@ -659,7 +697,8 @@ development and testing.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">webserver</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">p</span> <span class="n">PORT</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">w</span> <span cl [...]
                          <span class="p">[</span><span class="o">-</span><span class="n">k</span> <span class="p">{</span><span class="n">sync</span><span class="p">,</span><span class="n">eventlet</span><span class="p">,</span><span class="n">gevent</span><span class="p">,</span><span class="n">tornado</span><span class="p">}]</span>
                          <span class="p">[</span><span class="o">-</span><span class="n">t</span> <span class="n">WORKER_TIMEOUT</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">hn</span> <span class="n">HOSTNAME</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">pid</span> <span class="p">[</span><span class="n">PID</span><span class="p">]]</span> <span class="p">[</span><span class="o">-</span><s [...]
-                         <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
+                         <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span>
+                         <span class="p">[</span><span class="o">-</span><span class="n">A</span> <span class="n">ACCESS_LOGFILE</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">E</span> <span class="n">ERROR_LOGFILE</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
                          <span class="p">[</span><span class="o">-</span><span class="n">d</span><span class="p">]</span>
 </pre></div>
 </div>
@@ -680,7 +719,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-k=sync</span>, <span class="option">--workerclass=sync</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td><p class="first">The worker class to use for gunicorn</p>
+<tr><td>&nbsp;</td><td><p class="first">The worker class to use for Gunicorn</p>
 <p class="last">Possible choices: sync, eventlet, gevent, tornado</p>
 </td></tr>
 <tr><td class="option-group" colspan="2">
@@ -697,13 +736,21 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-D=False</span>, <span class="option">--daemon=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Daemonize instead of running on the foreground</td></tr>
+<tr><td>&nbsp;</td><td>Daemonize instead of running in the foreground</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stdout</span></kbd></td>
 <td>Redirect stdout to this file</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stderr</span></kbd></td>
 <td>Redirect stderr to this file</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-A</span>, <span class="option">--access_logfile</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>The logfile to store the webserver access log. Use &#8216;-&#8216; to print to stderr.</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-E</span>, <span class="option">--error_logfile</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>The logfile to store the webserver error log. Use &#8216;-&#8216; to print to stderr.</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">-l</span>, <span class="option">--log-file</span></kbd></td>
 <td>Location of the log file</td></tr>
@@ -742,7 +789,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-D=False</span>, <span class="option">--daemon=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Daemonize instead of running on the foreground</td></tr>
+<tr><td>&nbsp;</td><td>Daemonize instead of running in the foreground</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stdout</span></kbd></td>
 <td>Redirect stdout to this file</td></tr>
@@ -758,7 +805,7 @@ development and testing.</p>
 </dl>
 </dd>
 <dt><strong>scheduler</strong></dt>
-<dd><p class="first">Start a scheduler scheduler instance</p>
+<dd><p class="first">Start a scheduler instance</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">scheduler</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">d</span> <span class="n">DAG_ID</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span [...]
                          <span class="p">[</span><span class="o">--</span><span class="n">pid</span> <span class="p">[</span><span class="n">PID</span><span class="p">]]</span> <span class="p">[</span><span class="o">-</span><span class="n">D</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span>
                          <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
@@ -790,7 +837,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-D=False</span>, <span class="option">--daemon=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Daemonize instead of running on the foreground</td></tr>
+<tr><td>&nbsp;</td><td>Daemonize instead of running in the foreground</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">--stdout</span></kbd></td>
 <td>Redirect stdout to this file</td></tr>
@@ -870,10 +917,10 @@ development and testing.</p>
 <tr><td>&nbsp;</td><td>File location or directory from which to look for the dag</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">-r</span>, <span class="option">--run_id</span></kbd></td>
-<td>Helps to indentify this run</td></tr>
+<td>Helps to identify this run</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">-c</span>, <span class="option">--conf</span></kbd></td>
-<td>json string that gets pickled into the DagRun&#8217;s conf attribute</td></tr>
+<td>JSON string that gets pickled into the DagRun&#8217;s conf attribute</td></tr>
 </tbody>
 </table>
 </dd>
@@ -890,7 +937,7 @@ development and testing.</p>
 <dt><strong>clear</strong></dt>
 <dd><p class="first">Clear a set of task instance, as if they never ran</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">clear</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">t</span> <span class="n">TASK_REGEX</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">s</span> <span  [...]
-                     <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">u</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">d</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">c</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><spa [...]
+                     <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">u</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">d</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">c</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><spa [...]
                      <span class="n">dag_id</span>
 </pre></div>
 </div>
@@ -946,13 +993,17 @@ development and testing.</p>
 <kbd><span class="option">-r=False</span>, <span class="option">--only_running=False</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>Only running jobs</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-x=False</span>, <span class="option">--exclude_subdags=False</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Exclude subdags</td></tr>
 </tbody>
 </table>
 </dd>
 </dl>
 </dd>
 <dt><strong>upgradedb</strong></dt>
-<dd><p class="first">Upgrade metadata database to latest version</p>
+<dd><p class="first">Upgrade the metadata database to latest version</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">upgradedb</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span>
 </pre></div>
 </div>
diff --git a/code.html b/code.html
index 3bb26b1..06a0aab 100644
--- a/code.html
+++ b/code.html
@@ -96,7 +96,7 @@
 <li class="toctree-l3"><a class="reference internal" href="#baseoperator">BaseOperator</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#basesensoroperator">BaseSensorOperator</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#module-airflow.operators">Operator API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#community-contributed-operators">Community-contributed Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-airflow.contrib.operators">Community-contributed Operators</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="#macros">Macros</a><ul>
@@ -106,7 +106,7 @@
 </li>
 <li class="toctree-l2"><a class="reference internal" href="#models">Models</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#module-airflow.hooks">Hooks</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#community-contributed-hooks">Community contributed hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#module-airflow.contrib.hooks">Community contributed hooks</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="#executors">Executors</a><ul>
@@ -1186,9 +1186,9 @@ The default is False.</li>
 </dd></dl>
 
 </div>
-<div class="section" id="community-contributed-operators">
-<h3>Community-contributed Operators<a class="headerlink" href="#community-contributed-operators" title="Permalink to this headline">¶</a></h3>
-<span class="target" id="module-airflow.contrib.operators"></span><dl class="class">
+<div class="section" id="module-airflow.contrib.operators">
+<span id="community-contributed-operators"></span><h3>Community-contributed Operators<a class="headerlink" href="#module-airflow.contrib.operators" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
 <dt id="airflow.contrib.operators.SSHExecuteOperator">
 <em class="property">class </em><code class="descclassname">airflow.contrib.operators.</code><code class="descname">SSHExecuteOperator</code><span class="sig-paren">(</span><em>ssh_hook</em>, <em>bash_command</em>, <em>xcom_push=False</em>, <em>env=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ssh_execute_operator.html#SSHExecuteOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="# [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.models.BaseOperator" title="airflow.models.BaseOperator"><code class="xref py py-class docutils literal"><span class="pre">airflow.models.BaseOperator</span></code></a></p>
@@ -1273,6 +1273,236 @@ specific database</li>
 </dd></dl>
 
 <dl class="class">
+<dt id="airflow.contrib.operators.bigquery_operator.BigQueryOperator">
+<em class="property">class </em><code class="descclassname">airflow.contrib.operators.bigquery_operator.</code><code class="descname">BigQueryOperator</code><span class="sig-paren">(</span><em>bql</em>, <em>destination_dataset_table=False</em>, <em>write_disposition='WRITE_EMPTY'</em>, <em>allow_large_results=False</em>, <em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em>, <em>udf_config=False</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a c [...]
+<dd><p>Executes BigQuery SQL queries in a specific BigQuery database</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">
+<em class="property">class </em><code class="descclassname">airflow.contrib.operators.bigquery_to_gcs.</code><code class="descname">BigQueryToCloudStorageOperator</code><span class="sig-paren">(</span><em>source_project_dataset_table</em>, <em>destination_cloud_storage_uris</em>, <em>compression='NONE'</em>, <em>export_format='CSV'</em>, <em>field_delimiter='</em>, <em>'</em>, <em>print_header=True</em>, <em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em>, <em>*args</ [...]
+<dd><p>Transfers a BigQuery table to a Google Cloud Storage bucket.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">
+<em class="property">class </em><code class="descclassname">airflow.contrib.operators.gcs_download_operator.</code><code class="descname">GoogleCloudStorageDownloadOperator</code><span class="sig-paren">(</span><em>bucket</em>, <em>object</em>, <em>filename</em>, <em>google_cloud_storage_conn_id='google_cloud_storage_default'</em>, <em>delegate_to=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/contrib/opera [...]
+<dd><p>Downloads a file from Google Cloud Storage.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.operators.QuboleOperator">
+<em class="property">class </em><code class="descclassname">airflow.contrib.operators.</code><code class="descname">QuboleOperator</code><span class="sig-paren">(</span><em>qubole_conn_id='qubole_default'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/qubole_operator.html#QuboleOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.operators.QuboleOperator" title="Permalink [...]
+<dd><p>Execute tasks (commands) on QDS (<a class="reference external" href="https://qubole.com">https://qubole.com</a>).</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>qubole_conn_id</strong> (<em>str</em>) &#8211; Connection id which consists of qds auth_token</td>
+</tr>
+</tbody>
+</table>
+<dl class="docutils">
+<dt>kwargs:</dt>
+<dd><table class="first docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">command_type:</th><td class="field-body">type of command to be executed, e.g. hivecmd, shellcmd, hadoopcmd</td>
+</tr>
+<tr class="field-even field"><th class="field-name">tags:</th><td class="field-body">array of tags to be assigned with the command</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">cluster_label:</th><td class="field-body">cluster label on which the command will be executed</td>
+</tr>
+<tr class="field-even field"><th class="field-name">name:</th><td class="field-body">name to be given to command</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Arguments specific to command types</strong></p>
+<dl class="last docutils">
+<dt>hivecmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">query:</th><td class="field-body">inline query statement</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">script_location:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">s3 location containing query statement</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">sample_size:</th><td class="field-body">size of sample in bytes on which to run query</td>
+</tr>
+<tr class="field-even field"><th class="field-name">macros:</th><td class="field-body">macro values which were used in query</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>prestocmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">query:</th><td class="field-body">inline query statement</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">script_location:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">s3 location containing query statement</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">macros:</th><td class="field-body">macro values which were used in query</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>hadoopcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">sub_commnad:</th><td class="field-body">must be one these [&#8220;jar&#8221;, &#8220;s3distcp&#8221;, &#8220;streaming&#8221;] followed by 1 or more args</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>shellcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">script:</th><td class="field-body">inline command with args</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">script_location:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">s3 location containing query statement</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">files:</th><td class="field-body">list of files in s3 bucket as file1,file2 format. These files will be copied into the working directory where the qubole command is being executed.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">archives:</th><td class="field-body">list of archives in s3 bucket as archive1,archive2 format. These will be unarchived intothe working directory where the qubole command is being executed</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">parameters:</th><td class="field-body">any extra args which need to be passed to script (only when script_location is supplied)</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>pigcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">script:</th><td class="field-body">inline query statement (latin_statements)</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">script_location:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">s3 location containing pig query</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">parameters:</th><td class="field-body">any extra args which need to be passed to script (only when script_location is supplied</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>sparkcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">program:</th><td class="field-body">the complete Spark Program in Scala, SQL, Command, R, or Python</td>
+</tr>
+<tr class="field-even field"><th class="field-name">cmdline:</th><td class="field-body">spark-submit command line, all required information must be specify in cmdline itself.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">sql:</th><td class="field-body">inline sql query</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">script_location:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">s3 location containing query statement</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">language:</th><td class="field-body">language of the program, Scala, SQL, Command, R, or Python</td>
+</tr>
+<tr class="field-even field"><th class="field-name">app_id:</th><td class="field-body">ID of an Spark job server app</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">arguments:</th><td class="field-body">spark-submit command line arguments</td>
+</tr>
+<tr class="field-even field"><th class="field-name" colspan="2">user_program_arguments:</th></tr>
+<tr class="field-even field"><td>&nbsp;</td><td class="field-body">arguments that the user program takes in</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">macros:</th><td class="field-body">macro values which were used in query</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>dbtapquerycmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">db_tap_id:</th><td class="field-body">data store ID of the target database, in Qubole.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">query:</th><td class="field-body">inline query statement</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">macros:</th><td class="field-body">macro values which were used in query</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>dbexportcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">mode:</th><td class="field-body">1 (simple), 2 (advance)</td>
+</tr>
+<tr class="field-even field"><th class="field-name">hive_table:</th><td class="field-body">Name of the hive table</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">partition_spec:</th><td class="field-body">partition specification for Hive table.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">dbtap_id:</th><td class="field-body">data store ID of the target database, in Qubole.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">db_table:</th><td class="field-body">name of the db table</td>
+</tr>
+<tr class="field-even field"><th class="field-name">db_update_mode:</th><td class="field-body">allowinsert or updateonly</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">db_update_keys:</th><td class="field-body">columns used to determine the uniqueness of rows</td>
+</tr>
+<tr class="field-even field"><th class="field-name">export_dir:</th><td class="field-body">HDFS/S3 location from which data will be exported.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">fields_terminated_by:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">hex of the char used as column separator in the dataset.</td>
+</tr>
+</tbody>
+</table>
+</dd>
+<dt>dbimportcmd:</dt>
+<dd><table class="first last docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">mode:</th><td class="field-body">1 (simple), 2 (advance)</td>
+</tr>
+<tr class="field-even field"><th class="field-name">hive_table:</th><td class="field-body">Name of the hive table</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">dbtap_id:</th><td class="field-body">data store ID of the target database, in Qubole.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">db_table:</th><td class="field-body">name of the db table</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">where_clause:</th><td class="field-body">where clause, if any</td>
+</tr>
+<tr class="field-even field"><th class="field-name">parallelism:</th><td class="field-body">number of parallel db connections to use for extracting data</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">extract_query:</th><td class="field-body">SQL query to extract data from db. $CONDITIONS must be part of the where clause.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">boundary_query:</th><td class="field-body">Query to be used get range of row IDs to be extracted</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">split_column:</th><td class="field-body">Column used as row ID to split data into ranges (mode 2)</td>
+</tr>
+</tbody>
+</table>
+</dd>
+</dl>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Following fields are template-supported : <code class="docutils literal"><span class="pre">query</span></code>, <code class="docutils literal"><span class="pre">script_location</span></code>, <code class="docutils literal"><span class="pre">sub_command</span></code>, <code class="docutils literal"><span class="pre">script</span></code>, <code class="docutils literal"><span class="pre">files</span></code>,
+<code class="docutils literal"><span class="pre">archives</span></code>, <code class="docutils literal"><span class="pre">program</span></code>, <code class="docutils literal"><span class="pre">cmdline</span></code>, <code class="docutils literal"><span class="pre">sql</span></code>, <code class="docutils literal"><span class="pre">where_clause</span></code>, <code class="docutils literal"><span class="pre">extract_query</span></code>, <code class="docutils literal"><span class="pre">bou [...]
+<code class="docutils literal"><span class="pre">name</span></code>, <code class="docutils literal"><span class="pre">parameters</span></code>. You can also use <code class="docutils literal"><span class="pre">.txt</span></code> files for template driven use cases.</p>
+</div>
+</dd></dl>
+
+<dl class="class">
 <dt id="airflow.contrib.operators.hipchat_operator.HipChatAPIOperator">
 <em class="property">class </em><code class="descclassname">airflow.contrib.operators.hipchat_operator.</code><code class="descname">HipChatAPIOperator</code><span class="sig-paren">(</span><em>token</em>, <em>base_url='https://api.hipchat.com/v2'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/contrib/operators/hipchat_operator.html#HipChatAPIOperator"><span class="viewcode-link">[source]</span></a><a class="hea [...]
 <dd><p>Base HipChat Operator.
@@ -2223,12 +2453,12 @@ to be retried.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>lock_for_update</strong> &#8211; if True, indicates that the database should</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>lock_for_update</strong> &#8211; if True, indicates that the database should
+lock the TaskInstance (issuing a FOR UPDATE clause) until the
+session is committed.</td>
 </tr>
 </tbody>
 </table>
-<p>lock the TaskInstance (issuing a FOR UPDATE clause) until the session
-is committed.</p>
 </dd></dl>
 
 <dl class="method">
@@ -3145,9 +3375,108 @@ directory, files will be uploaded inside.</li>
 
 </dd></dl>
 
-<div class="section" id="community-contributed-hooks">
-<h3>Community contributed hooks<a class="headerlink" href="#community-contributed-hooks" title="Permalink to this headline">¶</a></h3>
-<span class="target" id="module-airflow.contrib.hooks"></span><dl class="class">
+<div class="section" id="module-airflow.contrib.hooks">
+<span id="community-contributed-hooks"></span><h3>Community contributed hooks<a class="headerlink" href="#module-airflow.contrib.hooks" title="Permalink to this headline">¶</a></h3>
+<dl class="class">
+<dt id="airflow.contrib.hooks.BigQueryHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.</code><code class="descname">BigQueryHook</code><span class="sig-paren">(</span><em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook" title="Permalink to this definition" [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook</span></code>, <code class="xref py py-class docutils literal"><span class="pre">airflow.hooks.dbapi_hook.DbApiHook</span></code></p>
+<p>Interact with BigQuery. This hook uses the Google Cloud Platform
+connection.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.BigQueryHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery PEP 249 connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.BigQueryHook.get_pandas_df">
+<code class="descname">get_pandas_df</code><span class="sig-paren">(</span><em>bql</em>, <em>parameters=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook.get_pandas_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook.get_pandas_df" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a Pandas DataFrame for the results produced by a BigQuery
+query. The DbApiHook method must be overridden because Pandas
+doesn&#8217;t support PEP 249 connections, except for SQLite. See:</p>
+<p><a class="reference external" href="https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447">https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</a>
+<a class="reference external" href="https://github.com/pydata/pandas/issues/6900">https://github.com/pydata/pandas/issues/6900</a></p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>bql</strong> (<em>string</em>) &#8211; The BigQuery SQL to execute.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.BigQueryHook.get_service">
+<code class="descname">get_service</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook.get_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook.get_service" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery service object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.BigQueryHook.insert_rows">
+<code class="descname">insert_rows</code><span class="sig-paren">(</span><em>table</em>, <em>rows</em>, <em>target_fields=None</em>, <em>commit_every=1000</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook.insert_rows"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook.insert_rows" title="Permalink to this definition">¶</a></dt>
+<dd><p>Insertion is currently unsupported. Theoretically, you could use
+BigQuery&#8217;s streaming API to insert rows into a table, but this hasn&#8217;t
+been implemented.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.GoogleCloudStorageHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.</code><code class="descname">GoogleCloudStorageHook</code><span class="sig-paren">(</span><em>google_cloud_storage_conn_id='google_cloud_storage_default'</em>, <em>delegate_to=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/gcs_hook.html#GoogleCloudStorageHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.GoogleCloud [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook</span></code></p>
+<p>Interact with Google Cloud Storage. This hook uses the Google Cloud Platform
+connection.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.GoogleCloudStorageHook.download">
+<code class="descname">download</code><span class="sig-paren">(</span><em>bucket</em>, <em>object</em>, <em>filename=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/gcs_hook.html#GoogleCloudStorageHook.download"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.GoogleCloudStorageHook.download" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get a file from Google Cloud Storage.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>bucket</strong> (<em>string</em>) &#8211; The bucket to fetch from.</li>
+<li><strong>object</strong> (<em>string</em>) &#8211; The object to fetch.</li>
+<li><strong>filename</strong> (<em>string</em>) &#8211; If set, a local file path where the file should be written to.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.GoogleCloudStorageHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/gcs_hook.html#GoogleCloudStorageHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.GoogleCloudStorageHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a Google Cloud Storage service object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.GoogleCloudStorageHook.upload">
+<code class="descname">upload</code><span class="sig-paren">(</span><em>bucket</em>, <em>object</em>, <em>filename</em>, <em>mime_type='application/octet-stream'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/gcs_hook.html#GoogleCloudStorageHook.upload"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.GoogleCloudStorageHook.upload" title="Permalink to this definition">¶</a></dt>
+<dd><p>Uploads a local file to Google Cloud Storage.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>bucket</strong> (<em>string</em>) &#8211; The bucket to upload to.</li>
+<li><strong>object</strong> (<em>string</em>) &#8211; The object name to set when uploading the local file.</li>
+<li><strong>filename</strong> (<em>string</em>) &#8211; The local file path to the file to be uploaded.</li>
+<li><strong>mime_type</strong> (<em>string</em>) &#8211; The MIME type to set when uploading the file.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
 <dt id="airflow.contrib.hooks.VerticaHook">
 <em class="property">class </em><code class="descclassname">airflow.contrib.hooks.</code><code class="descname">VerticaHook</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/vertica_hook.html#VerticaHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.VerticaHook" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.hooks.dbapi_hook.DbApiHook</span></code></p>
@@ -3406,6 +3735,13 @@ documentation <a class="reference external" href="https://github.com/cloudant-la
 
 </dd></dl>
 
+<dl class="class">
+<dt id="airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.gcs_hook.</code><code class="descname">GoogleCloudStorageHook</code><span class="sig-paren">(</span><em>google_cloud_storage_conn_id='google_cloud_storage_default'</em>, <em>delegate_to=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/contrib/hooks/gcs_hook.html#GoogleCloudStorageHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ai [...]
+<dd><p>Interact with Google Cloud Storage. This hook uses the Google Cloud Platform
+connection.</p>
+</dd></dl>
+
 </div>
 </div>
 <div class="section" id="executors">
@@ -3444,7 +3780,19 @@ SequentialExecutor alongside sqlite as you first install it.</p>
 
 <div class="section" id="community-contributed-executors">
 <h3>Community-contributed executors<a class="headerlink" href="#community-contributed-executors" title="Permalink to this headline">¶</a></h3>
-<span class="target" id="module-airflow.contrib.executors"></span></div>
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">MesosExecutor</code><span class="sig-paren">(</span><em>parallelism=16</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor" title="Permalink [...]
+<dd><p>MesosExecutor allows distributing the execution of task
+instances to multiple mesos workers.</p>
+<p>Apache Mesos is a distributed systems kernel which abstracts
+CPU, memory, storage, and other compute resources away from
+machines (physical or virtual), enabling fault-tolerant and
+elastic distributed systems to easily be built and run effectively.
+See <a class="reference external" href="http://mesos.apache.org/">http://mesos.apache.org/</a></p>
+</dd></dl>
+
+</div>
 </div>
 </div>
 
diff --git a/concepts.html b/concepts.html
index 5fda645..b41766f 100644
--- a/concepts.html
+++ b/concepts.html
@@ -748,6 +748,20 @@ content if defined:</p>
 <p>This is especially useful if your tasks are built dynamically from
 configuration files, it allows you to expose the configuration that led
 to the related tasks in Airflow.</p>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">### My great DAG</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;my_dag&#39;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">)</span>
+<span class="n">dag</span><span class="o">.</span><span class="n">doc_md</span> <span class="o">=</span> <span class="n">__doc__</span>
+
+<span class="n">t</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span><span class="s2">&quot;foo&quot;</span><span class="p">,</span> <span class="n">dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
+<span class="n">t</span><span class="o">.</span><span class="n">doc_md</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span><span class="se">\</span>
+<span class="s2">#Title&quot;</span>
+<span class="s2">Here&#39;s a [url](www.airbnb.com)</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
 <p>This content will get rendered as markdown respectively in the &#8220;Graph View&#8221; and
 &#8220;Task Details&#8221; pages.</p>
 </div>
diff --git a/genindex.html b/genindex.html
index 05f8c42..ecba6b9 100644
--- a/genindex.html
+++ b/genindex.html
@@ -152,6 +152,7 @@
  | <a href="#M"><strong>M</strong></a>
  | <a href="#O"><strong>O</strong></a>
  | <a href="#P"><strong>P</strong></a>
+ | <a href="#Q"><strong>Q</strong></a>
  | <a href="#R"><strong>R</strong></a>
  | <a href="#S"><strong>S</strong></a>
  | <a href="#T"><strong>T</strong></a>
@@ -173,10 +174,6 @@
   </dt>
 
       
-  <dt><a href="code.html#module-airflow.contrib.executors">airflow.contrib.executors (module)</a>
-  </dt>
-
-      
   <dt><a href="code.html#module-airflow.contrib.hooks">airflow.contrib.hooks (module)</a>
   </dt>
 
@@ -240,9 +237,21 @@
   <dt><a href="code.html#airflow.operators.BashOperator">BashOperator (class in airflow.operators)</a>
   </dt>
 
+      
+  <dt><a href="code.html#airflow.contrib.hooks.BigQueryHook">BigQueryHook (class in airflow.contrib.hooks)</a>
+  </dt>
+
   </dl></td>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">BigQueryOperator (class in airflow.contrib.operators.bigquery_operator)</a>
+  </dt>
+
+      
+  <dt><a href="code.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">BigQueryToCloudStorageOperator (class in airflow.contrib.operators.bigquery_to_gcs)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.operators.BranchPythonOperator">BranchPythonOperator (class in airflow.operators)</a>
   </dt>
 
@@ -402,12 +411,12 @@
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.delete_file">delete_file() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.describe_directory">describe_directory() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.models.BaseOperator.detect_downstream_cycle">detect_downstream_cycle() (airflow.models.BaseOperator method)</a>
   </dt>
@@ -417,6 +426,10 @@
   </dt>
 
       
+  <dt><a href="code.html#airflow.contrib.hooks.GoogleCloudStorageHook.download">download() (airflow.contrib.hooks.GoogleCloudStorageHook method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.models.BaseOperator.downstream_list">downstream_list (airflow.models.BaseOperator attribute)</a>
   </dt>
 
@@ -513,11 +526,19 @@
   </dt>
 
       
-  <dt><a href="code.html#airflow.contrib.hooks.FTPHook.get_conn">get_conn() (airflow.contrib.hooks.FTPHook method)</a>
+  <dt><a href="code.html#airflow.contrib.hooks.BigQueryHook.get_conn">get_conn() (airflow.contrib.hooks.BigQueryHook method)</a>
   </dt>
 
       <dd><dl>
         
+  <dt><a href="code.html#airflow.contrib.hooks.FTPHook.get_conn">(airflow.contrib.hooks.FTPHook method)</a>
+  </dt>
+
+        
+  <dt><a href="code.html#airflow.contrib.hooks.GoogleCloudStorageHook.get_conn">(airflow.contrib.hooks.GoogleCloudStorageHook method)</a>
+  </dt>
+
+        
   <dt><a href="code.html#airflow.contrib.hooks.VerticaHook.get_conn">(airflow.contrib.hooks.VerticaHook method)</a>
   </dt>
 
@@ -592,18 +613,22 @@
   <dt><a href="code.html#airflow.hooks.S3Hook.get_key">get_key() (airflow.hooks.S3Hook method)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.hooks.HiveMetastoreHook.get_metastore_client">get_metastore_client() (airflow.hooks.HiveMetastoreHook method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
-  <dt><a href="code.html#airflow.hooks.DbApiHook.get_pandas_df">get_pandas_df() (airflow.hooks.DbApiHook method)</a>
+  <dt><a href="code.html#airflow.contrib.hooks.BigQueryHook.get_pandas_df">get_pandas_df() (airflow.contrib.hooks.BigQueryHook method)</a>
   </dt>
 
       <dd><dl>
         
+  <dt><a href="code.html#airflow.hooks.DbApiHook.get_pandas_df">(airflow.hooks.DbApiHook method)</a>
+  </dt>
+
+        
   <dt><a href="code.html#airflow.hooks.HiveServer2Hook.get_pandas_df">(airflow.hooks.HiveServer2Hook method)</a>
   </dt>
 
@@ -631,6 +656,10 @@
 
       </dl></dd>
       
+  <dt><a href="code.html#airflow.contrib.hooks.BigQueryHook.get_service">get_service() (airflow.contrib.hooks.BigQueryHook method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.hooks.HiveMetastoreHook.get_table">get_table() (airflow.hooks.HiveMetastoreHook method)</a>
   </dt>
 
@@ -650,6 +679,20 @@
   <dt><a href="code.html#airflow.hooks.S3Hook.get_wildcard_key">get_wildcard_key() (airflow.hooks.S3Hook method)</a>
   </dt>
 
+      
+  <dt><a href="code.html#airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">GoogleCloudStorageDownloadOperator (class in airflow.contrib.operators.gcs_download_operator)</a>
+  </dt>
+
+      
+  <dt><a href="code.html#airflow.contrib.hooks.GoogleCloudStorageHook">GoogleCloudStorageHook (class in airflow.contrib.hooks)</a>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="code.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">(class in airflow.contrib.hooks.gcs_hook)</a>
+  </dt>
+
+      </dl></dd>
   </dl></td>
 </tr></table>
 
@@ -721,9 +764,15 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
       
-  <dt><a href="code.html#airflow.hooks.DbApiHook.insert_rows">insert_rows() (airflow.hooks.DbApiHook method)</a>
+  <dt><a href="code.html#airflow.contrib.hooks.BigQueryHook.insert_rows">insert_rows() (airflow.contrib.hooks.BigQueryHook method)</a>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="code.html#airflow.hooks.DbApiHook.insert_rows">(airflow.hooks.DbApiHook method)</a>
   </dt>
 
+      </dl></dd>
       
   <dt><a href="code.html#airflow.macros.integrate_plugins">integrate_plugins() (in module airflow.macros)</a>
   </dt>
@@ -829,6 +878,10 @@
 
       </dl></dd>
       
+  <dt><a href="code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">MesosExecutor (class in airflow.contrib.executors.mesos_executor)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.operators.MetastorePartitionSensor">MetastorePartitionSensor (class in airflow.operators)</a>
   </dt>
 
@@ -931,6 +984,16 @@
   </dl></td>
 </tr></table>
 
+<h2 id="Q">Q</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="code.html#airflow.contrib.operators.QuboleOperator">QuboleOperator (class in airflow.contrib.operators)</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
 <h2 id="R">R</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
@@ -1125,6 +1188,12 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="code.html#airflow.contrib.hooks.GoogleCloudStorageHook.upload">upload() (airflow.contrib.hooks.GoogleCloudStorageHook method)</a>
+  </dt>
+
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
+      
   <dt><a href="code.html#airflow.models.BaseOperator.upstream_list">upstream_list (airflow.models.BaseOperator attribute)</a>
   </dt>
 
diff --git a/index.html b/index.html
index 7d2271d..383bab0 100644
--- a/index.html
+++ b/index.html
@@ -140,6 +140,18 @@
 <a class="reference internal image-reference" href="_images/incubator.jpg"><img alt="_images/incubator.jpg" src="_images/incubator.jpg" style="width: 150px;" /></a>
 <div class="section" id="apache-airflow-incubating-documentation">
 <h1>Apache Airflow (incubating) Documentation<a class="headerlink" href="#apache-airflow-incubating-documentation" title="Permalink to this headline">¶</a></h1>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Apache Airflow is an effort undergoing incubation at The Apache
+Software Foundation (ASF), sponsored by Chris Riccomini.
+Incubation is required of all newly accepted projects until a further
+review indicates that the infrastructure, communications, and
+decision making process have stabilized in a manner consistent with
+other successful ASF projects. While incubation status is not
+necessarily a reflection of the completeness or stability of
+the code, it does indicate that the project has yet to be fully
+endorsed by the ASF.</p>
+</div>
 <p>Airflow is a platform to programmatically author, schedule and monitor
 workflows.</p>
 <p>Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks.
@@ -150,7 +162,6 @@ makes it easy to visualize pipelines running in production,
 monitor progress, and troubleshoot issues when needed.</p>
 <p>When workflows are defined as code, they become more maintainable,
 versionable, testable, and collaborative.</p>
-<hr class="docutils" />
 <img alt="_images/airflow.gif" src="_images/airflow.gif" />
 <hr class="docutils" />
 <div class="section" id="principles">
@@ -324,7 +335,7 @@ unit of work and continuity.</p>
 <li class="toctree-l3"><a class="reference internal" href="code.html#baseoperator">BaseOperator</a></li>
 <li class="toctree-l3"><a class="reference internal" href="code.html#basesensoroperator">BaseSensorOperator</a></li>
 <li class="toctree-l3"><a class="reference internal" href="code.html#module-airflow.operators">Operator API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="code.html#community-contributed-operators">Community-contributed Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="code.html#module-airflow.contrib.operators">Community-contributed Operators</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="code.html#macros">Macros</a><ul>
@@ -334,7 +345,7 @@ unit of work and continuity.</p>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="code.html#models">Models</a></li>
 <li class="toctree-l2"><a class="reference internal" href="code.html#module-airflow.hooks">Hooks</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="code.html#community-contributed-hooks">Community contributed hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="code.html#module-airflow.contrib.hooks">Community contributed hooks</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="code.html#executors">Executors</a><ul>
diff --git a/objects.inv b/objects.inv
index ea45f19..36f1543 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/py-modindex.html b/py-modindex.html
index 7392ccf..d377e08 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -156,11 +156,6 @@
      <tr class="cg-1">
        <td></td>
        <td>&nbsp;&nbsp;&nbsp;
-       <a href="code.html#module-airflow.contrib.executors"><code class="xref">airflow.contrib.executors</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&nbsp;&nbsp;&nbsp;
        <a href="code.html#module-airflow.contrib.hooks"><code class="xref">airflow.contrib.hooks</code></a></td><td>
        <em></em></td></tr>
      <tr class="cg-1">
diff --git a/searchindex.js b/searchindex.js
index 93399ef..901905a 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{executors:[1,0,0,"-"],hooks:[1,0,0,"-"],operators:[1,0,0,"-"]},"airflow.contrib.hooks":{CloudantHook:[1,1,1,""],FTPHook:[1,1,1,""],SSHHook:[1,1,1,""],VerticaHook:[1,1,1,""]},"airflow.contrib.hooks.CloudantHook":{db:[1,2,1,""]},"airflow.contrib.hooks.FTPHook":{clo [...]
\ No newline at end of file
+Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{hooks:[1,1,0,"-"],operators:[1,1,0,"-"]},"airflow.contrib.executors.mesos_executor":{MesosExecutor:[1,0,1,""]},"airflow.contrib.hooks":{BigQueryHook:[1,0,1,""],CloudantHook:[1,0,1,""],FTPHook:[1,0,1,""],GoogleCloudStorageHook:[1,0,1,""],SSHHook:[1,0,1,""],Vertica [...]
\ No newline at end of file


[airflow-site] 11/30: 1.10.0 with Updated Api Reference

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 7d4d76286979a981e36cc5466b2d45d2dd0e4ee2
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Wed Aug 29 21:24:05 2018 +0100

    1.10.0 with Updated Api Reference
---
 .../airflow/contrib/executors/mesos_executor.html  |  104 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   55 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |   61 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   52 +-
 .../contrib/hooks/azure_data_lake_hook.html        |  359 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  430 ++
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  166 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |  400 ++
 _modules/airflow/contrib/hooks/cloudant_hook.html  |  301 ++
 .../airflow/contrib/hooks/databricks_hook.html     |   60 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |   63 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |   88 +-
 .../contrib/hooks/discord_webhook_hook.html        |   49 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |   55 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |   53 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |   51 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  101 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |  435 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   52 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   65 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   50 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   52 +-
 _modules/airflow/contrib/hooks/gcs_hook.html       |   74 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   49 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |   56 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |  337 ++
 _modules/airflow/contrib/hooks/pinot_hook.html     |   57 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |   59 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |   49 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |   49 +-
 _modules/airflow/contrib/hooks/segment_hook.html   |  310 ++
 _modules/airflow/contrib/hooks/sftp_hook.html      |   49 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   49 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |  316 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   49 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   56 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |   52 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   70 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |   55 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |   53 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |   49 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |  355 ++
 _modules/airflow/contrib/kubernetes/secret.html    |   45 +-
 .../contrib/operators/awsbatch_operator.html       |   88 +-
 .../contrib/operators/bigquery_check_operator.html |   52 +-
 .../contrib/operators/bigquery_get_data.html       |   55 +-
 .../contrib/operators/bigquery_operator.html       |  121 +-
 .../operators/bigquery_table_delete_operator.html  |   51 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   56 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |   55 +-
 .../contrib/operators/cassandra_to_gcs.html        |  573 ++
 .../contrib/operators/databricks_operator.html     |   63 +-
 .../contrib/operators/dataflow_operator.html       |   49 +-
 .../contrib/operators/dataproc_operator.html       |  306 +-
 .../operators/datastore_export_operator.html       |   60 +-
 .../operators/datastore_import_operator.html       |   54 +-
 .../operators/discord_webhook_operator.html        |   53 +-
 .../{vertica_operator.html => druid_operator.html} |  116 +-
 .../airflow/contrib/operators/ecs_operator.html    |   78 +-
 .../contrib/operators/emr_add_steps_operator.html  |   53 +-
 .../operators/emr_create_job_flow_operator.html    |   55 +-
 .../operators/emr_terminate_job_flow_operator.html |   51 +-
 .../airflow/contrib/operators/file_to_gcs.html     |   59 +-
 .../airflow/contrib/operators/file_to_wasb.html    |   61 +-
 .../contrib/operators/gcp_container_operator.html  |  390 ++
 .../contrib/operators/gcs_download_operator.html   |   64 +-
 .../contrib/operators/gcs_list_operator.html       |   56 +-
 .../airflow/contrib/operators/gcs_operator.html    |   57 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   64 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |  150 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   58 +-
 .../contrib/operators/hipchat_operator.html        |   57 +-
 .../contrib/operators/hive_to_dynamodb.html        |  327 ++
 .../operators/jenkins_job_trigger_operator.html    |   51 +-
 .../airflow/contrib/operators/jira_operator.html   |   51 +-
 .../contrib/operators/kubernetes_pod_operator.html |  111 +-
 .../contrib/operators/mlengine_operator.html       |   94 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |  337 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   48 +-
 .../operators/postgres_to_gcs_operator.html        |   49 +-
 .../airflow/contrib/operators/pubsub_operator.html |   52 +-
 .../contrib/operators/qubole_check_operator.html   |  443 ++
 .../airflow/contrib/operators/qubole_operator.html |   51 +-
 .../contrib/operators/s3_list_operator.html        |   55 +-
 .../contrib/operators/s3_to_gcs_operator.html      |   53 +-
 ...ator.html => segment_track_event_operator.html} |  126 +-
 .../airflow/contrib/operators/sftp_operator.html   |   56 +-
 .../contrib/operators/slack_webhook_operator.html  |   49 +-
 ...rtica_operator.html => snowflake_operator.html} |   97 +-
 .../contrib/operators/spark_jdbc_operator.html     |   49 +-
 .../contrib/operators/spark_sql_operator.html      |   57 +-
 .../contrib/operators/spark_submit_operator.html   |   52 +-
 .../airflow/contrib/operators/sqoop_operator.html  |   69 +-
 .../airflow/contrib/operators/ssh_operator.html    |   55 +-
 .../contrib/operators/vertica_operator.html        |   51 +-
 .../airflow/contrib/operators/vertica_to_hive.html |  357 ++
 .../airflow/contrib/operators/winrm_operator.html  |  328 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   53 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |   50 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   94 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   53 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |   53 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |   52 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |   49 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |   53 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   53 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |  160 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   49 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |   65 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |   53 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   61 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |   53 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   55 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   57 +-
 _modules/airflow/executors/celery_executor.html    |   81 +-
 _modules/airflow/executors/local_executor.html     |   65 +-
 .../airflow/executors/sequential_executor.html     |   61 +-
 _modules/airflow/hooks/S3_hook.html                |   98 +-
 _modules/airflow/hooks/dbapi_hook.html             |   80 +-
 _modules/airflow/hooks/docker_hook.html            |  303 ++
 _modules/airflow/hooks/druid_hook.html             |  377 ++
 _modules/airflow/hooks/hdfs_hook.html              |   64 +-
 _modules/airflow/hooks/hive_hooks.html             | 1098 ++++
 _modules/airflow/hooks/http_hook.html              |  175 +-
 .../hooks/{mssql_hook.html => jdbc_hook.html}      |  106 +-
 _modules/airflow/hooks/mssql_hook.html             |   53 +-
 _modules/airflow/hooks/mysql_hook.html             |   83 +-
 _modules/airflow/hooks/oracle_hook.html            |   91 +-
 _modules/airflow/hooks/pig_hook.html               |   49 +-
 _modules/airflow/hooks/postgres_hook.html          |   94 +-
 _modules/airflow/hooks/presto_hook.html            |   56 +-
 .../hooks/{mssql_hook.html => samba_hook.html}     |  109 +-
 _modules/airflow/hooks/slack_hook.html             |   52 +-
 _modules/airflow/hooks/sqlite_hook.html            |   49 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   63 +-
 _modules/airflow/hooks/zendesk_hook.html           |  329 ++
 _modules/airflow/macros.html                       |   58 +-
 _modules/airflow/macros/hive.html                  |   57 +-
 _modules/airflow/models.html                       |  658 ++-
 _modules/airflow/operators/bash_operator.html      |   69 +-
 _modules/airflow/operators/check_operator.html     |   59 +-
 _modules/airflow/operators/dagrun_operator.html    |   77 +-
 _modules/airflow/operators/docker_operator.html    |  470 ++
 .../airflow/operators/druid_check_operator.html    |  309 ++
 _modules/airflow/operators/dummy_operator.html     |   49 +-
 _modules/airflow/operators/email_operator.html     |   55 +-
 _modules/airflow/operators/generic_transfer.html   |   56 +-
 _modules/airflow/operators/hive_operator.html      |  360 ++
 .../airflow/operators/hive_stats_operator.html     |  408 ++
 _modules/airflow/operators/hive_to_druid.html      |  456 ++
 .../{presto_to_mysql.html => hive_to_mysql.html}   |  126 +-
 ...s_operator.html => hive_to_samba_operator.html} |  120 +-
 _modules/airflow/operators/http_operator.html      |   53 +-
 .../{postgres_operator.html => jdbc_operator.html} |   91 +-
 .../airflow/operators/latest_only_operator.html    |   50 +-
 _modules/airflow/operators/mssql_operator.html     |   53 +-
 _modules/airflow/operators/mssql_to_hive.html      |  357 ++
 _modules/airflow/operators/mysql_operator.html     |   52 +-
 _modules/airflow/operators/mysql_to_hive.html      |  360 ++
 _modules/airflow/operators/oracle_operator.html    |   52 +-
 _modules/airflow/operators/pig_operator.html       |   52 +-
 _modules/airflow/operators/postgres_operator.html  |   51 +-
 .../airflow/operators/presto_check_operator.html   |   52 +-
 _modules/airflow/operators/presto_to_mysql.html    |   60 +-
 _modules/airflow/operators/python_operator.html    |  124 +-
 .../airflow/operators/redshift_to_s3_operator.html |   50 +-
 .../operators/s3_file_transform_operator.html      |   53 +-
 .../airflow/operators/s3_to_hive_operator.html     |  502 ++
 .../airflow/operators/s3_to_redshift_operator.html |   50 +-
 _modules/airflow/operators/slack_operator.html     |   78 +-
 _modules/airflow/operators/sqlite_operator.html    |   52 +-
 _modules/airflow/operators/subdag_operator.html    |   45 +-
 _modules/airflow/sensors/base_sensor_operator.html |   67 +-
 _modules/airflow/sensors/external_task_sensor.html |   53 +-
 _modules/airflow/sensors/hdfs_sensor.html          |   53 +-
 .../airflow/sensors/hive_partition_sensor.html     |   53 +-
 _modules/airflow/sensors/http_sensor.html          |   53 +-
 .../sensors/metastore_partition_sensor.html        |   53 +-
 .../sensors/named_hive_partition_sensor.html       |   49 +-
 _modules/airflow/sensors/s3_key_sensor.html        |   53 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |   53 +-
 _modules/airflow/sensors/sql_sensor.html           |   53 +-
 _modules/airflow/sensors/time_delta_sensor.html    |   53 +-
 _modules/airflow/sensors/time_sensor.html          |   53 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |   53 +-
 _modules/index.html                                |   80 +-
 _sources/code.rst.txt                              |    9 +-
 _sources/concepts.rst.txt                          |   20 +-
 _sources/howto/index.rst.txt                       |    1 +
 _sources/howto/operator.rst.txt                    |  103 +
 _sources/howto/write-logs.rst.txt                  |    4 +-
 _sources/installation.rst.txt                      |   67 +-
 _sources/integration.rst.txt                       |   20 +-
 _sources/plugins.rst.txt                           |   20 +
 _sources/project.rst.txt                           |    1 +
 _sources/scheduler.rst.txt                         |    5 +-
 _sources/security.rst.txt                          |    2 +-
 _static/basic.css                                  |   24 +-
 _static/css/badge_only.css                         |    3 +-
 _static/css/theme.css                              |    9 +-
 _static/doctools.js                                |    4 +-
 _static/documentation_options.js                   |    9 +
 _static/fonts/Inconsolata-Bold.ttf                 |  Bin 109948 -> 0 bytes
 _static/fonts/Inconsolata-Regular.ttf              |  Bin 96964 -> 0 bytes
 _static/fonts/Lato-Bold.ttf                        |  Bin 656544 -> 0 bytes
 _static/fonts/Lato-Regular.ttf                     |  Bin 656568 -> 0 bytes
 _static/fonts/Lato/lato-bold.eot                   |  Bin 0 -> 256056 bytes
 _static/fonts/Lato/lato-bold.ttf                   |  Bin 0 -> 600856 bytes
 _static/fonts/Lato/lato-bold.woff                  |  Bin 0 -> 309728 bytes
 _static/fonts/Lato/lato-bold.woff2                 |  Bin 0 -> 184912 bytes
 _static/fonts/Lato/lato-bolditalic.eot             |  Bin 0 -> 266158 bytes
 _static/fonts/Lato/lato-bolditalic.ttf             |  Bin 0 -> 622572 bytes
 _static/fonts/Lato/lato-bolditalic.woff            |  Bin 0 -> 323344 bytes
 _static/fonts/Lato/lato-bolditalic.woff2           |  Bin 0 -> 193308 bytes
 _static/fonts/Lato/lato-italic.eot                 |  Bin 0 -> 268604 bytes
 _static/fonts/Lato/lato-italic.ttf                 |  Bin 0 -> 639388 bytes
 _static/fonts/Lato/lato-italic.woff                |  Bin 0 -> 328412 bytes
 _static/fonts/Lato/lato-italic.woff2               |  Bin 0 -> 195704 bytes
 _static/fonts/Lato/lato-regular.eot                |  Bin 0 -> 253461 bytes
 _static/fonts/Lato/lato-regular.ttf                |  Bin 0 -> 607720 bytes
 _static/fonts/Lato/lato-regular.woff               |  Bin 0 -> 309192 bytes
 _static/fonts/Lato/lato-regular.woff2              |  Bin 0 -> 182708 bytes
 _static/fonts/RobotoSlab/roboto-slab-v7-bold.eot   |  Bin 0 -> 79520 bytes
 .../roboto-slab-v7-bold.ttf}                       |  Bin
 _static/fonts/RobotoSlab/roboto-slab-v7-bold.woff  |  Bin 0 -> 87624 bytes
 _static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 |  Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |  Bin 0 -> 78331 bytes
 .../roboto-slab-v7-regular.ttf}                    |  Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |  Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |  Bin 0 -> 66444 bytes
 _static/fonts/fontawesome-webfont.eot              |  Bin 76518 -> 165742 bytes
 _static/fonts/fontawesome-webfont.svg              | 3350 +++++++++---
 _static/fonts/fontawesome-webfont.ttf              |  Bin 152796 -> 165548 bytes
 _static/fonts/fontawesome-webfont.woff             |  Bin 90412 -> 98024 bytes
 _static/fonts/fontawesome-webfont.woff2            |  Bin 0 -> 77160 bytes
 _static/{jquery-3.1.0.js => jquery-3.2.1.js}       |  769 ++-
 _static/jquery.js                                  |    8 +-
 _static/js/theme.js                                |  172 +-
 _static/websupport.js                              |    2 +-
 api.html                                           |   56 +-
 cli.html                                           |  129 +-
 code.html                                          | 5620 +++++++++++++++-----
 concepts.html                                      |  332 +-
 faq.html                                           |  176 +-
 genindex.html                                      |  537 +-
 howto/executor/use-celery.html                     |   68 +-
 howto/executor/use-dask.html                       |   58 +-
 howto/executor/use-mesos.html                      |   68 +-
 howto/index.html                                   |   53 +-
 howto/initialize-database.html                     |   58 +-
 howto/manage-connections.html                      |   96 +-
 howto/operator.html                                |  400 ++
 howto/run-with-systemd.html                        |   60 +-
 howto/run-with-upstart.html                        |   66 +-
 howto/secure-connections.html                      |   68 +-
 howto/set-config.html                              |   64 +-
 howto/use-test-config.html                         |   54 +-
 howto/write-logs.html                              |   96 +-
 index.html                                         |   65 +-
 installation.html                                  |  211 +-
 integration.html                                   | 1479 ++++--
 kubernetes.html                                    |   65 +-
 license.html                                       |   48 +-
 lineage.html                                       |   50 +-
 objects.inv                                        |  Bin 6013 -> 7505 bytes
 plugins.html                                       |   70 +-
 profiling.html                                     |   46 +-
 project.html                                       |   51 +-
 py-modindex.html                                   |   49 +-
 scheduler.html                                     |  132 +-
 search.html                                        |   42 +-
 searchindex.js                                     |    2 +-
 security.html                                      |  112 +-
 start.html                                         |   62 +-
 timezone.html                                      |   56 +-
 tutorial.html                                      |  142 +-
 ui.html                                            |   46 +-
 277 files changed, 26848 insertions(+), 10956 deletions(-)

diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index 312fffe..a495421 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -193,7 +183,7 @@
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 <span class="kn">from</span> <span class="nn">airflow.www.utils</span> <span class="k">import</span> <span class="n">LoginMixin</span>
 
-<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
+
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
 <span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
 
@@ -207,7 +197,7 @@
 <span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
-
+<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="n">DEFAULT_FRAMEWORK_NAME</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
 <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;mesos_framework_&#39;</span>
 
@@ -245,7 +235,8 @@
             <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                      <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> \
                 <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
@@ -299,14 +290,15 @@
                 <span class="k">elif</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;mem&quot;</span><span class="p">:</span>
                     <span class="n">offerMem</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
 
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><s [...]
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                          <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">offerCpus</span><span class="p">,</span> <span class="n">offerMem</span><span class="p">)</span>
 
             <span class="n">remainingCpus</span> <span class="o">=</span> <span class="n">offerCpus</span>
             <span class="n">remainingMem</span> <span class="o">=</span> <span class="n">offerMem</span>
 
             <span class="k">while</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">())</span> <span class="ow">and</span> \
-                  <span class="n">remainingCpus</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="ow">and</span> \
-                  <span class="n">remainingMem</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span><span class="p">:</span>
+                    <span class="n">remainingCpus</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="ow">and</span> \
+                    <span class="n">remainingMem</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span><span class="p">:</span>
                 <span class="n">key</span><span class="p">,</span> <span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
                 <span class="n">tid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">+=</span> <span class="mi">1</span>
@@ -365,7 +357,8 @@
         <span class="k">try</span><span class="p">:</span>
             <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
         <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-            <span class="c1"># The map may not contain an item if the framework re-registered after a failover.</span>
+            <span class="c1"># The map may not contain an item if the framework re-registered</span>
+            <span class="c1"># after a failover.</span>
             <span class="c1"># Discard these tasks.</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
             <span class="k">return</span>
@@ -392,7 +385,7 @@
 <span class="sd">    elastic distributed systems to easily be built and run effectively.</span>
 <span class="sd">    See http://mesos.apache.org/</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="MesosExecutor.start"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.start">[docs]</a>    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
         <span class="n">framework</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">FrameworkInfo</span><span class="p">()</span>
@@ -428,7 +421,8 @@
                 <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
                 <span class="n">connection</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p [...]
                 <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="c1"># Set the Framework ID to let the scheduler reconnect with running tasks.</span>
+                    <span class="c1"># Set the Framework ID to let the scheduler reconnect</span>
+                    <span class="c1"># with running tasks.</span>
                     <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
 
                 <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
@@ -439,7 +433,8 @@
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o"> [...]
+            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
+            <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span><span class="p">)</span>
         <span class="p">)</span>
 
         <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
@@ -447,10 +442,12 @@
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
 
             <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
             <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
@@ -459,7 +456,10 @@
             <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">credential</span><span class="o">.</span><span class="n">principal</span>
 
             <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
-                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span> <span class="n">task_cpu</span><span class="p">,</span> <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
+                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
+                                      <span class="n">task_cpu</span><span class="p">,</span>
+                                      <span class="n">task_memory</span><span class="p">),</span>
                 <span class="n">framework</span><span class="p">,</span>
                 <span class="n">master</span><span class="p">,</span>
                 <span class="n">implicit_acknowledgements</span><span class="p">,</span>
@@ -467,31 +467,32 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
             <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
-                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span> <span class="n">task_cpu</span><span class="p">,</span> <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
+                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
+                                      <span class="n">task_cpu</span><span class="p">,</span>
+                                      <span class="n">task_memory</span><span class="p">),</span>
                 <span class="n">framework</span><span class="p">,</span>
                 <span class="n">master</span><span class="p">,</span>
                 <span class="n">implicit_acknowledgements</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span></div>
 
-    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">executor_config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
+<div class="viewcode-block" id="MesosExecutor.execute_async"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">[docs]</a>    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</ [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span></div>
 
-    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="MesosExecutor.sync"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.sync">[docs]</a>    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
             <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span></div>
 
-    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="MesosExecutor.end"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.end">[docs]</a>    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div></div>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -503,7 +504,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -522,6 +523,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -534,19 +536,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
index 68c9921..b8fea44 100644
--- a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -204,7 +194,11 @@
 <span class="sd">    :type region_name: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</sp [...]
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">table_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">table_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">table_keys</span> <span class="o">=</span> <span class="n">table_keys</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">table_name</span> <span class="o">=</span> <span class="n">table_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
@@ -237,9 +231,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -251,7 +243,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -270,6 +262,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -282,19 +275,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/aws_hook.html b/_modules/airflow/contrib/hooks/aws_hook.html
index 7d9a60f..f572e90 100644
--- a/_modules/airflow/contrib/hooks/aws_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -272,13 +262,16 @@
                     <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">password</span>
 
                 <span class="k">elif</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
-                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
-                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span>
+                        <span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span>
+                        <span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
 
                 <span class="k">elif</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
                     <span class="n">aws_access_key_id</span><span class="p">,</span> <span class="n">aws_secret_access_key</span> <span class="o">=</span> \
-                        <span class="n">_parse_s3_config</span><span class="p">(</span><span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
-                                         <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">))</span>
+                        <span class="n">_parse_s3_config</span><span class="p">(</span>
+                            <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
+                            <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">))</span>
 
                 <span class="k">if</span> <span class="n">region_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                     <span class="n">region_name</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;region_name&#39;</span><span class="p">)</span>
@@ -289,7 +282,6 @@
 
                 <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">aws_account_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> \
                         <span class="n">aws_iam_role</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-
                     <span class="n">role_arn</span> <span class="o">=</span> <span class="s2">&quot;arn:aws:iam::&quot;</span> <span class="o">+</span> <span class="n">aws_account_id</span> <span class="o">+</span> <span class="s2">&quot;:role/&quot;</span> <span class="o">+</span> <span class="n">aws_iam_role</span>
 
                 <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
@@ -347,9 +339,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -361,7 +351,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -380,6 +370,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -392,19 +383,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
index 5953a6b..131de2a 100644
--- a/_modules/airflow/contrib/hooks/aws_lambda_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -207,7 +197,8 @@
 <span class="sd">    :type invocation_type: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function_name</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">log_type</span><span class="o">=</span><span class="s1">&#39;None&#39;</span><span class="p">,</span> <span class="n">qualifier</span><span class="o">=</span><span  [...]
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function_name</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">log_type</span><span class="o">=</span><span class="s1">&#39;None&#39;</span><span class="p">,</span> <span class="n">qualifier</span><span class="o">=</span><span class="s1">&#39;$LATEST&#39;</span><span class="p">,</span>
                  <span class="n">invocation_type</span><span class="o">=</span><span class="s1">&#39;RequestResponse&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">function_name</span> <span class="o">=</span> <span class="n">function_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
@@ -239,9 +230,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -253,7 +242,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -272,6 +261,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -284,19 +274,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
new file mode 100644
index 0000000..89e24a5
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
@@ -0,0 +1,359 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.azure_data_lake_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.azure_data_lake_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">azure.datalake.store</span> <span class="k">import</span> <span class="n">core</span><span class="p">,</span> <span class="n">lib</span><span class="p">,</span> <span class="n">multithread</span>
+
+
+<div class="viewcode-block" id="AzureDataLakeHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook">[docs]</a><span class="k">class</span> <span class="nc">AzureDataLakeHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure Data Lake.</span>
+
+<span class="sd">    Client ID and client secret should be in user and password parameters.</span>
+<span class="sd">    Tenant and account name should be extra field as</span>
+<span class="sd">    {&quot;tenant&quot;: &quot;&lt;TENANT&gt;&quot;, &quot;account_name&quot;: &quot;ACCOUNT_NAME&quot;}.</span>
+
+<span class="sd">    :param azure_data_lake_conn_id: Reference to the Azure Data Lake connection.</span>
+<span class="sd">    :type azure_data_lake_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s1">&#39;azure_data_lake_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">azure_data_lake_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+<div class="viewcode-block" id="AzureDataLakeHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Return a AzureDLFileSystem object.&quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="n">service_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">account_name</span> <span class="o">=</span> <span class="n">service_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">)</span>
+
+        <span class="n">adlCreds</span> <span class="o">=</span> <span class="n">lib</span><span class="o">.</span><span class="n">auth</span><span class="p">(</span><span class="n">tenant_id</span><span class="o">=</span><span class="n">service_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tenant&#39;</span><span class="p">),</span>
+                            <span class="n">client_secret</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                            <span class="n">client_id</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">)</span>
+        <span class="n">adlsFileSystemClient</span> <span class="o">=</span> <span class="n">core</span><span class="o">.</span><span class="n">AzureDLFileSystem</span><span class="p">(</span><span class="n">adlCreds</span><span class="p">,</span>
+                                                      <span class="n">store_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">account_name</span><span class="p">)</span>
+        <span class="n">adlsFileSystemClient</span><span class="o">.</span><span class="n">connect</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">adlsFileSystemClient</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.check_for_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a file exists on Azure Data Lake.</span>
+
+<span class="sd">        :param file_path: Path and name of the file.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">files</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">details</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">invalidate_cache</span><span class="o">=</span><span class="kc">True</span><span clas [...]
+            <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span>
+        <span class="k">except</span> <span class="ne">FileNotFoundError</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.upload_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.upload_file">[docs]</a>    <span class="k">def</span> <span class="nf">upload_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_path</span><span class="p">,</span> <span class="n">remote_path</span><span class="p">,</span> <span class="n">nthreads< [...]
+                    <span class="n">buffersize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">,</span> <span class="n">blocksize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a file to Azure Data Lake.</span>
+
+<span class="sd">        :param local_path: local path. Can be single file, directory (in which case,</span>
+<span class="sd">            upload recursively) or glob pattern. Recursive glob patterns using `**`</span>
+<span class="sd">            are not supported.</span>
+<span class="sd">        :type local_path: str</span>
+<span class="sd">        :param remote_path: Remote path to upload to; if multiple files, this is the</span>
+<span class="sd">            dircetory root to write within.</span>
+<span class="sd">        :type remote_path: str</span>
+<span class="sd">        :param nthreads: Number of threads to use. If None, uses the number of cores.</span>
+<span class="sd">        :type nthreads: int</span>
+<span class="sd">        :param overwrite: Whether to forcibly overwrite existing files/directories.</span>
+<span class="sd">            If False and remote path is a directory, will quit regardless if any files</span>
+<span class="sd">            would be overwritten or not. If True, only matching filenames are actually</span>
+<span class="sd">            overwritten.</span>
+<span class="sd">        :type overwrite: bool</span>
+<span class="sd">        :param buffersize: int [2**22]</span>
+<span class="sd">            Number of bytes for internal buffer. This block cannot be bigger than</span>
+<span class="sd">            a chunk and cannot be smaller than a block.</span>
+<span class="sd">        :type buffersize: int</span>
+<span class="sd">        :param blocksize: int [2**22]</span>
+<span class="sd">            Number of bytes for a block. Within each chunk, we write a smaller</span>
+<span class="sd">            block for each API call. This block cannot be bigger than a chunk.</span>
+<span class="sd">        :type blocksize: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">multithread</span><span class="o">.</span><span class="n">ADLUploader</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="p">,</span>
+                                <span class="n">lpath</span><span class="o">=</span><span class="n">local_path</span><span class="p">,</span>
+                                <span class="n">rpath</span><span class="o">=</span><span class="n">remote_path</span><span class="p">,</span>
+                                <span class="n">nthreads</span><span class="o">=</span><span class="n">nthreads</span><span class="p">,</span>
+                                <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">,</span>
+                                <span class="n">buffersize</span><span class="o">=</span><span class="n">buffersize</span><span class="p">,</span>
+                                <span class="n">blocksize</span><span class="o">=</span><span class="n">blocksize</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.download_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.download_file">[docs]</a>    <span class="k">def</span> <span class="nf">download_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_path</span><span class="p">,</span> <span class="n">remote_path</span><span class="p">,</span> <span class="n">nth [...]
+                      <span class="n">buffersize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">,</span> <span class="n">blocksize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure Blob Storage.</span>
+
+<span class="sd">        :param local_path: local path. If downloading a single file, will write to this</span>
+<span class="sd">            specific file, unless it is an existing directory, in which case a file is</span>
+<span class="sd">            created within it. If downloading multiple files, this is the root</span>
+<span class="sd">            directory to write within. Will create directories as required.</span>
+<span class="sd">        :type local_path: str</span>
+<span class="sd">        :param remote_path: remote path/globstring to use to find remote files.</span>
+<span class="sd">            Recursive glob patterns using `**` are not supported.</span>
+<span class="sd">        :type remote_path: str</span>
+<span class="sd">        :param nthreads: Number of threads to use. If None, uses the number of cores.</span>
+<span class="sd">        :type nthreads: int</span>
+<span class="sd">        :param overwrite: Whether to forcibly overwrite existing files/directories.</span>
+<span class="sd">            If False and remote path is a directory, will quit regardless if any files</span>
+<span class="sd">            would be overwritten or not. If True, only matching filenames are actually</span>
+<span class="sd">            overwritten.</span>
+<span class="sd">        :type overwrite: bool</span>
+<span class="sd">        :param buffersize: int [2**22]</span>
+<span class="sd">            Number of bytes for internal buffer. This block cannot be bigger than</span>
+<span class="sd">            a chunk and cannot be smaller than a block.</span>
+<span class="sd">        :type buffersize: int</span>
+<span class="sd">        :param blocksize: int [2**22]</span>
+<span class="sd">            Number of bytes for a block. Within each chunk, we write a smaller</span>
+<span class="sd">            block for each API call. This block cannot be bigger than a chunk.</span>
+<span class="sd">        :type blocksize: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">multithread</span><span class="o">.</span><span class="n">ADLDownloader</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="p">,</span>
+                                  <span class="n">lpath</span><span class="o">=</span><span class="n">local_path</span><span class="p">,</span>
+                                  <span class="n">rpath</span><span class="o">=</span><span class="n">remote_path</span><span class="p">,</span>
+                                  <span class="n">nthreads</span><span class="o">=</span><span class="n">nthreads</span><span class="p">,</span>
+                                  <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">,</span>
+                                  <span class="n">buffersize</span><span class="o">=</span><span class="n">buffersize</span><span class="p">,</span>
+                                  <span class="n">blocksize</span><span class="o">=</span><span class="n">blocksize</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
new file mode 100644
index 0000000..a34fc55
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
@@ -0,0 +1,430 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_fileshare_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.azure_fileshare_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.azure_fileshare_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">azure.storage.file</span> <span class="k">import</span> <span class="n">FileService</span>
+
+
+<div class="viewcode-block" id="AzureFileShareHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook">[docs]</a><span class="k">class</span> <span class="nc">AzureFileShareHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure FileShare Storage.</span>
+
+<span class="sd">    Additional options passed in the &#39;extra&#39; field of the connection will be</span>
+<span class="sd">    passed to the `FileService()` constructor.</span>
+
+<span class="sd">    :param wasb_conn_id: Reference to the wasb connection.</span>
+<span class="sd">    :type wasb_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wasb_conn_id</span><span class="o">=</span><span class="s1">&#39;wasb_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">wasb_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Return the FileService object.&quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="n">service_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="k">return</span> <span class="n">FileService</span><span class="p">(</span><span class="n">account_name</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+                           <span class="n">account_key</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span> <span class="o">**</span><span class="n">service_options</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.check_for_directory"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_directory">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a directory exists on Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.exists()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                      <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.check_for_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_file">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span class [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a file exists on Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.exists()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                      <span class="n">file_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.list_directories_and_files"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.list_directories_and_files">[docs]</a>    <span class="k">def</span> <span class="nf">list_directories_and_files</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the list of directories and files stored on a Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.list_directories_and_files()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: A list of files and directories</span>
+<span class="sd">        :rtype list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">list_directories_and_files</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span>
+                                                          <span class="n">directory_name</span><span class="p">,</span>
+                                                          <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.create_directory"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new direcotry on a Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_directory()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: A list of files and directories</span>
+<span class="sd">        :rtype list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_directory</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file">[docs]</a>    <span class="k">def</span> <span class="nf">get_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure File Share.</span>
+
+<span class="sd">        :param file_path: Where to store the file.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.get_file_to_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_file_to_path</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                         <span class="n">file_name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_file_to_stream"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file_to_stream">[docs]</a>    <span class="k">def</span> <span class="nf">get_file_to_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure File Share.</span>
+
+<span class="sd">        :param stream: A filehandle to store the file to.</span>
+<span class="sd">        :type stream: file-like object</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.get_file_to_stream()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_file_to_stream</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                           <span class="n">file_name</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a file to Azure File Share.</span>
+
+<span class="sd">        :param file_path: Path to the file to load.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_path</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                              <span class="n">file_name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_string"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directo [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a string to Azure File Share.</span>
+
+<span class="sd">        :param string_data: String to load.</span>
+<span class="sd">        :type string_data: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_text()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_text</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                              <span class="n">file_name</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_stream"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_stream">[docs]</a>    <span class="k">def</span> <span class="nf">load_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_na [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a stream to Azure File Share.</span>
+
+<span class="sd">        :param stream: Opened file/stream to upload as the file content.</span>
+<span class="sd">        :type stream: file-like</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param count: Size of the stream in bytes</span>
+<span class="sd">        :type count: int</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_stream()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_stream</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                                <span class="n">file_name</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/bigquery_hook.html b/_modules/airflow/contrib/hooks/bigquery_hook.html
index aff2ebd..b02ae65 100644
--- a/_modules/airflow/contrib/hooks/bigquery_hook.html
+++ b/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -243,7 +233,8 @@
 <span class="sd">        Returns a BigQuery service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;bigquery&#39;</span><span class="p">,</span> <span class="s1">&#39;v2&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;bigquery&#39;</span><span class="p">,</span> <span class="s1">&#39;v2&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BigQueryHook.insert_rows"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=< [...]
         <span class="sd">&quot;&quot;&quot;</span>
@@ -253,7 +244,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
+<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Pandas DataFrame for the results produced by a BigQuery</span>
 <span class="sd">        query. The DbApiHook method must be overridden because Pandas</span>
@@ -262,8 +253,8 @@
 <span class="sd">        https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</span>
 <span class="sd">        https://github.com/pydata/pandas/issues/6900</span>
 
-<span class="sd">        :param bql: The BigQuery SQL to execute.</span>
-<span class="sd">        :type bql: string</span>
+<span class="sd">        :param sql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type sql: string</span>
 <span class="sd">        :param parameters: The parameters to render the SQL query with (not</span>
 <span class="sd">            used, leave to override superclass method)</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
@@ -274,7 +265,7 @@
         <span class="k">if</span> <span class="n">dialect</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">dialect</span> <span class="o">=</span> <span class="s1">&#39;legacy&#39;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="k">else</span> <span class="s1">&#39;standard&#39;</span>
 
-        <span class="k">return</span> <span class="n">read_gbq</span><span class="p">(</span><span class="n">bql</span><span class="p">,</span>
+        <span class="k">return</span> <span class="n">read_gbq</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span>
                         <span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">),</span>
                         <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
                         <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
@@ -625,7 +616,8 @@
             <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                  <span class="n">bql</span><span class="p">,</span>
+                  <span class="n">bql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                   <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
                   <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
@@ -637,7 +629,8 @@
                   <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                   <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
-                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">):</span>
+                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span>
+                  <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{}):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery SQL query. Optionally persists results in a BigQuery</span>
 <span class="sd">        table. See here:</span>
@@ -646,10 +639,14 @@
 
 <span class="sd">        For more details about these parameters.</span>
 
-<span class="sd">        :param bql: The BigQuery SQL to execute.</span>
+<span class="sd">        :param bql: (Deprecated. Use `sql` parameter instead) The BigQuery SQL</span>
+<span class="sd">            to execute.</span>
 <span class="sd">        :type bql: string</span>
+<span class="sd">        :param sql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type sql: string</span>
 <span class="sd">        :param destination_dataset_table: The dotted &lt;dataset&gt;.&lt;table&gt;</span>
 <span class="sd">            BigQuery table to save the query results.</span>
+<span class="sd">        :type destination_dataset_table: string</span>
 <span class="sd">        :param write_disposition: What to do if the table already exists in</span>
 <span class="sd">            BigQuery.</span>
 <span class="sd">        :type write_disposition: string</span>
@@ -687,8 +684,31 @@
 <span class="sd">            Possible values include INTERACTIVE and BATCH.</span>
 <span class="sd">            The default value is INTERACTIVE.</span>
 <span class="sd">        :type priority: string</span>
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and</span>
+<span class="sd">            expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
+<span class="sd">            conjunction with dataset.table$partition.</span>
+<span class="sd">        :type time_partitioning: dict</span>
+
 <span class="sd">        &quot;&quot;&quot;</span>
 
+        <span class="c1"># TODO remove `bql` in Airflow 2.0 - Jira: [AIRFLOW-2513]</span>
+        <span class="n">sql</span> <span class="o">=</span> <span class="n">bql</span> <span class="k">if</span> <span class="n">sql</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">sql</span>
+
+        <span class="k">if</span> <span class="n">bql</span><span class="p">:</span>
+            <span class="kn">import</span> <span class="nn">warnings</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Deprecated parameter `bql` used in &#39;</span>
+                          <span class="s1">&#39;`BigQueryBaseCursor.run_query` &#39;</span>
+                          <span class="s1">&#39;Use `sql` parameter instead to pass the sql to be &#39;</span>
+                          <span class="s1">&#39;executed. `bql` parameter is deprecated and &#39;</span>
+                          <span class="s1">&#39;will be removed in a future version of &#39;</span>
+                          <span class="s1">&#39;Airflow.&#39;</span><span class="p">,</span>
+                          <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">sql</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;`BigQueryBaseCursor.run_query` missing 1 required &#39;</span>
+                            <span class="s1">&#39;positional argument: `sql`&#39;</span><span class="p">)</span>
+
         <span class="c1"># BigQuery also allows you to define how you want a table&#39;s schema to change</span>
         <span class="c1"># as a side effect of a query job</span>
         <span class="c1"># for more details:</span>
@@ -708,7 +728,7 @@
 
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="p">{</span>
-                <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">bql</span><span class="p">,</span>
+                <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">sql</span><span class="p">,</span>
                 <span class="s1">&#39;useLegacySql&#39;</span><span class="p">:</span> <span class="n">use_legacy_sql</span><span class="p">,</span>
                 <span class="s1">&#39;maximumBillingTier&#39;</span><span class="p">:</span> <span class="n">maximum_billing_tier</span><span class="p">,</span>
                 <span class="s1">&#39;maximumBytesBilled&#39;</span><span class="p">:</span> <span class="n">maximum_bytes_billed</span><span class="p">,</span>
@@ -724,14 +744,10 @@
                 <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_dataset_table</span><span class="p">,</span>
                                  <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
-                <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span>
-                <span class="n">allow_large_results</span><span class="p">,</span>
-                <span class="s1">&#39;flattenResults&#39;</span><span class="p">:</span>
-                <span class="n">flatten_results</span><span class="p">,</span>
-                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span>
-                <span class="n">write_disposition</span><span class="p">,</span>
-                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span>
-                <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span> <span class="n">allow_large_results</span><span class="p">,</span>
+                <span class="s1">&#39;flattenResults&#39;</span><span class="p">:</span> <span class="n">flatten_results</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
                 <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
                     <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
                     <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
@@ -741,8 +757,7 @@
         <span class="k">if</span> <span class="n">udf_config</span><span class="p">:</span>
             <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
-                <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span>
-                <span class="n">udf_config</span>
+                <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span> <span class="n">udf_config</span>
             <span class="p">})</span>
 
         <span class="k">if</span> <span class="n">query_params</span><span class="p">:</span>
@@ -752,6 +767,15 @@
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;queryParameters&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_params</span>
 
+        <span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">_cleanse_time_partitioning</span><span class="p">(</span>
+            <span class="n">destination_dataset_table</span><span class="p">,</span>
+            <span class="n">time_partitioning</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;timePartitioning&#39;</span><span class="p">:</span> <span class="n">time_partitioning</span>
+            <span class="p">})</span>
+
         <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
                 <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;schema_update_options is only &quot;</span>
@@ -971,7 +995,7 @@
 <span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
 <span class="sd">            partition by field, type and</span>
 <span class="sd">            expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
-<span class="sd">            concurrency with dataset.table$partition.</span>
+<span class="sd">            conjunction with dataset.table$partition.</span>
 <span class="sd">        :type time_partitioning: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
@@ -1024,21 +1048,14 @@
             <span class="p">}</span>
         <span class="p">}</span>
 
-        <span class="c1"># if it is a partitioned table ($ is in the table name) add partition load option</span>
-        <span class="k">if</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">destination_project_dataset_table</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">time_partitioning</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;field&#39;</span><span class="p">):</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Cannot specify field partition and partition name &quot;</span>
-                    <span class="s2">&quot;(dataset.table$partition) at the same time&quot;</span>
-                <span class="p">)</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="s1">&#39;DAY&#39;</span><span class="p">)</span>
-
-        <span class="c1"># can specify custom time partitioning options based on a field, or adding</span>
-        <span class="c1"># expiration</span>
+        <span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">_cleanse_time_partitioning</span><span class="p">(</span>
+            <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+            <span class="n">time_partitioning</span>
+        <span class="p">)</span>
         <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load&#39;</span><span class="p">,</span> <span class="p">{})</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">):</span>
-                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">time_partitioning</span><span class="p">)</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;timePartitioning&#39;</span><span class="p">:</span> <span class="n">time_partitioning</span>
+            <span class="p">})</span>
 
         <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span><span class="p">}</span>
@@ -1443,9 +1460,9 @@
 <span class="sd">        :param parameters: Parameters to substitute into the query.</span>
 <span class="sd">        :type parameters: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">bql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span>
+        <span class="n">sql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span>
                                <span class="n">parameters</span><span class="p">)</span> <span class="k">if</span> <span class="n">parameters</span> <span class="k">else</span> <span class="n">operation</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">executemany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">seq_of_parameters</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -1595,9 +1612,9 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="k">if</span> <span class="n">string_field</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
         <span class="k">return</span> <span class="kc">None</span>
-    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;INTEGER&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;INTEGER&#39;</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span><span class="p">:</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
     <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;BOOLEAN&#39;</span><span class="p">:</span>
         <span class="k">assert</span> <span class="n">string_field</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">([</span><span class="s1">&#39;true&#39;</span><span class="p">,</span> <span class="s1">&#39;false&#39;</span><span class="p">])</span>
@@ -1662,12 +1679,24 @@
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">default_project_id</span>
 
     <span class="k">return</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
+
+
+<span class="k">def</span> <span class="nf">_cleanse_time_partitioning</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="n">time_partitioning_in</span><span class="p">):</span>
+    <span class="c1"># if it is a partitioned table ($ is in the table name) add partition load option</span>
+    <span class="n">time_partitioning_out</span> <span class="o">=</span> <span class="p">{}</span>
+    <span class="k">if</span> <span class="n">destination_dataset_table</span> <span class="ow">and</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
+        <span class="k">assert</span> <span class="ow">not</span> <span class="n">time_partitioning_in</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;field&#39;</span><span class="p">),</span> <span class="p">(</span>
+            <span class="s2">&quot;Cannot specify field partition and partition name &quot;</span>
+            <span class="s2">&quot;(dataset.table$partition) at the same time&quot;</span>
+        <span class="p">)</span>
+        <span class="n">time_partitioning_out</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;DAY&#39;</span>
+
+    <span class="n">time_partitioning_out</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">time_partitioning_in</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">time_partitioning_out</span>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -1679,7 +1708,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -1698,6 +1727,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -1710,19 +1740,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/cassandra_hook.html b/_modules/airflow/contrib/hooks/cassandra_hook.html
new file mode 100644
index 0000000..01142f1
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/cassandra_hook.html
@@ -0,0 +1,400 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.cassandra_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.cassandra_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.cassandra_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">cassandra.cluster</span> <span class="k">import</span> <span class="n">Cluster</span>
+<span class="kn">from</span> <span class="nn">cassandra.policies</span> <span class="k">import</span> <span class="p">(</span><span class="n">RoundRobinPolicy</span><span class="p">,</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">,</span>
+                                <span class="n">TokenAwarePolicy</span><span class="p">,</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">cassandra.auth</span> <span class="k">import</span> <span class="n">PlainTextAuthProvider</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="CassandraHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook">[docs]</a><span class="k">class</span> <span class="nc">CassandraHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook used to interact with Cassandra</span>
+
+<span class="sd">    Contact points can be specified as a comma-separated string in the &#39;hosts&#39;</span>
+<span class="sd">    field of the connection.</span>
+
+<span class="sd">    Port can be specified in the port field of the connection.</span>
+
+<span class="sd">    If SSL is enabled in Cassandra, pass in a dict in the extra field as kwargs for</span>
+<span class="sd">    ``ssl.wrap_socket()``. For example:</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;ssl_options&#39; : {</span>
+<span class="sd">                    &#39;ca_certs&#39; : PATH_TO_CA_CERTS</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+
+<span class="sd">    Default load balancing policy is RoundRobinPolicy. To specify a different LB policy:</span>
+<span class="sd">        - DCAwareRoundRobinPolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;DCAwareRoundRobinPolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;local_dc&#39;: LOCAL_DC_NAME,                      // optional</span>
+<span class="sd">                    &#39;used_hosts_per_remote_dc&#39;: SOME_INT_VALUE,     // optional</span>
+<span class="sd">                }</span>
+<span class="sd">             }</span>
+<span class="sd">        - WhiteListRoundRobinPolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;WhiteListRoundRobinPolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;hosts&#39;: [&#39;HOST1&#39;, &#39;HOST2&#39;, &#39;HOST3&#39;]</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+<span class="sd">        - TokenAwarePolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;TokenAwarePolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;child_load_balancing_policy&#39;: CHILD_POLICY_NAME, // optional</span>
+<span class="sd">                    &#39;child_load_balancing_policy_args&#39;: { ... }       // optional</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+
+<span class="sd">    For details of the Cluster config, see cassandra.cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s1">&#39;cassandra_default&#39;</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">cassandra_conn_id</span><span class="p">)</span>
+
+        <span class="n">conn_config</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;contact_points&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;port&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;auth_provider&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">PlainTextAuthProvider</span><span class="p">(</span>
+                <span class="n">username</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
+
+        <span class="n">policy_name</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">policy_args</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load_balancing_policy_args&#39;</span><span class="p">,</span> <span class="p">{})</span>
+        <span class="n">lb_policy</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_lb_policy</span><span class="p">(</span><span class="n">policy_name</span><span class="p">,</span> <span class="n">policy_args</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">lb_policy</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">lb_policy</span>
+
+        <span class="n">cql_version</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;cql_version&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">cql_version</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;cql_version&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cql_version</span>
+
+        <span class="n">ssl_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ssl_options&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">ssl_options</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;ssl_options&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ssl_options</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span> <span class="o">=</span> <span class="n">Cluster</span><span class="p">(</span><span class="o">**</span><span class="n">conn_config</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="CassandraHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a cassandra Session object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">is_shutdown</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span></div>
+
+    <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span>
+
+<div class="viewcode-block" id="CassandraHook.shutdown_cluster"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.shutdown_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">shutdown_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Closes all sessions and connections associated with this Cluster.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">is_shutdown</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">shutdown</span><span class="p">()</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">get_lb_policy</span><span class="p">(</span><span class="n">policy_name</span><span class="p">,</span> <span class="n">policy_args</span><span class="p">):</span>
+        <span class="n">policies</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">RoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;TokenAwarePolicy&#39;</span><span class="p">:</span> <span class="n">TokenAwarePolicy</span><span class="p">,</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">policies</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">policy_name</span><span class="p">)</span> <span class="ow">or</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">RoundRobinPolicy</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="n">local_dc</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;local_dc&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+            <span class="n">used_hosts_per_remote_dc</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;used_hosts_per_remote_dc&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span>
+            <span class="k">return</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">(</span><span class="n">local_dc</span><span class="p">,</span> <span class="n">used_hosts_per_remote_dc</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="n">hosts</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;hosts&#39;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">hosts</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Hosts must be specified for WhiteListRoundRobinPolicy&#39;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">(</span><span class="n">hosts</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;TokenAwarePolicy&#39;</span><span class="p">:</span>
+            <span class="n">allowed_child_policies</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">,</span>
+                                      <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">,</span>
+                                      <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">,)</span>
+            <span class="n">child_policy_name</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;child_load_balancing_policy&#39;</span><span class="p">,</span>
+                                                <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">)</span>
+            <span class="n">child_policy_args</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;child_load_balancing_policy_args&#39;</span><span class="p">,</span> <span class="p">{})</span>
+            <span class="k">if</span> <span class="n">child_policy_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_child_policies</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">TokenAwarePolicy</span><span class="p">(</span><span class="n">RoundRobinPolicy</span><span class="p">())</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">child_policy</span> <span class="o">=</span> <span class="n">CassandraHook</span><span class="o">.</span><span class="n">get_lb_policy</span><span class="p">(</span><span class="n">child_policy_name</span><span class="p">,</span>
+                                                           <span class="n">child_policy_args</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">TokenAwarePolicy</span><span class="p">(</span><span class="n">child_policy</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CassandraHook.record_exists"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.record_exists">[docs]</a>    <span class="k">def</span> <span class="nf">record_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a record exists in Cassandra</span>
+
+<span class="sd">        :param table: Target Cassandra table.</span>
+<span class="sd">                      Use dot notation to target a specific keyspace.</span>
+<span class="sd">        :type table: string</span>
+<span class="sd">        :param keys: The keys and their values to check the existence.</span>
+<span class="sd">        :type keys: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">keyspace</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+            <span class="n">keyspace</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">ks</span> <span class="o">=</span> <span class="s2">&quot; AND &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">=%(</span><span class="si">{}</span><span class="s2">)s&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">key</span><span class="p">)</spa [...]
+        <span class="n">cql</span> <span class="o">=</span> <span class="s2">&quot;SELECT * FROM </span><span class="si">{keyspace}</span><span class="s2">.</span><span class="si">{table}</span><span class="s2"> WHERE </span><span class="si">{keys}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">keyspace</span><span class="o">=</span><span class="p">(</span><span class="n">keyspace</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span><span class="p">),</span> <span class="n">table</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">keys</span><span class="o">=</span><span class="n">ks</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">rs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">cql</span><span class="p">,</span> <span class="n">keys</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">rs</span><span class="o">.</span><span class="n">one</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
+        <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/cloudant_hook.html b/_modules/airflow/contrib/hooks/cloudant_hook.html
new file mode 100644
index 0000000..5e762ea
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/cloudant_hook.html
@@ -0,0 +1,301 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.cloudant_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.cloudant_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.cloudant_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">unicode</span>
+
+<span class="kn">import</span> <span class="nn">cloudant</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="CloudantHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cloudant_hook.CloudantHook">[docs]</a><span class="k">class</span> <span class="nc">CloudantHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Interact with Cloudant.</span>
+
+<span class="sd">    This class is a thin wrapper around the cloudant python library. See the</span>
+<span class="sd">    documentation `here &lt;https://github.com/cloudant-labs/cloudant-python&gt;`_.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cloudant_conn_id</span><span class="o">=</span><span class="s1">&#39;cloudant_default&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudantHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s1">&#39;cloudant&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span> <span class="o">=</span> <span class="n">cloudant_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">def</span> <span class="nf">_str</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
+            <span class="c1"># cloudant-python doesn&#39;t support unicode.</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">unicode</span><span class="p">):</span>
+                <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+                <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                    <span class="s1">&#39;cloudant-python does not support unicode. Encoding </span><span class="si">%s</span><span class="s1"> as &#39;</span>
+                    <span class="s1">&#39;ascii using &quot;ignore&quot;.&#39;</span><span class="p">,</span> <span class="n">s</span>
+                <span class="p">)</span>
+                <span class="k">return</span> <span class="n">s</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">,</span> <span class="s1">&#39;ignore&#39;</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="n">s</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">conn_param</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;host&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;missing connection parameter </span><span class="si">{0}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn_param</span><span class="p">)</span>
+                <span class="p">)</span>
+
+        <span class="c1"># In the connection form:</span>
+        <span class="c1"># - &#39;host&#39; is renamed to &#39;Account&#39;</span>
+        <span class="c1"># - &#39;login&#39; is renamed &#39;Username (or API Key)&#39;</span>
+        <span class="c1"># - &#39;schema&#39; is renamed to &#39;Database&#39;</span>
+        <span class="c1">#</span>
+        <span class="c1"># So, use the &#39;host&#39; attribute as the account name, and, if login is</span>
+        <span class="c1"># defined, use that as the username.</span>
+        <span class="n">account</span> <span class="o">=</span> <span class="n">cloudant</span><span class="o">.</span><span class="n">Account</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
+
+        <span class="n">username</span> <span class="o">=</span> <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span> <span class="ow">or</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+
+        <span class="n">account</span><span class="o">.</span><span class="n">login</span><span class="p">(</span>
+            <span class="n">username</span><span class="p">,</span>
+            <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">))</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">account</span><span class="o">.</span><span class="n">database</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span><span class="p">))</span>
+
+<div class="viewcode-block" id="CloudantHook.db"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cloudant_hook.CloudantHook.db">[docs]</a>    <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns the Database object for this hook.</span>
+
+<span class="sd">        See the documentation for cloudant-python here</span>
+<span class="sd">        https://github.com/cloudant-labs/cloudant-python.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/databricks_hook.html b/_modules/airflow/contrib/hooks/databricks_hook.html
index 00ae02f..0d21a4a 100644
--- a/_modules/airflow/contrib/hooks/databricks_hook.html
+++ b/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -288,7 +278,7 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unexpected HTTP Method: &#39;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
 
-        <span class="k">for</span> <span class="n">attempt_num</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="o">+</span><span class="mi">1</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">attempt_num</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">response</span> <span class="o">=</span> <span class="n">request_func</span><span class="p">(</span>
                     <span class="n">url</span><span class="p">,</span>
@@ -366,10 +356,11 @@
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">is_terminal</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">RUN_LIFE_CYCLE_STATES</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;Unexpected life cycle state: </span><span class="si">{}</span><span class="s1">: If the state has &#39;</span>
-                            <span class="s1">&#39;been introduced recently, please check the Databricks user &#39;</span>
-                            <span class="s1">&#39;guide for troubleshooting information&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                                <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span><span class="p">))</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="p">(</span><span class="s1">&#39;Unexpected life cycle state: </span><span class="si">{}</span><span class="s1">: If the state has &#39;</span>
+                 <span class="s1">&#39;been introduced recently, please check the Databricks user &#39;</span>
+                 <span class="s1">&#39;guide for troubleshooting information&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span><span class="p">))</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;TERMINATED&#39;</span><span class="p">,</span> <span class="s1">&#39;SKIPPED&#39;</span><span class="p">,</span> <span class="s1">&#39;INTERNAL_ERROR&#39;</span><span class="p">)</span>
 
     <span class="nd">@property</span>
@@ -399,9 +390,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -413,7 +402,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -432,6 +421,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -444,19 +434,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/datadog_hook.html b/_modules/airflow/contrib/hooks/datadog_hook.html
index b8c8e04..bb0a05f 100644
--- a/_modules/airflow/contrib/hooks/datadog_hook.html
+++ b/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -219,9 +209,11 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;api_key must be specified in the Datadog connection details&quot;</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;api_key must be specified in the &quot;</span>
+                                   <span class="s2">&quot;Datadog connection details&quot;</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;app_key must be specified in the Datadog connection details&quot;</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;app_key must be specified in the &quot;</span>
+                                   <span class="s2">&quot;Datadog connection details&quot;</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Setting up api keys for Datadog&quot;</span><span class="p">)</span>
         <span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
@@ -260,8 +252,8 @@
                      <span class="n">from_seconds_ago</span><span class="p">,</span>
                      <span class="n">to_seconds_ago</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Queries datadog for a specific metric, potentially with some function applied to it</span>
-<span class="sd">        and returns the results.</span>
+<span class="sd">        Queries datadog for a specific metric, potentially with some</span>
+<span class="sd">        function applied to it and returns the results.</span>
 
 <span class="sd">        :param query: The datadog query to execute (see datadog docs)</span>
 <span class="sd">        :type query: string</span>
@@ -283,8 +275,8 @@
 <div class="viewcode-block" id="DatadogHook.post_event"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.post_event">[docs]</a>    <span class="k">def</span> <span class="nf">post_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">tags</span><span class="o">=</span><span class="kc" [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Posts an event to datadog (processing finished, potentially alerts, other issues)</span>
-<span class="sd">        Think about this as a means to maintain persistence of alerts, rather than alerting</span>
-<span class="sd">        itself.</span>
+<span class="sd">        Think about this as a means to maintain persistence of alerts, rather than</span>
+<span class="sd">        alerting itself.</span>
 
 <span class="sd">        :param title: The title of the event</span>
 <span class="sd">        :type title: string</span>
@@ -312,9 +304,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -326,7 +316,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -345,6 +335,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -357,19 +348,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/datastore_hook.html b/_modules/airflow/contrib/hooks/datastore_hook.html
index 24ae17e..29aa16f 100644
--- a/_modules/airflow/contrib/hooks/datastore_hook.html
+++ b/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -189,7 +179,6 @@
 <span class="c1"># under the License.</span>
 <span class="c1">#</span>
 
-<span class="kn">import</span> <span class="nn">json</span>
 <span class="kn">import</span> <span class="nn">time</span>
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
@@ -216,7 +205,8 @@
 <span class="sd">        Returns a Google Cloud Storage service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;datastore&#39;</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;datastore&#39;</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.allocate_ids"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.allocate_ids">[docs]</a>    <span class="k">def</span> <span class="nf">allocate_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partialKeys</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -226,17 +216,22 @@
 <span class="sd">        :param partialKeys: a list of partial keys</span>
 <span class="sd">        :return: a list of full keys.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">allocateIds</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">bo [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">allocateIds</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="n">partialKeys</span><span class="p">}</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;keys&#39;</span><span class="p">]</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.begin_transaction"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.begin_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">begin_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a new transaction handle</span>
-<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/beginTransaction</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">                https://cloud.google.com/datastore/docs/reference/rest/v1/projects/beginTransaction</span>
 
 <span class="sd">        :return: a transaction handle</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">beginTransaction</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class=" [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">beginTransaction</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.commit"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.commit">[docs]</a>    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
@@ -249,7 +244,8 @@
 <span class="sd">        :param body: the body of the commit request</span>
 <span class="sd">        :return: the response body of the commit request</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">commit</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</s [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">commit</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.lookup"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.lookup">[docs]</a>    <span class="k">def</span> <span class="nf">lookup</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">keys</span><span class="p">,</span> <span class="n">read_consistency</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
@@ -270,7 +266,8 @@
             <span class="n">body</span><span class="p">[</span><span class="s1">&#39;readConsistency&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">read_consistency</span>
         <span class="k">if</span> <span class="n">transaction</span><span class="p">:</span>
             <span class="n">body</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">transaction</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</ [...]
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.rollback"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.rollback">[docs]</a>    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -281,7 +278,8 @@
 
 <span class="sd">        :param transaction: the transaction to roll back</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;transaction&#39;</span><span class="p">:</span> <span class="n">transaction</span><span class="p">})</span>\
             <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.run_query"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.run_query">[docs]</a>    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
@@ -294,7 +292,8 @@
 <span class="sd">        :param body: the body of the query request</span>
 <span class="sd">        :return: the batch of query results.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">runQuery</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body< [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">runQuery</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;batch&#39;</span><span class="p">]</span></div>
 
 <div class="viewcode-block" id="DatastoreHook.get_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.get_operation">[docs]</a>    <span class="k">def</span> <span class="nf">get_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
@@ -329,7 +328,8 @@
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">return</span> <span class="n">result</span></div>
 
-<div class="viewcode-block" id="DatastoreHook.export_to_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.export_to_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">export_to_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="o">=</span><span c [...]
+<div class="viewcode-block" id="DatastoreHook.export_to_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.export_to_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">export_to_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="o">=</span><span c [...]
+                                 <span class="n">entity_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Export entities from Cloud Datastore to Cloud Storage for backup</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -343,10 +343,12 @@
             <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
             <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
         <span class="p">}</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">export</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">b [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">export</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span></div>
 
-<div class="viewcode-block" id="DatastoreHook.import_from_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.import_from_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">import_from_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">file</span><span class="p">,</span> <span [...]
+<div class="viewcode-block" id="DatastoreHook.import_from_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.import_from_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">import_from_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">file</span><span class="p">,</span>
+                                   <span class="n">namespace</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">entity_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Import a backup from Cloud Storage to Cloud Datastore</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -360,14 +362,13 @@
             <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
             <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
         <span class="p">}</span>
-        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">import_</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n"> [...]
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">import_</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">resp</span></div></div>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -379,7 +380,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -398,6 +399,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -410,19 +412,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
index 1115b8c..b82d631 100644
--- a/_modules/airflow/contrib/hooks/discord_webhook_hook.html
+++ b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -312,9 +302,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -326,7 +314,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -345,6 +333,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -357,19 +346,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/emr_hook.html b/_modules/airflow/contrib/hooks/emr_hook.html
index 8a5a5c7..7aa2a43 100644
--- a/_modules/airflow/contrib/hooks/emr_hook.html
+++ b/_modules/airflow/contrib/hooks/emr_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -194,7 +184,8 @@
 
 <div class="viewcode-block" id="EmrHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.emr_hook.EmrHook">[docs]</a><span class="k">class</span> <span class="nc">EmrHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Interact with AWS EMR. emr_conn_id is only neccessary for using the create_job_flow method.</span>
+<span class="sd">    Interact with AWS EMR. emr_conn_id is only neccessary for using the</span>
+<span class="sd">    create_job_flow method.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">emr_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
@@ -208,7 +199,8 @@
 <div class="viewcode-block" id="EmrHook.create_job_flow"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.emr_hook.EmrHook.create_job_flow">[docs]</a>    <span class="k">def</span> <span class="nf">create_job_flow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_flow_overrides</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a job flow using the config from the EMR connection.</span>
-<span class="sd">        Keys of the json extra hash may have the arguments of the boto3 run_job_flow method.</span>
+<span class="sd">        Keys of the json extra hash may have the arguments of the boto3</span>
+<span class="sd">        run_job_flow method.</span>
 <span class="sd">        Overrides for this config may be passed as the job_flow_overrides.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
@@ -239,9 +231,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -253,7 +243,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -272,6 +262,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -284,19 +275,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/fs_hook.html b/_modules/airflow/contrib/hooks/fs_hook.html
index 984dd40..7b01482 100644
--- a/_modules/airflow/contrib/hooks/fs_hook.html
+++ b/_modules/airflow/contrib/hooks/fs_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -193,7 +183,7 @@
 
 
 <div class="viewcode-block" id="FSHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.fs_hook.FSHook">[docs]</a><span class="k">class</span> <span class="nc">FSHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
+    <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Allows for interaction with an file server.</span>
 
 <span class="sd">    Connection should have a name and a path specified under extra:</span>
@@ -203,7 +193,7 @@
 <span class="sd">    Conn Type: File (path)</span>
 <span class="sd">    Host, Shchema, Login, Password, Port: empty</span>
 <span class="sd">    Extra: {&quot;path&quot;: &quot;/tmp&quot;}</span>
-<span class="sd">    &#39;&#39;&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="s1">&#39;fs_default&#39;</span><span class="p">):</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
@@ -218,9 +208,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -232,7 +220,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -251,6 +239,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -263,19 +252,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/ftp_hook.html b/_modules/airflow/contrib/hooks/ftp_hook.html
index 07b434f..88879d9 100644
--- a/_modules/airflow/contrib/hooks/ftp_hook.html
+++ b/_modules/airflow/contrib/hooks/ftp_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -421,7 +411,7 @@
             <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">params</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
-               <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP_TLS</span><span class="o">.</span><span class="n">port</span><span class="o">=</span><span class="n">params</span><span class="o">.</span><span class="n">port</span>
+                <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP_TLS</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">port</span>
 
             <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP_TLS</span><span class="p">(</span>
                 <span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span>
@@ -431,9 +421,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -445,7 +433,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -464,6 +452,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -476,19 +465,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
index c81584e..78b729d 100644
--- a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -191,14 +181,18 @@
 <span class="kn">import</span> <span class="nn">json</span>
 
 <span class="kn">import</span> <span class="nn">httplib2</span>
-<span class="kn">from</span> <span class="nn">oauth2client.client</span> <span class="k">import</span> <span class="n">GoogleCredentials</span>
-<span class="kn">from</span> <span class="nn">oauth2client.service_account</span> <span class="k">import</span> <span class="n">ServiceAccountCredentials</span>
+<span class="kn">import</span> <span class="nn">google.auth</span>
+<span class="kn">import</span> <span class="nn">google_auth_httplib2</span>
+<span class="kn">import</span> <span class="nn">google.oauth2.service_account</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
 
+<span class="n">_DEFAULT_SCOPES</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;https://www.googleapis.com/auth/cloud-platform&#39;</span><span class="p">,)</span>
+
+
 <div class="viewcode-block" id="GoogleCloudBaseHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudBaseHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    A base hook for Google cloud-related hooks. Google cloud has a shared REST</span>
@@ -212,8 +206,10 @@
 <span class="sd">    All hook derived from this base hook use the &#39;Google Cloud Platform&#39; connection</span>
 <span class="sd">    type. Two ways of authentication are supported:</span>
 
-<span class="sd">    Default credentials: Only specify &#39;Project Id&#39;. Then you need to have executed</span>
-<span class="sd">    ``gcloud auth`` on the Airflow worker machine.</span>
+<span class="sd">    Default credentials: Only the &#39;Project Id&#39; is required. You&#39;ll need to</span>
+<span class="sd">    have set up default credentials, such as by the</span>
+<span class="sd">    ``GOOGLE_APPLICATION_DEFAULT`` environment variable or from the metadata</span>
+<span class="sd">    server on Google Compute Engine.</span>
 
 <span class="sd">    JSON key file: Specify &#39;Project Id&#39;, &#39;Key Path&#39; and &#39;Scope&#39;.</span>
 
@@ -239,32 +235,30 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">key_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;key_path&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
         <span class="n">keyfile_dict</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;keyfile_dict&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
-        <span class="n">scope</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;scope&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="n">scope</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;scope&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">scope</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">scopes</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">scopes</span> <span class="o">=</span> <span class="n">_DEFAULT_SCOPES</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="n">key_path</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">keyfile_dict</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using `gcloud auth` user, &#39;</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using `google.auth.default()` &#39;</span>
                           <span class="s1">&#39;since no key file is defined for hook.&#39;</span><span class="p">)</span>
-            <span class="n">credentials</span> <span class="o">=</span> <span class="n">GoogleCredentials</span><span class="o">.</span><span class="n">get_application_default</span><span class="p">()</span>
+            <span class="n">credentials</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">google</span><span class="o">.</span><span class="n">auth</span><span class="o">.</span><span class="n">default</span><span class="p">(</span><span class="n">scopes</span><span class="o">=</span><span class="n">scopes</span><span class="p">)</span>
         <span class="k">elif</span> <span class="n">key_path</span><span class="p">:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">scope</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Scope should be defined when using a key file.&#39;</span><span class="p">)</span>
-            <span class="n">scopes</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
-
             <span class="c1"># Get credentials from a JSON file.</span>
             <span class="k">if</span> <span class="n">key_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;.json&#39;</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using a JSON key file.&#39;</span><span class="p">)</span>
-                <span class="n">credentials</span> <span class="o">=</span> <span class="n">ServiceAccountCredentials</span> \
-                    <span class="o">.</span><span class="n">from_json_keyfile_name</span><span class="p">(</span><span class="n">key_path</span><span class="p">,</span> <span class="n">scopes</span><span class="p">)</span>
+                <span class="n">credentials</span> <span class="o">=</span> <span class="p">(</span>
+                    <span class="n">google</span><span class="o">.</span><span class="n">oauth2</span><span class="o">.</span><span class="n">service_account</span><span class="o">.</span><span class="n">Credentials</span><span class="o">.</span><span class="n">from_service_account_file</span><span class="p">(</span>
+                        <span class="n">key_path</span><span class="p">,</span> <span class="n">scopes</span><span class="o">=</span><span class="n">scopes</span><span class="p">)</span>
+                <span class="p">)</span>
             <span class="k">elif</span> <span class="n">key_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;.p12&#39;</span><span class="p">):</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Legacy P12 key file are not supported, &#39;</span>
                                        <span class="s1">&#39;use a JSON key file.&#39;</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unrecognised extension for key file.&#39;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">scope</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Scope should be defined when using key JSON.&#39;</span><span class="p">)</span>
-            <span class="n">scopes</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
-
             <span class="c1"># Get credentials from JSON data provided in the UI.</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">keyfile_dict</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">keyfile_dict</span><span class="p">)</span>
@@ -274,19 +268,21 @@
                 <span class="n">keyfile_dict</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">keyfile_dict</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
                     <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">n&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
 
-                <span class="n">credentials</span> <span class="o">=</span> <span class="n">ServiceAccountCredentials</span> \
-                    <span class="o">.</span><span class="n">from_json_keyfile_dict</span><span class="p">(</span><span class="n">keyfile_dict</span><span class="p">,</span> <span class="n">scopes</span><span class="p">)</span>
+                <span class="n">credentials</span> <span class="o">=</span> <span class="p">(</span>
+                    <span class="n">google</span><span class="o">.</span><span class="n">oauth2</span><span class="o">.</span><span class="n">service_account</span><span class="o">.</span><span class="n">Credentials</span><span class="o">.</span><span class="n">from_service_account_info</span><span class="p">(</span>
+                        <span class="n">keyfile_dict</span><span class="p">,</span> <span class="n">scopes</span><span class="o">=</span><span class="n">scopes</span><span class="p">)</span>
+                <span class="p">)</span>
             <span class="k">except</span> <span class="n">json</span><span class="o">.</span><span class="n">decoder</span><span class="o">.</span><span class="n">JSONDecodeError</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Invalid key JSON.&#39;</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">credentials</span><span class="o">.</span><span class="n">create_delegated</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span> \
+        <span class="k">return</span> <span class="n">credentials</span><span class="o">.</span><span class="n">with_subject</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span> \
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="k">else</span> <span class="n">credentials</span>
 
     <span class="k">def</span> <span class="nf">_get_access_token</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a valid access token from Google API Credentials</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_access_token</span><span class="p">()</span><span class="o">.</span><span class="n">access_token</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">token</span>
 
     <span class="k">def</span> <span class="nf">_authorize</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -295,7 +291,9 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">credentials</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">()</span>
         <span class="n">http</span> <span class="o">=</span> <span class="n">httplib2</span><span class="o">.</span><span class="n">Http</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">credentials</span><span class="o">.</span><span class="n">authorize</span><span class="p">(</span><span class="n">http</span><span class="p">)</span>
+        <span class="n">authed_http</span> <span class="o">=</span> <span class="n">google_auth_httplib2</span><span class="o">.</span><span class="n">AuthorizedHttp</span><span class="p">(</span>
+            <span class="n">credentials</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">authed_http</span>
 
     <span class="k">def</span> <span class="nf">_get_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">f</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -316,9 +314,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -330,7 +326,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -349,6 +345,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -361,19 +358,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_container_hook.html b/_modules/airflow/contrib/hooks/gcp_container_hook.html
new file mode 100644
index 0000000..4cb7114
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_container_hook.html
@@ -0,0 +1,435 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_container_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_container_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_container_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">version</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+<span class="kn">from</span> <span class="nn">google.api_core.exceptions</span> <span class="k">import</span> <span class="n">AlreadyExists</span>
+<span class="kn">from</span> <span class="nn">google.api_core.gapic_v1.method</span> <span class="k">import</span> <span class="n">DEFAULT</span>
+<span class="kn">from</span> <span class="nn">google.cloud</span> <span class="k">import</span> <span class="n">container_v1</span><span class="p">,</span> <span class="n">exceptions</span>
+<span class="kn">from</span> <span class="nn">google.cloud.container_v1.gapic.enums</span> <span class="k">import</span> <span class="n">Operation</span>
+<span class="kn">from</span> <span class="nn">google.cloud.container_v1.types</span> <span class="k">import</span> <span class="n">Cluster</span>
+<span class="kn">from</span> <span class="nn">google.protobuf</span> <span class="k">import</span> <span class="n">json_format</span>
+<span class="kn">from</span> <span class="nn">google.api_core.gapic_v1.client_info</span> <span class="k">import</span> <span class="n">ClientInfo</span>
+
+<span class="n">OPERATIONAL_POLL_INTERVAL</span> <span class="o">=</span> <span class="mi">15</span>
+
+
+<div class="viewcode-block" id="GKEClusterHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook">[docs]</a><span class="k">class</span> <span class="nc">GKEClusterHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">location</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="n">location</span>
+
+        <span class="c1"># Add client library info for better error tracking</span>
+        <span class="n">client_info</span> <span class="o">=</span> <span class="n">ClientInfo</span><span class="p">(</span><span class="n">client_library_version</span><span class="o">=</span><span class="s1">&#39;airflow_v&#39;</span> <span class="o">+</span> <span class="n">version</span><span class="o">.</span><span class="n">version</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">container_v1</span><span class="o">.</span><span class="n">ClusterManagerClient</span><span class="p">(</span><span class="n">client_info</span><span class="o">=</span><span class="n">client_info</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_dict_to_proto</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">py_dict</span><span class="p">,</span> <span class="n">proto</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Converts a python dictionary to the proto supplied</span>
+<span class="sd">        :param py_dict: The dictionary to convert</span>
+<span class="sd">        :type py_dict: dict</span>
+<span class="sd">        :param proto: The proto object to merge with dictionary</span>
+<span class="sd">        :type proto: protobuf</span>
+<span class="sd">        :return: A parsed python dictionary in provided proto format</span>
+<span class="sd">        :raises:</span>
+<span class="sd">            ParseError: On JSON parsing problems.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dict_json_str</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">py_dict</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">json_format</span><span class="o">.</span><span class="n">Parse</span><span class="p">(</span><span class="n">dict_json_str</span><span class="p">,</span> <span class="n">proto</span><span class="p">)</span>
+
+<div class="viewcode-block" id="GKEClusterHook.wait_for_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.wait_for_operation">[docs]</a>    <span class="k">def</span> <span class="nf">wait_for_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given an operation, continuously fetches the status from Google Cloud until either</span>
+<span class="sd">        completion or an error occurring</span>
+<span class="sd">        :param operation: The Operation to wait for</span>
+<span class="sd">        :type operation: A google.cloud.container_V1.gapic.enums.Operator</span>
+<span class="sd">        :return: A new, updated operation fetched from Google Cloud</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Waiting for OPERATION_NAME </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">operation</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+        <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">OPERATIONAL_POLL_INTERVAL</span><span class="p">)</span>
+        <span class="k">while</span> <span class="n">operation</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="n">Operation</span><span class="o">.</span><span class="n">Status</span><span class="o">.</span><span class="n">DONE</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">operation</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">Operation</span><span class="o">.</span><span class="n">Status</span><span class="o">.</span><span class="n">RUNNING</span> <span class="ow">or</span> <span class="n">operation</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> \
+                    <span class="n">Operation</span><span class="o">.</span><span class="n">Status</span><span class="o">.</span><span class="n">PENDING</span><span class="p">:</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">OPERATIONAL_POLL_INTERVAL</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">GoogleCloudError</span><span class="p">(</span>
+                    <span class="s2">&quot;Operation has failed with status: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">operation</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
+            <span class="c1"># To update status of operation</span>
+            <span class="n">operation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_operation</span><span class="p">(</span><span class="n">operation</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">operation</span></div>
+
+<div class="viewcode-block" id="GKEClusterHook.get_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.get_operation">[docs]</a>    <span class="k">def</span> <span class="nf">get_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetches the operation from Google Cloud</span>
+<span class="sd">        :param operation_name: Name of operation to fetch</span>
+<span class="sd">        :type operation_name: str</span>
+<span class="sd">        :return: The new, updated operation from Google Cloud</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">get_operation</span><span class="p">(</span><span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                         <span class="n">zone</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+                                         <span class="n">operation_id</span><span class="o">=</span><span class="n">operation_name</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_append_label</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cluster_proto</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">val</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Append labels to provided Cluster Protobuf</span>
+
+<span class="sd">        Labels must fit the regex [a-z]([-a-z0-9]*[a-z0-9])? (current airflow version</span>
+<span class="sd">        string follows semantic versioning spec: x.y.z).</span>
+<span class="sd">        :param cluster_proto: The proto to append resource_label airflow version to</span>
+<span class="sd">        :type cluster_proto: google.cloud.container_v1.types.Cluster</span>
+<span class="sd">        :param key: The key label</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param val:</span>
+<span class="sd">        :type val: str</span>
+<span class="sd">        :return: The cluster proto updated with new label</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">val</span> <span class="o">=</span> <span class="n">val</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;+&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">)</span>
+        <span class="n">cluster_proto</span><span class="o">.</span><span class="n">resource_labels</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">val</span><span class="p">})</span>
+        <span class="k">return</span> <span class="n">cluster_proto</span>
+
+<div class="viewcode-block" id="GKEClusterHook.delete_cluster"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.delete_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">delete_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">retry</span><span class="o">=</span><span class="n">DEFAULT</span><span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes the cluster, including the Kubernetes endpoint and all</span>
+<span class="sd">        worker nodes. Firewalls and routes that were configured during</span>
+<span class="sd">        cluster creation are also deleted. Other Google Compute Engine</span>
+<span class="sd">        resources that might be in use by the cluster (e.g. load balancer</span>
+<span class="sd">        resources) will not be deleted if they weren’t present at the</span>
+<span class="sd">        initial create time.</span>
+
+<span class="sd">        :param name: The name of the cluster to delete</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param retry: Retry object used to determine when/if to retry requests.</span>
+<span class="sd">            If None is specified, requests will not be retried.</span>
+<span class="sd">        :type retry: google.api_core.retry.Retry</span>
+<span class="sd">        :param timeout: The amount of time, in seconds, to wait for the request to</span>
+<span class="sd">            complete. Note that if retry is specified, the timeout applies to each</span>
+<span class="sd">            individual attempt.</span>
+<span class="sd">        :type timeout: float</span>
+<span class="sd">        :return: The full url to the delete operation if successful, else None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Deleting (project_id=</span><span class="si">{}</span><span class="s2">, zone=</span><span class="si">{}</span><span class="s2">, cluster_id=</span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span> <span class="n">name</span><span class="p">))</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">op</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">delete_cluster</span><span class="p">(</span><span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                            <span class="n">zone</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+                                            <span class="n">cluster_id</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
+                                            <span class="n">retry</span><span class="o">=</span><span class="n">retry</span><span class="p">,</span>
+                                            <span class="n">timeout</span><span class="o">=</span><span class="n">timeout</span><span class="p">)</span>
+            <span class="n">op</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">wait_for_operation</span><span class="p">(</span><span class="n">op</span><span class="p">)</span>
+            <span class="c1"># Returns server-defined url for the resource</span>
+            <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">self_link</span>
+        <span class="k">except</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">NotFound</span> <span class="k">as</span> <span class="n">error</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Assuming Success: &#39;</span> <span class="o">+</span> <span class="n">error</span><span class="o">.</span><span class="n">message</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GKEClusterHook.create_cluster"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.create_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">create_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cluster</span><span class="p">,</span> <span class="n">retry</span><span class="o">=</span><span class="n">DEFAULT</span><spa [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a cluster, consisting of the specified number and type of Google Compute</span>
+<span class="sd">        Engine instances.</span>
+
+<span class="sd">        :param cluster: A Cluster protobuf or dict. If dict is provided, it must be of</span>
+<span class="sd">            the same form as the protobuf message google.cloud.container_v1.types.Cluster</span>
+<span class="sd">        :type cluster: dict or google.cloud.container_v1.types.Cluster</span>
+<span class="sd">        :param retry: A retry object (google.api_core.retry.Retry) used to retry requests.</span>
+<span class="sd">            If None is specified, requests will not be retried.</span>
+<span class="sd">        :type retry: google.api_core.retry.Retry</span>
+<span class="sd">        :param timeout: The amount of time, in seconds, to wait for the request to</span>
+<span class="sd">            complete. Note that if retry is specified, the timeout applies to each</span>
+<span class="sd">            individual attempt.</span>
+<span class="sd">        :type timeout: float</span>
+<span class="sd">        :return: The full url to the new, or existing, cluster</span>
+<span class="sd">        :raises</span>
+<span class="sd">            ParseError: On JSON parsing problems when trying to convert dict</span>
+<span class="sd">            AirflowException: cluster is not dict type nor Cluster proto type</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cluster</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+            <span class="n">cluster_proto</span> <span class="o">=</span> <span class="n">Cluster</span><span class="p">()</span>
+            <span class="n">cluster</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dict_to_proto</span><span class="p">(</span><span class="n">py_dict</span><span class="o">=</span><span class="n">cluster</span><span class="p">,</span> <span class="n">proto</span><span class="o">=</span><span class="n">cluster_proto</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cluster</span><span class="p">,</span> <span class="n">Cluster</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s2">&quot;cluster is not instance of Cluster proto or python dict&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_append_label</span><span class="p">(</span><span class="n">cluster</span><span class="p">,</span> <span class="s1">&#39;airflow-version&#39;</span><span class="p">,</span> <span class="s1">&#39;v&#39;</span> <span class="o">+</span> <span class="n">version</span><span class="o">.</span><span class="n">version</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating (project_id=</span><span class="si">{}</span><span class="s2">, zone=</span><span class="si">{}</span><span class="s2">, cluster_name=</span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+            <span class="n">cluster</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">op</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">create_cluster</span><span class="p">(</span><span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                            <span class="n">zone</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+                                            <span class="n">cluster</span><span class="o">=</span><span class="n">cluster</span><span class="p">,</span>
+                                            <span class="n">retry</span><span class="o">=</span><span class="n">retry</span><span class="p">,</span>
+                                            <span class="n">timeout</span><span class="o">=</span><span class="n">timeout</span><span class="p">)</span>
+            <span class="n">op</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">wait_for_operation</span><span class="p">(</span><span class="n">op</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">target_link</span>
+        <span class="k">except</span> <span class="n">AlreadyExists</span> <span class="k">as</span> <span class="n">error</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Assuming Success: &#39;</span> <span class="o">+</span> <span class="n">error</span><span class="o">.</span><span class="n">message</span><span class="p">)</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_cluster</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">cluster</span><span class="o">.</span><span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">self_link</span></div>
+
+<div class="viewcode-block" id="GKEClusterHook.get_cluster"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.get_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">retry</span><span class="o">=</span><span class="n">DEFAULT</span><span class="p"> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets details of specified cluster</span>
+<span class="sd">        :param name: The name of the cluster to retrieve</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param retry: A retry object used to retry requests. If None is specified,</span>
+<span class="sd">            requests will not be retried.</span>
+<span class="sd">        :type retry: google.api_core.retry.Retry</span>
+<span class="sd">        :param timeout: The amount of time, in seconds, to wait for the request to</span>
+<span class="sd">            complete. Note that if retry is specified, the timeout applies to each</span>
+<span class="sd">            individual attempt.</span>
+<span class="sd">        :type timeout: float</span>
+<span class="sd">        :return: A google.cloud.container_v1.types.Cluster instance</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Fetching cluster (project_id=</span><span class="si">{}</span><span class="s2">, zone=</span><span class="si">{}</span><span class="s2">, cluster_name=</span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+            <span class="n">name</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">get_cluster</span><span class="p">(</span><span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                       <span class="n">zone</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+                                       <span class="n">cluster_id</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
+                                       <span class="n">retry</span><span class="o">=</span><span class="n">retry</span><span class="p">,</span>
+                                       <span class="n">timeout</span><span class="o">=</span><span class="n">timeout</span><span class="p">)</span><span class="o">.</span><span class="n">self_link</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
index ce6f6ff..808d22f 100644
--- a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -340,7 +330,8 @@
 <span class="sd">        Returns a Google Cloud Storage service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;dataflow&#39;</span><span class="p">,</span> <span class="s1">&#39;v1b3&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;dataflow&#39;</span><span class="p">,</span> <span class="s1">&#39;v1b3&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
     <span class="k">def</span> <span class="nf">_start_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span>
                         <span class="n">command_prefix</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">):</span>
@@ -434,9 +425,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -448,7 +437,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -467,6 +456,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -479,19 +469,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
index 4ca7edd..d22dfa5 100644
--- a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -192,6 +182,7 @@
 <span class="kn">import</span> <span class="nn">uuid</span>
 
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">zope.deprecation</span> <span class="k">import</span> <span class="n">deprecation</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
@@ -375,7 +366,9 @@
 <div class="viewcode-block" id="DataProcHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Returns a Google Cloud Dataproc service object.&quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;dataproc&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;dataproc&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span>
+            <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
     <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">region</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
@@ -393,16 +386,23 @@
         <span class="k">return</span> <span class="n">_DataProcJobBuilder</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">,</span>
                                    <span class="n">job_type</span><span class="p">,</span> <span class="n">properties</span><span class="p">)</span>
 
-<div class="viewcode-block" id="DataProcHook.await"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook.await">[docs]</a>    <span class="k">def</span> <span class="nf">await</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcHook.wait"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook.wait">[docs]</a>    <span class="k">def</span> <span class="nf">wait</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Awaits for Google Cloud Dataproc Operation to complete.&quot;&quot;&quot;</span>
         <span class="n">submitted</span> <span class="o">=</span> <span class="n">_DataProcOperation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">operation</span><span class="p">)</span>
         <span class="n">submitted</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span></div></div>
+
+
+<span class="nb">setattr</span><span class="p">(</span>
+    <span class="n">DataProcHook</span><span class="p">,</span>
+    <span class="s2">&quot;await&quot;</span><span class="p">,</span>
+    <span class="n">deprecation</span><span class="o">.</span><span class="n">deprecated</span><span class="p">(</span>
+        <span class="n">DataProcHook</span><span class="o">.</span><span class="n">wait</span><span class="p">,</span> <span class="s2">&quot;renamed to &#39;wait&#39; for Python3.7 compatability&quot;</span>
+    <span class="p">),</span>
+<span class="p">)</span>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -414,7 +414,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -433,6 +433,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -445,19 +446,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
index df9ea25..b961738 100644
--- a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -188,7 +178,6 @@
 <span class="kn">import</span> <span class="nn">time</span>
 <span class="kn">from</span> <span class="nn">apiclient</span> <span class="k">import</span> <span class="n">errors</span>
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
-<span class="kn">from</span> <span class="nn">oauth2client.client</span> <span class="k">import</span> <span class="n">GoogleCredentials</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
@@ -226,8 +215,8 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Google MLEngine service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">credentials</span> <span class="o">=</span> <span class="n">GoogleCredentials</span><span class="o">.</span><span class="n">get_application_default</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;ml&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">credentials</span><span class="o">=</span><span class="n">credentials</span><span class="p">)</span></div>
+        <span class="n">authed_http</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;ml&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">authed_http</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="MLEngineHook.create_job"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_mlengine_hook.MLEngineHook.create_job">[docs]</a>    <span class="k">def</span> <span class="nf">create_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">use_existing_job_fn</span><span c [...]
         <span class="sd">&quot;&quot;&quot;</span>
@@ -439,9 +428,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -453,7 +440,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -472,6 +459,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -484,19 +472,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
index 19713d1..1cb0cac 100644
--- a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -224,7 +214,8 @@
 <span class="sd">        :rtype: apiclient.discovery.Resource</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;pubsub&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;pubsub&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="PubSubHook.publish"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.publish">[docs]</a>    <span class="k">def</span> <span class="nf">publish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">messages</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Publishes messages to a Pub/Sub topic.</span>
@@ -456,9 +447,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -470,7 +459,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -489,6 +478,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -501,19 +491,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcs_hook.html b/_modules/airflow/contrib/hooks/gcs_hook.html
index 5db94f8..c4896fb 100644
--- a/_modules/airflow/contrib/hooks/gcs_hook.html
+++ b/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -215,7 +205,8 @@
 <span class="sd">        Returns a Google Cloud Storage service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
     <span class="c1"># pylint:disable=redefined-builtin</span>
 <div class="viewcode-block" id="GoogleCloudStorageHook.copy"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.copy">[docs]</a>    <span class="k">def</span> <span class="nf">copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">,</span> <span class="n">destination_bucket</span><s [...]
@@ -238,8 +229,9 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">destination_bucket</span> <span class="o">=</span> <span class="n">destination_bucket</span> <span class="ow">or</span> <span class="n">source_bucket</span>
         <span class="n">destination_object</span> <span class="o">=</span> <span class="n">destination_object</span> <span class="ow">or</span> <span class="n">source_object</span>
-        <span class="k">if</span> <span class="p">(</span><span class="n">source_bucket</span> <span class="o">==</span> <span class="n">destination_bucket</span> <span class="ow">and</span>
-            <span class="n">source_object</span> <span class="o">==</span> <span class="n">destination_object</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">source_bucket</span> <span class="o">==</span> <span class="n">destination_bucket</span> <span class="ow">and</span> \
+                <span class="n">source_object</span> <span class="o">==</span> <span class="n">destination_object</span><span class="p">:</span>
+
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
                 <span class="s1">&#39;Either source/destination bucket or source/destination object &#39;</span>
                 <span class="s1">&#39;must be different, not both the same: bucket=</span><span class="si">%s</span><span class="s1">, object=</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
@@ -355,10 +347,16 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">media</span> <span class="o">=</span> <span class="n">MediaFileUpload</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">mime_type</span><span class="p">)</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">service</span> \
-            <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
-            <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">media_body</span><span class="o">=</span><span class="n">media</span><span class="p">)</span> \
-            <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span> \
+                <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">media_body</span><span class="o">=</span><span class="n">media</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div>
 
     <span class="c1"># pylint:disable=redefined-builtin</span>
 <div class="viewcode-block" id="GoogleCloudStorageHook.exists"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.exists">[docs]</a>    <span class="k">def</span> <span class="nf">exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
@@ -458,7 +456,8 @@
 <span class="sd">        :type versions: boolean</span>
 <span class="sd">        :param maxResults: max count of items to return in a single page of responses</span>
 <span class="sd">        :type maxResults: integer</span>
-<span class="sd">        :param prefix: prefix string which filters objects whose name begin with this prefix</span>
+<span class="sd">        :param prefix: prefix string which filters objects whose name begin with</span>
+<span class="sd">            this prefix</span>
 <span class="sd">        :type prefix: string</span>
 <span class="sd">        :param delimiter: filters objects based on the delimiter (for e.g &#39;.csv&#39;)</span>
 <span class="sd">        :type delimiter: string</span>
@@ -510,7 +509,9 @@
 <span class="sd">        :type object: string</span>
 
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking the file size of object: </span><span class="si">%s</span><span class="s1"> in bucket: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">bucket</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking the file size of object: </span><span class="si">%s</span><span class="s1"> in bucket: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="nb">object</span><span class="p">,</span>
+                      <span class="n">bucket</span><span class="p">)</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
@@ -698,9 +699,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -712,7 +711,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -731,6 +730,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -743,19 +743,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/jenkins_hook.html b/_modules/airflow/contrib/hooks/jenkins_hook.html
index 783bfa6..1ffe07f 100644
--- a/_modules/airflow/contrib/hooks/jenkins_hook.html
+++ b/_modules/airflow/contrib/hooks/jenkins_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -220,9 +210,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -234,7 +222,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -253,6 +241,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -265,19 +254,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/jira_hook.html b/_modules/airflow/contrib/hooks/jira_hook.html
index 7dc6dc0..cdf8dc2 100644
--- a/_modules/airflow/contrib/hooks/jira_hook.html
+++ b/_modules/airflow/contrib/hooks/jira_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -203,9 +193,11 @@
 <span class="sd">    :type jira_conn_id: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">jira_conn_id</span><span class="o">=</span><span class="s1">&#39;jira_default&#39;</span><span class="p">):</span>
+                 <span class="n">jira_conn_id</span><span class="o">=</span><span class="s1">&#39;jira_default&#39;</span><span class="p">,</span>
+                 <span class="n">proxies</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">JiraHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">jira_conn_id</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">jira_conn_id</span> <span class="o">=</span> <span class="n">jira_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">proxies</span> <span class="o">=</span> <span class="n">proxies</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
@@ -244,7 +236,8 @@
                                        <span class="n">options</span><span class="o">=</span><span class="n">extra_options</span><span class="p">,</span>
                                        <span class="n">basic_auth</span><span class="o">=</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">),</span>
                                        <span class="n">get_server_info</span><span class="o">=</span><span class="n">get_server_info</span><span class="p">,</span>
-                                       <span class="n">validate</span><span class="o">=</span><span class="n">validate</span><span class="p">)</span>
+                                       <span class="n">validate</span><span class="o">=</span><span class="n">validate</span><span class="p">,</span>
+                                       <span class="n">proxies</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">proxies</span><span class="p">)</span>
                 <span class="k">except</span> <span class="n">JIRAError</span> <span class="k">as</span> <span class="n">jira_error</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Failed to create jira client, jira error: </span><span class="si">%s</span><span class="s1">&#39;</span>
                                            <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">jira_error</span><span class="p">))</span>
@@ -256,9 +249,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -270,7 +261,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -289,6 +280,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -301,19 +293,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/mongo_hook.html b/_modules/airflow/contrib/hooks/mongo_hook.html
new file mode 100644
index 0000000..e1c22e1
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/mongo_hook.html
@@ -0,0 +1,337 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.mongo_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.mongo_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.mongo_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">from</span> <span class="nn">ssl</span> <span class="k">import</span> <span class="n">CERT_NONE</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">pymongo</span> <span class="k">import</span> <span class="n">MongoClient</span>
+
+
+<div class="viewcode-block" id="MongoHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook">[docs]</a><span class="k">class</span> <span class="nc">MongoHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    PyMongo Wrapper to Interact With Mongo Database</span>
+<span class="sd">    Mongo Connection Documentation</span>
+<span class="sd">    https://docs.mongodb.com/manual/reference/connection-string/index.html</span>
+<span class="sd">    You can specify connection string options in extra field of your connection</span>
+<span class="sd">    https://docs.mongodb.com/manual/reference/connection-string/index.html#connection-string-options</span>
+<span class="sd">    ex.</span>
+<span class="sd">        {replicaSet: test, ssl: True, connectTimeoutMS: 30000}</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">conn_type</span> <span class="o">=</span> <span class="s1">&#39;MongoDb&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="s1">&#39;mongo_default&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">MongoHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">source</span><span class="o">=</span><span class="s1">&#39;mongo&#39;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mongo_conn_id</span> <span class="o">=</span> <span class="n">conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extras</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="MongoHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetches PyMongo Client</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span>
+
+        <span class="n">uri</span> <span class="o">=</span> <span class="s1">&#39;mongodb://</span><span class="si">{creds}{host}{port}</span><span class="s1">/</span><span class="si">{database}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">creds</span><span class="o">=</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">@&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span>
+            <span class="p">)</span> <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+
+            <span class="n">host</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">port</span><span class="o">=</span><span class="s1">&#39;&#39;</span> <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="s1">&#39;:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o"> [...]
+            <span class="n">database</span><span class="o">=</span><span class="s1">&#39;&#39;</span> <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span>
+        <span class="p">)</span>
+
+        <span class="c1"># Mongo Connection Options dict that is unpacked when passed to MongoClient</span>
+        <span class="n">options</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span>
+
+        <span class="c1"># If we are using SSL disable requiring certs from specific hostname</span>
+        <span class="k">if</span> <span class="n">options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ssl&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
+            <span class="n">options</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;ssl_cert_reqs&#39;</span><span class="p">:</span> <span class="n">CERT_NONE</span><span class="p">})</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">MongoClient</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="o">**</span><span class="n">options</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span></div>
+
+<div class="viewcode-block" id="MongoHook.get_collection"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.get_collection">[docs]</a>    <span class="k">def</span> <span class="nf">get_collection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mongo_collection</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetches a mongo collection object for querying.</span>
+
+<span class="sd">        Uses connection schema as DB unless specified.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">mongo_db</span> <span class="o">=</span> <span class="n">mongo_db</span> <span class="k">if</span> <span class="n">mongo_db</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">schema</span>
+        <span class="n">mongo_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">mongo_conn</span><span class="o">.</span><span class="n">get_database</span><span class="p">(</span><span class="n">mongo_db</span><span class="p">)</span><span class="o">.</span><span class="n">get_collection</span><span class="p">(</span><span class="n">mongo_collection</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MongoHook.aggregate"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.aggregate">[docs]</a>    <span class="k">def</span> <span class="nf">aggregate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mongo_collection</span><span class="p">,</span> <span class="n">aggregate_query</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Runs an aggregation pipeline and returns the results</span>
+<span class="sd">        https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.aggregate</span>
+<span class="sd">        https://api.mongodb.com/python/current/examples/aggregation.html</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">collection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collection</span><span class="p">(</span><span class="n">mongo_collection</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span class="n">mongo_db</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">collection</span><span class="o">.</span><span class="n">aggregate</span><span class="p">(</span><span class="n">aggregate_query</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MongoHook.find"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.find">[docs]</a>    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mongo_collection</span><span class="p">,</span> <span class="n">query</span><span class="p">,</span> <span class="n">find_one</span><span class="o">=</span><span class="kc">False</ [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Runs a mongo find query and returns the results</span>
+<span class="sd">        https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">collection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collection</span><span class="p">(</span><span class="n">mongo_collection</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span class="n">mongo_db</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">find_one</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">collection</span><span class="o">.</span><span class="n">find_one</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">collection</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MongoHook.insert_one"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.insert_one">[docs]</a>    <span class="k">def</span> <span class="nf">insert_one</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mongo_collection</span><span class="p">,</span> <span class="n">doc</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span cl [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Inserts a single document into a mongo collection</span>
+<span class="sd">        https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.insert_one</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">collection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collection</span><span class="p">(</span><span class="n">mongo_collection</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span class="n">mongo_db</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">collection</span><span class="o">.</span><span class="n">insert_one</span><span class="p">(</span><span class="n">doc</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MongoHook.insert_many"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.mongo_hook.MongoHook.insert_many">[docs]</a>    <span class="k">def</span> <span class="nf">insert_many</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mongo_collection</span><span class="p">,</span> <span class="n">docs</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><spa [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Inserts many docs into a mongo collection.</span>
+<span class="sd">        https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.insert_many</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">collection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collection</span><span class="p">(</span><span class="n">mongo_collection</span><span class="p">,</span> <span class="n">mongo_db</span><span class="o">=</span><span class="n">mongo_db</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">collection</span><span class="o">.</span><span class="n">insert_many</span><span class="p">(</span><span class="n">docs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/pinot_hook.html b/_modules/airflow/contrib/hooks/pinot_hook.html
index a34b554..2c03016 100644
--- a/_modules/airflow/contrib/hooks/pinot_hook.html
+++ b/_modules/airflow/contrib/hooks/pinot_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -266,20 +256,18 @@
             <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
             <span class="k">return</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span></div>
 
-    <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
-        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+<div class="viewcode-block" id="PinotDbApiHook.set_autocommit"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.set_autocommit">[docs]</a>    <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">commit_every</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
+<div class="viewcode-block" id="PinotDbApiHook.get_pandas_df"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="PinotDbApiHook.insert_rows"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span> [...]
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -291,7 +279,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -310,6 +298,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -322,19 +311,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/qubole_hook.html b/_modules/airflow/contrib/hooks/qubole_hook.html
index c5fbc73..4968269 100644
--- a/_modules/airflow/contrib/hooks/qubole_hook.html
+++ b/_modules/airflow/contrib/hooks/qubole_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -265,7 +255,7 @@
                 <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
                 <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;done&#39;</span><span class="p">:</span>
                     <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Command ID: </span><span class="si">%s</span><span class="s1"> has been succeeded, hence marking this &#39;</span>
-                                <span class="s1">&#39;TI as Success.&#39;</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span>
+                             <span class="s1">&#39;TI as Success.&#39;</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span>
                     <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
                 <span class="k">elif</span> <span class="n">cmd</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;running&#39;</span><span class="p">:</span>
                     <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Cancelling the Qubole Command Id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span>
@@ -359,10 +349,10 @@
         <span class="n">inplace_args</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="n">tags</span> <span class="o">=</span> <span class="nb">set</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;run_id&#39;</span><span class="p">]])</span>
 
-        <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
             <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">COMMAND_ARGS</span><span class="p">[</span><span class="n">cmd_type</span><span class="p">]:</span>
                 <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">HYPHEN_ARGS</span><span class="p">:</span>
-                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class=" [...]
+                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class=" [...]
                 <span class="k">elif</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">POSITIONAL_ARGS</span><span class="p">:</span>
                     <span class="n">inplace_args</span> <span class="o">=</span> <span class="n">v</span>
                 <span class="k">elif</span> <span class="n">k</span> <span class="o">==</span> <span class="s1">&#39;tags&#39;</span><span class="p">:</span>
@@ -372,12 +362,12 @@
                         <span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">v</span><span class="p">:</span>
                             <span class="n">tags</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
-                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="n">v</span><span class="p">))</span>
+                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">))</span>
 
             <span class="k">if</span> <span class="n">k</span> <span class="o">==</span> <span class="s1">&#39;notify&#39;</span> <span class="ow">and</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
                 <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--notify&quot;</span><span class="p">)</span>
 
-        <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--tags=</span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">, [...]
+        <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--tags=</span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">, [...]
 
         <span class="k">if</span> <span class="n">inplace_args</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">args</span> <span class="o">+=</span> <span class="n">inplace_args</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">)</span>
@@ -386,9 +376,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -400,7 +388,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -419,6 +407,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -431,19 +420,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/redis_hook.html b/_modules/airflow/contrib/hooks/redis_hook.html
index 1d0c202..e559ff0 100644
--- a/_modules/airflow/contrib/hooks/redis_hook.html
+++ b/_modules/airflow/contrib/hooks/redis_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -265,9 +255,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -279,7 +267,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -298,6 +286,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -310,19 +299,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/redshift_hook.html b/_modules/airflow/contrib/hooks/redshift_hook.html
index 314fd9e..e587dc2 100644
--- a/_modules/airflow/contrib/hooks/redshift_hook.html
+++ b/_modules/airflow/contrib/hooks/redshift_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -285,9 +275,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -299,7 +287,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -318,6 +306,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -330,19 +319,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/segment_hook.html b/_modules/airflow/contrib/hooks/segment_hook.html
new file mode 100644
index 0000000..ccb8fd0
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/segment_hook.html
@@ -0,0 +1,310 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.segment_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.segment_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.segment_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">This module contains a Segment Hook</span>
+<span class="sd">which allows you to connect to your Segment account,</span>
+<span class="sd">retrieve data from it or write to that file.</span>
+
+<span class="sd">NOTE:   this hook also relies on the Segment analytics package:</span>
+<span class="sd">        https://github.com/segmentio/analytics-python</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="kn">import</span> <span class="nn">analytics</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="SegmentHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.segment_hook.SegmentHook">[docs]</a><span class="k">class</span> <span class="nc">SegmentHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">segment_conn_id</span><span class="o">=</span><span class="s1">&#39;segment_default&#39;</span><span class="p">,</span>
+            <span class="n">segment_debug_mode</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span>
+    <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create new connection to Segment</span>
+<span class="sd">        and allows you to pull data out of Segment or write to it.</span>
+
+<span class="sd">        You can then use that file with other</span>
+<span class="sd">        Airflow operators to move the data around or interact with segment.</span>
+
+<span class="sd">        :param segment_conn_id: the name of the connection that has the parameters</span>
+<span class="sd">                            we need to connect to Segment.</span>
+<span class="sd">                            The connection should be type `json` and include a</span>
+<span class="sd">                            write_key security token in the `Extras` field.</span>
+<span class="sd">        :type segment_conn_id: str</span>
+<span class="sd">        :param segment_debug_mode: Determines whether Segment should run in debug mode.</span>
+<span class="sd">        Defaults to False</span>
+<span class="sd">        :type segment_debug_mode: boolean</span>
+<span class="sd">        .. note::</span>
+<span class="sd">            You must include a JSON structure in the `Extras` field.</span>
+<span class="sd">            We need a user&#39;s security token to connect to Segment.</span>
+<span class="sd">            So we define it in the `Extras` field as:</span>
+<span class="sd">                `{&quot;write_key&quot;:&quot;YOUR_SECURITY_TOKEN&quot;}`</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">segment_conn_id</span> <span class="o">=</span> <span class="n">segment_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">segment_debug_mode</span> <span class="o">=</span> <span class="n">segment_debug_mode</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_args</span> <span class="o">=</span> <span class="n">args</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_kwargs</span> <span class="o">=</span> <span class="n">kwargs</span>
+
+        <span class="c1"># get the connection parameters</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">segment_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extras</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">write_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;write_key&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;No Segment write key provided&#39;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Setting write key for Segment analytics connection&#39;</span><span class="p">)</span>
+        <span class="n">analytics</span><span class="o">.</span><span class="n">debug</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">segment_debug_mode</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">segment_debug_mode</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Setting Segment analytics connection to debug mode&#39;</span><span class="p">)</span>
+        <span class="n">analytics</span><span class="o">.</span><span class="n">on_error</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_error</span>
+        <span class="n">analytics</span><span class="o">.</span><span class="n">write_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_key</span>
+        <span class="k">return</span> <span class="n">analytics</span>
+
+<div class="viewcode-block" id="SegmentHook.on_error"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.segment_hook.SegmentHook.on_error">[docs]</a>    <span class="k">def</span> <span class="nf">on_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">error</span><span class="p">,</span> <span class="n">items</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Handles error callbacks when using Segment with segment_debug_mode set to True</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Encountered Segment error: </span><span class="si">{segment_error}</span><span class="s1"> with &#39;</span>
+                       <span class="s1">&#39;items: </span><span class="si">{with_items}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">segment_error</span><span class="o">=</span><span class="n">error</span><span class="p">,</span>
+                                                    <span class="n">with_items</span><span class="o">=</span><span class="n">items</span><span class="p">))</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Segment error: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error</span><span class="p">))</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/sftp_hook.html b/_modules/airflow/contrib/hooks/sftp_hook.html
index 6b048cb..efc5485 100644
--- a/_modules/airflow/contrib/hooks/sftp_hook.html
+++ b/_modules/airflow/contrib/hooks/sftp_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -341,9 +331,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -355,7 +343,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -374,6 +362,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -386,19 +375,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/slack_webhook_hook.html b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
index e3e9dfc..8112c68 100644
--- a/_modules/airflow/contrib/hooks/slack_webhook_hook.html
+++ b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -301,9 +291,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -315,7 +303,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -334,6 +322,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -346,19 +335,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/snowflake_hook.html b/_modules/airflow/contrib/hooks/snowflake_hook.html
new file mode 100644
index 0000000..aa15463
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/snowflake_hook.html
@@ -0,0 +1,316 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.snowflake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.snowflake_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.snowflake_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">snowflake.connector</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
+
+
+<div class="viewcode-block" id="SnowflakeHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.snowflake_hook.SnowflakeHook">[docs]</a><span class="k">class</span> <span class="nc">SnowflakeHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Snowflake.</span>
+
+<span class="sd">    get_sqlalchemy_engine() depends on snowflake-sqlalchemy</span>
+
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;snowflake_conn_id&#39;</span>
+    <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;snowflake_default&#39;</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">True</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SnowflakeHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;account&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">warehouse</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;warehouse&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">database</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;database&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_get_conn_params</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        one method to fetch connection params as a dict</span>
+<span class="sd">        used in get_uri() and get_connection()</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">snowflake_conn_id</span><span class="p">)</span>
+        <span class="n">account</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">warehouse</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;warehouse&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">database</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;database&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+        <span class="n">conn_config</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s2">&quot;user&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+            <span class="s2">&quot;password&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;schema&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;database&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">database</span> <span class="ow">or</span> <span class="n">database</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;account&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span> <span class="ow">or</span> <span class="n">account</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;warehouse&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">warehouse</span> <span class="ow">or</span> <span class="n">warehouse</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
+        <span class="p">}</span>
+        <span class="k">return</span> <span class="n">conn_config</span>
+
+<div class="viewcode-block" id="SnowflakeHook.get_uri"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.snowflake_hook.SnowflakeHook.get_uri">[docs]</a>    <span class="k">def</span> <span class="nf">get_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        override DbApiHook get_uri method for get_sqlalchemy_engine()</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn_config</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_conn_params</span><span class="p">()</span>
+        <span class="n">uri</span> <span class="o">=</span> <span class="s1">&#39;snowflake://</span><span class="si">{user}</span><span class="s1">:</span><span class="si">{password}</span><span class="s1">@</span><span class="si">{account}</span><span class="s1">/</span><span class="si">{database}</span><span class="s1">/&#39;</span>
+        <span class="n">uri</span> <span class="o">+=</span> <span class="s1">&#39;</span><span class="si">{schema}</span><span class="s1">?warehouse=</span><span class="si">{warehouse}</span><span class="s1">&#39;</span>
+        <span class="k">return</span> <span class="n">uri</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="o">**</span><span class="n">conn_config</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SnowflakeHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.snowflake_hook.SnowflakeHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a snowflake.connection object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn_config</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_conn_params</span><span class="p">()</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">snowflake</span><span class="o">.</span><span class="n">connector</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="o">**</span><span class="n">conn_config</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">conn</span></div>
+
+    <span class="k">def</span> <span class="nf">_get_aws_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        returns aws_access_key_id, aws_secret_access_key</span>
+<span class="sd">        from extra</span>
+
+<span class="sd">        intended to be used by external import and export statements</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">snowflake_conn_id</span><span class="p">:</span>
+            <span class="n">connection_object</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">snowflake_conn_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                    <span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                    <span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">aws_access_key_id</span><span class="p">,</span> <span class="n">aws_secret_access_key</span>
+
+<div class="viewcode-block" id="SnowflakeHook.set_autocommit"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.snowflake_hook.SnowflakeHook.set_autocommit">[docs]</a>    <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">autocommit</span><span class="p">(</span><span class="n">autocommit</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/spark_jdbc_hook.html b/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
index c22b1e5..f6fe261 100644
--- a/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -418,9 +408,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -432,7 +420,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -451,6 +439,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -463,19 +452,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/spark_sql_hook.html b/_modules/airflow/contrib/hooks/spark_sql_hook.html
index 08d3147..ba78c7b 100644
--- a/_modules/airflow/contrib/hooks/spark_sql_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_sql_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -192,7 +182,6 @@
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
 
 <div class="viewcode-block" id="SparkSqlHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.spark_sql_hook.SparkSqlHook">[docs]</a><span class="k">class</span> <span class="nc">SparkSqlHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
@@ -205,9 +194,11 @@
 <span class="sd">    :type conf: str (format: PROP=VALUE)</span>
 <span class="sd">    :param conn_id: connection_id string</span>
 <span class="sd">    :type conn_id: str</span>
-<span class="sd">    :param total_executor_cores: (Standalone &amp; Mesos only) Total cores for all executors (Default: all the available cores on the worker)</span>
+<span class="sd">    :param total_executor_cores: (Standalone &amp; Mesos only) Total cores for all executors</span>
+<span class="sd">        (Default: all the available cores on the worker)</span>
 <span class="sd">    :type total_executor_cores: int</span>
-<span class="sd">    :param executor_cores: (Standalone &amp; YARN only) Number of cores per executor (Default: 2)</span>
+<span class="sd">    :param executor_cores: (Standalone &amp; YARN only) Number of cores per</span>
+<span class="sd">        executor (Default: 2)</span>
 <span class="sd">    :type executor_cores: int</span>
 <span class="sd">    :param executor_memory: Memory per executor (e.g. 1000M, 2G) (Default: 1G)</span>
 <span class="sd">    :type executor_memory: str</span>
@@ -333,9 +324,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -347,7 +336,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -366,6 +355,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -378,19 +368,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/spark_submit_hook.html b/_modules/airflow/contrib/hooks/spark_submit_hook.html
index 6903f5f..9e47eef 100644
--- a/_modules/airflow/contrib/hooks/spark_submit_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_submit_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -197,7 +187,6 @@
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.kubernetes</span> <span class="k">import</span> <span class="n">kube_client</span>
-<span class="kn">from</span> <span class="nn">kubernetes.client.rest</span> <span class="k">import</span> <span class="n">ApiException</span>
 
 
 <div class="viewcode-block" id="SparkSubmitHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.spark_submit_hook.SparkSubmitHook">[docs]</a><span class="k">class</span> <span class="nc">SparkSubmitHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
@@ -307,6 +296,10 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">_connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_connection</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_is_yarn</span> <span class="o">=</span> <span class="s1">&#39;yarn&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_connection</span><span class="p">[</span><span class="s1">&#39;master&#39;</span><span class="p">]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_is_kubernetes</span> <span class="o">=</span> <span class="s1">&#39;k8s&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_connection</span><span class="p">[</span><span class="s1">&#39;master&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_kubernetes</span> <span class="ow">and</span> <span class="n">kube_client</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{master}</span><span class="s2"> specified by kubernetes dependencies are not installed!&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_connection</span><span class="p">[</span><span class="s1">&#39;master&#39;</span><span class="p">]))</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">_should_track_driver_status</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_should_track_driver_status</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_driver_id</span> <span class="o">=</span> <span class="kc">None</span>
@@ -730,15 +723,13 @@
 
                     <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Spark on K8s killed with response: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">api_response</span><span class="p">)</span>
 
-                <span class="k">except</span> <span class="n">ApiException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="k">except</span> <span class="n">kube_client</span><span class="o">.</span><span class="n">ApiException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Exception when attempting to kill Spark on K8s:&quot;</span><span class="p">)</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -750,7 +741,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -769,6 +760,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -781,19 +773,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/sqoop_hook.html b/_modules/airflow/contrib/hooks/sqoop_hook.html
index 4563030..9c13d5f 100644
--- a/_modules/airflow/contrib/hooks/sqoop_hook.html
+++ b/_modules/airflow/contrib/hooks/sqoop_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -242,7 +232,11 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">num_mappers</span> <span class="o">=</span> <span class="n">num_mappers</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">properties</span> <span class="o">=</span> <span class="n">properties</span> <span class="ow">or</span> <span class="p">{}</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Using connection to: </span><span class="si">{}</span><span class="s2">:</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">. [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Using connection to: </span><span class="si">{}</span><span class="s2">:</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span>
+            <span class="p">)</span>
+        <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
@@ -266,10 +260,11 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">masked_cmd</span> <span class="o">=</span> <span class="s1">&#39; &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cmd_mask_password</span><span class="p">(</span><span class="n">cmd</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing command: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">masked_cmd</span><span class="p">))</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span>
-                              <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                              <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">STDOUT</span><span class="p">,</span>
-                              <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span>
+            <span class="n">cmd</span><span class="p">,</span>
+            <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
+            <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">STDOUT</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
         <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">stdout</span><span class="p">):</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span>
@@ -360,7 +355,8 @@
         <span class="k">if</span> <span class="n">extra_import_options</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">extra_import_options</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
                 <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;--</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">)]</span>
-                <span class="k">if</span> <span class="n">value</span><span class="p">:</span> <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="n">value</span><span class="p">]</span>
+                <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
+                    <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="n">value</span><span class="p">]</span>
 
         <span class="k">return</span> <span class="n">cmd</span>
 
@@ -466,7 +462,8 @@
         <span class="k">if</span> <span class="n">extra_export_options</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">extra_export_options</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
                 <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;--</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">)]</span>
-                <span class="k">if</span> <span class="n">value</span><span class="p">:</span> <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="n">value</span><span class="p">]</span>
+                <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
+                    <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="n">value</span><span class="p">]</span>
 
         <span class="c1"># The required option</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;--table&quot;</span><span class="p">,</span> <span class="n">table</span><span class="p">]</span>
@@ -517,9 +514,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -531,7 +526,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -550,6 +545,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -562,19 +558,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/ssh_hook.html b/_modules/airflow/contrib/hooks/ssh_hook.html
index 08f1831..453721f 100644
--- a/_modules/airflow/contrib/hooks/ssh_hook.html
+++ b/_modules/airflow/contrib/hooks/ssh_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -171,9 +161,6 @@
   <h1>Source code for airflow.contrib.hooks.ssh_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Copyright 2012-2015 Spotify AB</span>
-<span class="c1"># Ported to Airflow by Bolke de Bruin</span>
-<span class="c1">#</span>
 <span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
 <span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
 <span class="c1"># distributed with this work for additional information</span>
@@ -181,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -225,7 +212,8 @@
 <span class="sd">    :type port: int</span>
 <span class="sd">    :param timeout: timeout for the attempt to connect to the remote_host.</span>
 <span class="sd">    :type timeout: int</span>
-<span class="sd">    :param keepalive_interval: send a keepalive packet to remote host every keepalive_interval seconds</span>
+<span class="sd">    :param keepalive_interval: send a keepalive packet to remote host every</span>
+<span class="sd">        keepalive_interval seconds</span>
 <span class="sd">    :type keepalive_interval: int</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
@@ -407,9 +395,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -421,7 +407,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -440,6 +426,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -452,19 +439,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/vertica_hook.html b/_modules/airflow/contrib/hooks/vertica_hook.html
index 355e266..f60fa92 100644
--- a/_modules/airflow/contrib/hooks/vertica_hook.html
+++ b/_modules/airflow/contrib/hooks/vertica_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -195,9 +185,9 @@
 
 
 <div class="viewcode-block" id="VerticaHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.vertica_hook.VerticaHook">[docs]</a><span class="k">class</span> <span class="nc">VerticaHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
+    <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with Vertica.</span>
-<span class="sd">    &#39;&#39;&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;vertica_conn_id&#39;</span>
     <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;vertica_default&#39;</span>
@@ -225,9 +215,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -239,7 +227,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -258,6 +246,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -270,19 +259,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/wasb_hook.html b/_modules/airflow/contrib/hooks/wasb_hook.html
index 605fbf3..e98b5cf 100644
--- a/_modules/airflow/contrib/hooks/wasb_hook.html
+++ b/_modules/airflow/contrib/hooks/wasb_hook.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -322,9 +312,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -336,7 +324,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -355,6 +343,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -367,19 +356,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/winrm_hook.html b/_modules/airflow/contrib/hooks/winrm_hook.html
new file mode 100644
index 0000000..c89917c
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/winrm_hook.html
@@ -0,0 +1,355 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.winrm_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.winrm_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.winrm_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">getpass</span>
+<span class="kn">from</span> <span class="nn">winrm.protocol</span> <span class="k">import</span> <span class="n">Protocol</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="WinRMHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.winrm_hook.WinRMHook">[docs]</a><span class="k">class</span> <span class="nc">WinRMHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook for winrm remote execution using pywinrm.</span>
+
+<span class="sd">    :param ssh_conn_id: connection id from airflow Connections from where all</span>
+<span class="sd">        the required parameters can be fetched like username, password or key_file.</span>
+<span class="sd">        Thought the priority is given to the param passed during init</span>
+<span class="sd">    :type ssh_conn_id: str</span>
+<span class="sd">    :param remote_host: remote host to connect</span>
+<span class="sd">    :type remote_host: str</span>
+<span class="sd">    :param username: username to connect to the remote_host</span>
+<span class="sd">    :type username: str</span>
+<span class="sd">    :param password: password of the username to connect to the remote_host</span>
+<span class="sd">    :type password: str</span>
+<span class="sd">    :param key_file: key file to use to connect to the remote_host.</span>
+<span class="sd">    :type key_file: str</span>
+<span class="sd">    :param timeout: timeout for the attempt to connect to the remote_host.</span>
+<span class="sd">    :type timeout: int</span>
+<span class="sd">    :param keepalive_interval: send a keepalive packet to remote host</span>
+<span class="sd">        every keepalive_interval seconds</span>
+<span class="sd">    :type keepalive_interval: int</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">ssh_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">remote_host</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">username</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">password</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">key_file</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">timeout</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
+                 <span class="n">keepalive_interval</span><span class="o">=</span><span class="mi">30</span>
+                 <span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">WinRMHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+        <span class="c1"># TODO make new win rm connection class</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span> <span class="o">=</span> <span class="n">ssh_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="o">=</span> <span class="n">remote_host</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">password</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">key_file</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span> <span class="o">=</span> <span class="n">keepalive_interval</span>
+        <span class="c1"># Default values, overridable from Connection</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">winrm_protocol</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Creating WinRM client for conn_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+                <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">extra_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;key_file&quot;</span><span class="p">)</span>
+
+                    <span class="k">if</span> <span class="s2">&quot;timeout&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;timeout&quot;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
+
+                    <span class="k">if</span> <span class="s2">&quot;compress&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
+                            <span class="ow">and</span> <span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;compress&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="kc">False</span>
+                    <span class="k">if</span> <span class="s2">&quot;no_host_key_check&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
+                            <span class="ow">and</span> <span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;no_host_key_check&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">False</span>
+
+            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Missing required param: remote_host&quot;</span><span class="p">)</span>
+
+            <span class="c1"># Auto detecting username values from system</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                    <span class="s2">&quot;username to ssh to host: </span><span class="si">%s</span><span class="s2"> is not specified for connection id&quot;</span>
+                    <span class="s2">&quot; </span><span class="si">%s</span><span class="s2">. Using system&#39;s default provided by getpass.getuser()&quot;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span>
+                <span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">()</span>
+
+            <span class="k">try</span><span class="p">:</span>
+
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">winrm_protocol</span> <span class="o">=</span> <span class="n">Protocol</span><span class="p">(</span>
+                        <span class="c1"># TODO pass in port from ssh conn</span>
+                        <span class="n">endpoint</span><span class="o">=</span><span class="s1">&#39;http://&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="o">+</span> <span class="s1">&#39;:5985/wsman&#39;</span><span class="p">,</span>
+                        <span class="c1"># TODO get cert transport working</span>
+                        <span class="c1"># transport=&#39;certificate&#39;,</span>
+                        <span class="n">transport</span><span class="o">=</span><span class="s1">&#39;plaintext&#39;</span><span class="p">,</span>
+                        <span class="c1"># cert_pem=r&#39;publickey.pem&#39;,</span>
+                        <span class="c1"># cert_key_pem=r&#39;dev.pem&#39;,</span>
+                        <span class="n">read_timeout_sec</span><span class="o">=</span><span class="mi">70</span><span class="p">,</span>
+                        <span class="n">operation_timeout_sec</span><span class="o">=</span><span class="mi">60</span><span class="p">,</span>
+                        <span class="n">username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
+                        <span class="n">password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                        <span class="n">server_cert_validation</span><span class="o">=</span><span class="s1">&#39;ignore&#39;</span><span class="p">)</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Opening WinRM shell&quot;</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">winrm_protocol</span><span class="o">.</span><span class="n">open_shell</span><span class="p">()</span>
+
+            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">error</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                    <span class="s2">&quot;Error connecting to host: </span><span class="si">%s</span><span class="s2">, error: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">error</span>
+                <span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            LANGUAGE:'None',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/kubernetes/secret.html b/_modules/airflow/contrib/kubernetes/secret.html
index c5785ed..4d77038 100644
--- a/_modules/airflow/contrib/kubernetes/secret.html
+++ b/_modules/airflow/contrib/kubernetes/secret.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -213,9 +203,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -227,7 +215,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -246,6 +234,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -258,19 +247,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/awsbatch_operator.html b/_modules/airflow/contrib/operators/awsbatch_operator.html
index 33e1e8b..9f65bb3 100644
--- a/_modules/airflow/contrib/operators/awsbatch_operator.html
+++ b/_modules/airflow/contrib/operators/awsbatch_operator.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -204,21 +194,27 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Execute a job on AWS Batch Service</span>
 
+<span class="sd">    .. warning: the queue parameter was renamed to job_queue to segreggate the</span>
+<span class="sd">                internal CeleryExecutor queue from the AWS Batch internal queue.</span>
+
 <span class="sd">    :param job_name: the name for the job that will run on AWS Batch</span>
 <span class="sd">    :type job_name: str</span>
 <span class="sd">    :param job_definition: the job definition name on AWS Batch</span>
 <span class="sd">    :type job_definition: str</span>
-<span class="sd">    :param queue: the queue name on AWS Batch</span>
-<span class="sd">    :type queue: str</span>
-<span class="sd">    :param: overrides: the same parameter that boto3 will receive on containerOverrides:</span>
+<span class="sd">    :param job_queue: the queue name on AWS Batch</span>
+<span class="sd">    :type job_queue: str</span>
+<span class="sd">    :param: overrides: the same parameter that boto3 will receive on</span>
+<span class="sd">            containerOverrides (templated):</span>
 <span class="sd">            http://boto3.readthedocs.io/en/latest/reference/services/batch.html#submit_job</span>
 <span class="sd">    :type: overrides: dict</span>
-<span class="sd">    :param max_retries: exponential backoff retries while waiter is not merged</span>
+<span class="sd">    :param max_retries: exponential backoff retries while waiter is not merged, 4200 = 48 hours</span>
 <span class="sd">    :type max_retries: int</span>
 <span class="sd">    :param aws_conn_id: connection id of AWS credentials / region name. If None,</span>
-<span class="sd">            credential boto3 strategy will be used (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
+<span class="sd">            credential boto3 strategy will be used</span>
+<span class="sd">            (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
 <span class="sd">    :type aws_conn_id: str</span>
-<span class="sd">    :param region_name: region name to use in AWS Hook. Override the region_name in connection (if provided)</span>
+<span class="sd">    :param region_name: region name to use in AWS Hook.</span>
+<span class="sd">        Override the region_name in connection (if provided)</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#c3dae0&#39;</span>
@@ -227,7 +223,7 @@
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;overrides&#39;</span><span class="p">,)</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">job_definition</span><span class="p">,</span> <span class="n">queue</span><span class="p">,</span> <span class="n">overrides</span><span class="p">,</span> <span class="n">max_retries</span><span class="o">=</span><span class="mi">288</span><span class="p">,</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">job_definition</span><span class="p">,</span> <span class="n">job_queue</span><span class="p">,</span> <span class="n">overrides</span><span class="p">,</span> <span class="n">max_retries</span><span class="o">=</span><span class="mi">4200</span><span class="p">,</span>
                  <span class="n">aws_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">AWSBatchOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
@@ -235,7 +231,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_definition</span> <span class="o">=</span> <span class="n">job_definition</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span> <span class="o">=</span> <span class="n">queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_queue</span> <span class="o">=</span> <span class="n">job_queue</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">overrides</span> <span class="o">=</span> <span class="n">overrides</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">max_retries</span> <span class="o">=</span> <span class="n">max_retries</span>
 
@@ -247,7 +243,7 @@
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Running AWS Batch Job - Job definition: </span><span class="si">%s</span><span class="s1"> - on queue </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">job_definition</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">queue</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job_definition</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_queue</span>
         <span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;AWSBatchOperator overrides: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">overrides</span><span class="p">)</span>
 
@@ -259,7 +255,7 @@
         <span class="k">try</span><span class="p">:</span>
             <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">submit_job</span><span class="p">(</span>
                 <span class="n">jobName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">,</span>
-                <span class="n">jobQueue</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="p">,</span>
+                <span class="n">jobQueue</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_queue</span><span class="p">,</span>
                 <span class="n">jobDefinition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_definition</span><span class="p">,</span>
                 <span class="n">containerOverrides</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">overrides</span><span class="p">)</span>
 
@@ -296,14 +292,15 @@
             <span class="n">retry</span> <span class="o">=</span> <span class="kc">True</span>
             <span class="n">retries</span> <span class="o">=</span> <span class="mi">0</span>
 
-            <span class="k">while</span> <span class="n">retries</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_retries</span> <span class="ow">or</span> <span class="n">retry</span><span class="p">:</span>
+            <span class="k">while</span> <span class="n">retries</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_retries</span> <span class="ow">and</span> <span class="n">retry</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;AWS Batch retry in the next </span><span class="si">%s</span><span class="s1"> seconds&#39;</span><span class="p">,</span> <span class="n">retries</span><span class="p">)</span>
                 <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">describe_jobs</span><span class="p">(</span>
                     <span class="n">jobs</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">jobId</span><span class="p">]</span>
                 <span class="p">)</span>
                 <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;jobs&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILED&#39;</span><span class="p">]:</span>
                     <span class="n">retry</span> <span class="o">=</span> <span class="kc">False</span>
 
-                <span class="n">sleep</span><span class="p">(</span><span class="nb">pow</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">retries</span><span class="p">)</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span>
+                <span class="n">sleep</span><span class="p">(</span> <span class="mi">1</span> <span class="o">+</span> <span class="nb">pow</span><span class="p">(</span><span class="n">retries</span> <span class="o">*</span> <span class="mf">0.1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
                 <span class="n">retries</span> <span class="o">+=</span> <span class="mi">1</span>
 
     <span class="k">def</span> <span class="nf">_check_success_task</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -321,10 +318,12 @@
                 <span class="k">for</span> <span class="n">container</span> <span class="ow">in</span> <span class="n">containers</span><span class="p">:</span>
                     <span class="k">if</span> <span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;FAILED&#39;</span> <span class="ow">or</span>
                             <span class="n">container</span><span class="p">[</span><span class="s1">&#39;container&#39;</span><span class="p">][</span><span class="s1">&#39;exitCode&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">):</span>
-                        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;@@@@&quot;</span><span class="p">)</span>
-                        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;This containers encounter an error during execution </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">job</span><span class="p">))</span>
+                        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                            <span class="s1">&#39;This containers encounter an error during &#39;</span>
+                            <span class="s1">&#39;execution </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">job</span><span class="p">))</span>
             <span class="k">elif</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;This task is still pending </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]))</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;This task is still pending </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]))</span>
 
     <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">AwsHook</span><span class="p">(</span>
@@ -340,9 +339,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -354,7 +351,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -373,6 +370,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -385,19 +383,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_check_operator.html b/_modules/airflow/contrib/operators/bigquery_check_operator.html
index 1be7f24..9202dec 100644
--- a/_modules/airflow/contrib/operators/bigquery_check_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_check_operator.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -189,7 +179,8 @@
 <span class="c1"># under the License.</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
-<span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="k">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="k">import</span> \
+    <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
@@ -302,9 +293,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -316,7 +305,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -335,6 +324,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -347,19 +337,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_get_data.html b/_modules/airflow/contrib/operators/bigquery_get_data.html
index 9d28a70..abff695 100644
--- a/_modules/airflow/contrib/operators/bigquery_get_data.html
+++ b/_modules/airflow/contrib/operators/bigquery_get_data.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -221,12 +211,12 @@
 <span class="sd">            bigquery_conn_id=&#39;airflow-service-account&#39;</span>
 <span class="sd">        )</span>
 
-<span class="sd">    :param dataset_id: The dataset ID of the requested table.</span>
+<span class="sd">    :param dataset_id: The dataset ID of the requested table. (templated)</span>
 <span class="sd">    :type destination_dataset_table: string</span>
-<span class="sd">    :param table_id: The table ID of the requested table.</span>
+<span class="sd">    :param table_id: The table ID of the requested table. (templated)</span>
 <span class="sd">    :type table_id: string</span>
 <span class="sd">    :param max_results: The maximum number of records (rows) to be fetched</span>
-<span class="sd">        from the table.</span>
+<span class="sd">        from the table. (templated)</span>
 <span class="sd">    :type max_results: string</span>
 <span class="sd">    :param selected_fields: List of fields to return (comma-separated). If</span>
 <span class="sd">        unspecified, all fields are returned.</span>
@@ -288,9 +278,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -302,7 +290,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -321,6 +309,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -333,19 +322,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
index 4055654..f4a00d9 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -200,13 +190,18 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
 
-<span class="sd">    :param bql: the sql code to be executed</span>
+<span class="sd">    :param bql: (Deprecated. Use `sql` parameter instead) the sql code to be</span>
+<span class="sd">        executed (templated)</span>
 <span class="sd">    :type bql: Can receive a str representing a sql statement,</span>
 <span class="sd">        a list of str (sql statements), or reference to a template file.</span>
-<span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;</span>
+<span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;.</span>
+<span class="sd">    :param sql: the sql code to be executed (templated)</span>
+<span class="sd">    :type sql: Can receive a str representing a sql statement,</span>
+<span class="sd">        a list of str (sql statements), or reference to a template file.</span>
+<span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;.</span>
 <span class="sd">    :param destination_dataset_table: A dotted</span>
 <span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; that, if set, will store the results</span>
-<span class="sd">        of the query.</span>
+<span class="sd">        of the query. (templated)</span>
 <span class="sd">    :type destination_dataset_table: string</span>
 <span class="sd">    :param write_disposition: Specifies the action that occurs if the destination table</span>
 <span class="sd">        already exists. (default: &#39;WRITE_EMPTY&#39;)</span>
@@ -247,15 +242,25 @@
 <span class="sd">    :param query_params: a dictionary containing query parameter types and</span>
 <span class="sd">        values, passed to BigQuery.</span>
 <span class="sd">    :type query_params: dict</span>
-
+<span class="sd">    :param priority: Specifies a priority for the query.</span>
+<span class="sd">        Possible values include INTERACTIVE and BATCH.</span>
+<span class="sd">        The default value is INTERACTIVE.</span>
+<span class="sd">    :type priority: string</span>
+<span class="sd">    :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">        partition by field, type and</span>
+<span class="sd">        expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
+<span class="sd">        conjunction with dataset.table$partition.</span>
+<span class="sd">    :type time_partitioning: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,</span> <span class="p">)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4f0e8&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">bql</span><span class="p">,</span>
+                 <span class="n">bql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
                  <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
@@ -270,10 +275,12 @@
                  <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
                  <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span>
+                 <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{},</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bql</span> <span class="o">=</span> <span class="n">bql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span> <span class="k">if</span> <span class="n">sql</span> <span class="k">else</span> <span class="n">bql</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="n">destination_dataset_table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span> <span class="o">=</span> <span class="n">write_disposition</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span> <span class="o">=</span> <span class="n">create_disposition</span>
@@ -289,10 +296,25 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">query_params</span> <span class="o">=</span> <span class="n">query_params</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="n">priority</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">time_partitioning</span>
+
+        <span class="c1"># TODO remove `bql` in Airflow 2.0</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">:</span>
+            <span class="kn">import</span> <span class="nn">warnings</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Deprecated parameter `bql` used in Task id: </span><span class="si">{}</span><span class="s1">. &#39;</span>
+                          <span class="s1">&#39;Use `sql` parameter instead to pass the sql to be &#39;</span>
+                          <span class="s1">&#39;executed. `bql` parameter is deprecated and &#39;</span>
+                          <span class="s1">&#39;will be removed in a future version of &#39;</span>
+                          <span class="s1">&#39;Airflow.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
+                          <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1"> missing 1 required positional &#39;</span>
+                            <span class="s1">&#39;argument: `sql`&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
             <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span>
                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">,</span>
@@ -300,7 +322,7 @@
             <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">bql</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">,</span>
             <span class="n">destination_dataset_table</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">destination_dataset_table</span><span class="p">,</span>
             <span class="n">write_disposition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span>
             <span class="n">allow_large_results</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">allow_large_results</span><span class="p">,</span>
@@ -311,7 +333,9 @@
             <span class="n">create_disposition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">,</span>
             <span class="n">query_params</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">query_params</span><span class="p">,</span>
             <span class="n">schema_update_options</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">schema_update_options</span><span class="p">,</span>
-            <span class="n">priority</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">priority</span><span class="p">)</span>
+            <span class="n">priority</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span>
+            <span class="n">time_partitioning</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span>
+        <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
@@ -331,11 +355,11 @@
 <span class="sd">    Google cloud storage must be a JSON file with the schema fields in it.</span>
 <span class="sd">    You can also create a table without schema.</span>
 
-<span class="sd">    :param project_id: The project to create the table into.</span>
+<span class="sd">    :param project_id: The project to create the table into. (templated)</span>
 <span class="sd">    :type project_id: string</span>
-<span class="sd">    :param dataset_id: The dataset to create the table into.</span>
+<span class="sd">    :param dataset_id: The dataset to create the table into. (templated)</span>
 <span class="sd">    :type dataset_id: string</span>
-<span class="sd">    :param table_id: The Name of the table to be created.</span>
+<span class="sd">    :param table_id: The Name of the table to be created. (templated)</span>
 <span class="sd">    :type table_id: string</span>
 <span class="sd">    :param schema_fields: If set, the schema field list as defined here:</span>
 <span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</span>
@@ -346,7 +370,8 @@
 <span class="sd">                           {&quot;name&quot;: &quot;salary&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;mode&quot;: &quot;NULLABLE&quot;}]</span>
 
 <span class="sd">    :type schema_fields: list</span>
-<span class="sd">    :param gcs_schema_object: Full path to the JSON file containing schema. For</span>
+<span class="sd">    :param gcs_schema_object: Full path to the JSON file containing</span>
+<span class="sd">        schema (templated). For</span>
 <span class="sd">        example: ``gs://test-bucket/dir1/dir2/employee_schema.json``</span>
 <span class="sd">    :type gcs_schema_object: string</span>
 <span class="sd">    :param time_partitioning: configure optional time partitioning fields i.e.</span>
@@ -473,14 +498,15 @@
 <span class="sd">    point the operator to a Google cloud storage object name. The object in</span>
 <span class="sd">    Google cloud storage must be a JSON file with the schema fields in it.</span>
 
-<span class="sd">    :param bucket: The bucket to point the external table to.</span>
+<span class="sd">    :param bucket: The bucket to point the external table to. (templated)</span>
 <span class="sd">    :type bucket: string</span>
-<span class="sd">    :param source_objects: List of Google cloud storage URIs to point table to.</span>
+<span class="sd">    :param source_objects: List of Google cloud storage URIs to point</span>
+<span class="sd">        table to. (templated)</span>
 <span class="sd">        If source_format is &#39;DATASTORE_BACKUP&#39;, the list must only contain a single URI.</span>
 <span class="sd">    :type object: list</span>
 <span class="sd">    :param destination_project_dataset_table: The dotted (&lt;project&gt;.)&lt;dataset&gt;.&lt;table&gt;</span>
-<span class="sd">        BigQuery table to load data into. If &lt;project&gt; is not included, project will</span>
-<span class="sd">        be the project defined in the connection json.</span>
+<span class="sd">        BigQuery table to load data into (templated). If &lt;project&gt; is not included,</span>
+<span class="sd">        project will be the project defined in the connection json.</span>
 <span class="sd">    :type destination_project_dataset_table: string</span>
 <span class="sd">    :param schema_fields: If set, the schema field list as defined here:</span>
 <span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</span>
@@ -493,7 +519,7 @@
 <span class="sd">        Should not be set when source_format is &#39;DATASTORE_BACKUP&#39;.</span>
 <span class="sd">    :type schema_fields: list</span>
 <span class="sd">    :param schema_object: If set, a GCS object path pointing to a .json file that</span>
-<span class="sd">        contains the schema for the table.</span>
+<span class="sd">        contains the schema for the table. (templated)</span>
 <span class="sd">    :param schema_object: string</span>
 <span class="sd">    :param source_format: File format of the data.</span>
 <span class="sd">    :type source_format: string</span>
@@ -619,9 +645,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -633,7 +657,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -652,6 +676,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true,
@@ -664,19 +689,13 @@
 
   
 
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
 
-  
-  
   <script type="text/javascript">
       jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
+          SphinxRtdTheme.Navigation.enable(true);
       });
-  </script>
-   
+  </script> 
 
 </body>
 </html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html b/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
index 94bc9dd..8b3a424 100644
--- a/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
@@ -24,26 +24,17 @@
 
   
 
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../../../genindex.html"/>
-        <link rel="search" title="Search" href="../../../../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
 
   
   <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
-<body class="wy-body-for-nav" role="document">
+<body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
@@ -116,7 +107,7 @@
     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
       
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+      <nav class="wy-nav-top" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
           <a href="../../../../index.html">Airflow</a>
@@ -124,9 +115,10 @@
       </nav>
 
 
-      
       <div class="wy-nav-content">
+        
         <div class="rst-content">
+        
           
 
 
@@ -156,8 +148,6 @@
     
       <li class="wy-breadcrumbs-aside">
         
-            
-        
       </li>
     
   </ul>
@@ -178,9 +168,9 @@
 <span class="c1"># to you under the Apache License, Version 2.0 (the</span>
 <span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
 <span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1"># </span>
+<span class="c1">#</span>
 <span class="c1"># Unless required by applicable law or agreed to in writing,</span>
 <span class="c1"># software distributed under the License is distributed on an</span>
 <span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
@@ -199,7 +189,7 @@
 
 <span class="sd">    :param deletion_dataset_table: A dotted</span>
 <span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; that indicates which table</span>
-<span class="sd">        will be deleted.</span>
+<span class="sd">        will be deleted. (templated)</span>
 <span class="sd">    :type deletion_dataset_table: string</span>
 <span class="sd">    :param bigquery_conn_id: reference to a specific BigQuery hook.</span>
 <span class="sd">    :type bigquery_conn_id: string</span>
@@ -238,9 +228,7 @@
 </pre></div>
 
            </div>
-           <div class="articleComments">
-            
-           </div>
+           
           </div>
           <footer>
   
@@ -252,7 +240,7 @@
 
     </p>
   </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
 
 </footer>
 
@@ -271,6 +259,7 @@
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
             VERSION:'',
+            LANGUAGE:'None',
... 55865 lines suppressed ...


[airflow-site] 27/30: Add new website - AIP-11

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit f18ad1c764861e8b049391c7bf95f46a4adae916
Author: Kamil Breguła <ka...@polidea.com>
AuthorDate: Tue Nov 26 18:20:47 2019 +0100

    Add new website - AIP-11
---
 .buildinfo                                         |     4 -
 .keep                                              |    16 +
 1.10.1/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.1/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.1/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.1/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.1/_static/js/modernizr.min.js                 |     4 -
 1.10.2/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.2/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.2/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.2/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.2/_static/js/modernizr.min.js                 |     4 -
 1.10.3/_static/css/badge_only.css                  |     1 -
 1.10.3/_static/css/theme.css                       |     6 -
 1.10.3/_static/js/theme.js                         |     3 -
 1.10.4/_static/css/badge_only.css                  |     1 -
 1.10.4/_static/css/theme.css                       |     6 -
 1.10.4/_static/js/theme.js                         |     3 -
 1.10.6/_api/airflow/contrib/executors/index.html   |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   421 -
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 .../airflow/contrib/hooks/datadog_hook/index.html  |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   413 -
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   414 -
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   715 --
 .../airflow/contrib/hooks/grpc_hook/index.html     |   419 -
 .../airflow/contrib/hooks/imap_hook/index.html     |   657 --
 1.10.6/_api/airflow/contrib/hooks/index.html       |   481 -
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   403 -
 .../airflow/contrib/hooks/jira_hook/index.html     |   408 -
 .../airflow/contrib/hooks/mongo_hook/index.html    |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 .../airflow/contrib/hooks/pinot_hook/index.html    |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 .../airflow/contrib/hooks/qubole_hook/index.html   |   514 -
 .../airflow/contrib/hooks/redis_hook/index.html    |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 .../airflow/contrib/hooks/segment_hook/index.html  |   416 -
 .../airflow/contrib/hooks/sftp_hook/index.html     |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   557 -
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   461 -
 .../airflow/contrib/hooks/vertica_hook/index.html  |   419 -
 .../airflow/contrib/hooks/wasb_hook/index.html     |   542 -
 .../airflow/contrib/hooks/winrm_hook/index.html    |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 1.10.6/_api/airflow/contrib/operators/index.html   |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 1.10.6/_api/airflow/contrib/sensors/index.html     |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 .../airflow/executors/base_executor/index.html     |   510 -
 .../airflow/executors/celery_executor/index.html   |   527 -
 .../airflow/executors/dask_executor/index.html     |   428 -
 1.10.6/_api/airflow/executors/index.html           |   747 --
 .../airflow/executors/local_executor/index.html    |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 1.10.6/_api/airflow/hooks/S3_hook/index.html       |   722 --
 1.10.6/_api/airflow/hooks/base_hook/index.html     |   452 -
 1.10.6/_api/airflow/hooks/dbapi_hook/index.html    |   597 --
 1.10.6/_api/airflow/hooks/docker_hook/index.html   |   414 -
 1.10.6/_api/airflow/hooks/druid_hook/index.html    |   472 -
 1.10.6/_api/airflow/hooks/hdfs_hook/index.html     |   424 -
 1.10.6/_api/airflow/hooks/hive_hooks/index.html    |   880 --
 1.10.6/_api/airflow/hooks/http_hook/index.html     |   493 -
 1.10.6/_api/airflow/hooks/index.html               |   433 -
 1.10.6/_api/airflow/hooks/jdbc_hook/index.html     |   435 -
 1.10.6/_api/airflow/hooks/mssql_hook/index.html    |   429 -
 1.10.6/_api/airflow/hooks/mysql_hook/index.html    |   490 -
 1.10.6/_api/airflow/hooks/oracle_hook/index.html   |   485 -
 1.10.6/_api/airflow/hooks/pig_hook/index.html      |   418 -
 1.10.6/_api/airflow/hooks/postgres_hook/index.html |   486 -
 1.10.6/_api/airflow/hooks/presto_hook/index.html   |   477 -
 1.10.6/_api/airflow/hooks/samba_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/slack_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/sqlite_hook/index.html   |   419 -
 1.10.6/_api/airflow/hooks/webhdfs_hook/index.html  |   479 -
 1.10.6/_api/airflow/hooks/zendesk_hook/index.html  |   432 -
 1.10.6/_api/airflow/models/base/index.html         |   411 -
 1.10.6/_api/airflow/models/baseoperator/index.html |   993 --
 1.10.6/_api/airflow/models/chart/index.html        |   487 -
 1.10.6/_api/airflow/models/connection/index.html   |   532 -
 1.10.6/_api/airflow/models/crypto/index.html       |   445 -
 1.10.6/_api/airflow/models/dag/index.html          |  1242 ---
 1.10.6/_api/airflow/models/dagbag/index.html       |   518 -
 1.10.6/_api/airflow/models/dagpickle/index.html    |   429 -
 1.10.6/_api/airflow/models/dagrun/index.html       |   616 --
 1.10.6/_api/airflow/models/errors/index.html       |   422 -
 1.10.6/_api/airflow/models/index.html              |  3767 -------
 1.10.6/_api/airflow/models/knownevent/index.html   |   478 -
 1.10.6/_api/airflow/models/kubernetes/index.html   |   458 -
 1.10.6/_api/airflow/models/log/index.html          |   448 -
 1.10.6/_api/airflow/models/pool/index.html         |   471 -
 1.10.6/_api/airflow/models/skipmixin/index.html    |   421 -
 1.10.6/_api/airflow/models/slamiss/index.html      |   450 -
 1.10.6/_api/airflow/models/taskfail/index.html     |   445 -
 1.10.6/_api/airflow/models/taskinstance/index.html |   931 --
 .../_api/airflow/models/taskreschedule/index.html  |   467 -
 1.10.6/_api/airflow/models/user/index.html         |   437 -
 1.10.6/_api/airflow/models/variable/index.html     |   488 -
 1.10.6/_api/airflow/models/xcom/index.html         |   507 -
 .../airflow/operators/bash_operator/index.html     |   453 -
 .../airflow/operators/branch_operator/index.html   |   433 -
 .../airflow/operators/check_operator/index.html    |   599 --
 .../airflow/operators/dagrun_operator/index.html   |   444 -
 .../airflow/operators/docker_operator/index.html   |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 .../airflow/operators/dummy_operator/index.html    |   417 -
 .../airflow/operators/email_operator/index.html    |   442 -
 .../airflow/operators/generic_transfer/index.html  |   442 -
 .../airflow/operators/hive_operator/index.html     |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 .../airflow/operators/hive_to_druid/index.html     |   467 -
 .../airflow/operators/hive_to_mysql/index.html     |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 .../airflow/operators/http_operator/index.html     |   448 -
 1.10.6/_api/airflow/operators/index.html           |  1006 --
 .../airflow/operators/jdbc_operator/index.html     |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 .../airflow/operators/mssql_operator/index.html    |   439 -
 .../airflow/operators/mssql_to_hive/index.html     |   460 -
 .../airflow/operators/mysql_operator/index.html    |   441 -
 .../airflow/operators/mysql_to_hive/index.html     |   459 -
 .../airflow/operators/oracle_operator/index.html   |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 .../_api/airflow/operators/pig_operator/index.html |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 .../airflow/operators/presto_to_mysql/index.html   |   443 -
 .../airflow/operators/python_operator/index.html   |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 1.10.6/_api/airflow/operators/sensors/index.html   |   471 -
 .../airflow/operators/slack_operator/index.html    |   472 -
 .../airflow/operators/sqlite_operator/index.html   |   436 -
 .../airflow/operators/subdag_operator/index.html   |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 1.10.6/_api/airflow/sensors/hdfs_sensor/index.html |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 1.10.6/_api/airflow/sensors/http_sensor/index.html |   435 -
 1.10.6/_api/airflow/sensors/index.html             |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   448 -
 .../airflow/sensors/s3_prefix_sensor/index.html    |   450 -
 1.10.6/_api/airflow/sensors/sql_sensor/index.html  |   456 -
 .../airflow/sensors/time_delta_sensor/index.html   |   419 -
 1.10.6/_api/airflow/sensors/time_sensor/index.html |   416 -
 .../airflow/sensors/web_hdfs_sensor/index.html     |   416 -
 1.10.6/_api/index.html                             |   521 -
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 1.10.6/_modules/airflow/configuration.html         |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 1.10.6/_modules/airflow/contrib/hooks.html         |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 .../airflow/contrib/hooks/aws_logs_hook.html       |   446 -
 .../airflow/contrib/hooks/aws_sns_hook.html        |   407 -
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 .../airflow/contrib/hooks/bigquery_hook.html       |  2615 -----
 .../airflow/contrib/hooks/cassandra_hook.html      |   543 -
 .../airflow/contrib/hooks/cloudant_hook.html       |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 .../airflow/contrib/hooks/datadog_hook.html        |   501 -
 .../airflow/contrib/hooks/datastore_hook.html      |   682 --
 .../airflow/contrib/hooks/dingding_hook.html       |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   400 -
 1.10.6/_modules/airflow/contrib/hooks/fs_hook.html |   389 -
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   938 --
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   478 -
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   659 --
 .../airflow/contrib/hooks/jenkins_hook.html        |   391 -
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   429 -
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   640 --
 .../airflow/contrib/hooks/openfaas_hook.html       |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 .../airflow/contrib/hooks/qubole_hook.html         |   627 --
 .../_modules/airflow/contrib/hooks/redis_hook.html |   409 -
 .../airflow/contrib/hooks/redshift_hook.html       |   456 -
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 .../airflow/contrib/hooks/segment_hook.html        |   433 -
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 .../airflow/contrib/hooks/snowflake_hook.html      |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 .../airflow/contrib/hooks/spark_sql_hook.html      |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   698 --
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   606 --
 .../airflow/contrib/hooks/vertica_hook.html        |   396 -
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   534 -
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   577 --
 1.10.6/_modules/airflow/contrib/operators.html     |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 .../airflow/contrib/operators/gcs_to_bq.html       |   635 --
 .../airflow/contrib/operators/gcs_to_gcs.html      |   542 -
 .../airflow/contrib/operators/gcs_to_s3.html       |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 .../airflow/contrib/operators/sql_to_gcs.html      |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 .../airflow/contrib/sensors/bash_sensor.html       |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 .../airflow/contrib/sensors/file_sensor.html       |   412 -
 .../airflow/contrib/sensors/ftp_sensor.html        |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 .../airflow/contrib/sensors/gcs_sensor.html        |   655 --
 .../airflow/contrib/sensors/hdfs_sensor.html       |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 .../airflow/contrib/sensors/jira_sensor.html       |   492 -
 .../airflow/contrib/sensors/mongo_sensor.html      |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 .../airflow/contrib/sensors/sftp_sensor.html       |   393 -
 .../airflow/contrib/sensors/wasb_sensor.html       |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 1.10.6/_modules/airflow/exceptions.html            |   456 -
 1.10.6/_modules/airflow/executors.html             |   440 -
 .../_modules/airflow/executors/base_executor.html  |   555 -
 .../airflow/executors/celery_executor.html         |   637 --
 .../_modules/airflow/executors/dask_executor.html  |   440 -
 .../_modules/airflow/executors/local_executor.html |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 1.10.6/_modules/airflow/hooks.html                 |   437 -
 1.10.6/_modules/airflow/hooks/S3_hook.html         |   886 --
 1.10.6/_modules/airflow/hooks/base_hook.html       |   445 -
 1.10.6/_modules/airflow/hooks/dbapi_hook.html      |   648 --
 1.10.6/_modules/airflow/hooks/docker_hook.html     |   431 -
 1.10.6/_modules/airflow/hooks/druid_hook.html      |   508 -
 1.10.6/_modules/airflow/hooks/hdfs_hook.html       |   441 -
 1.10.6/_modules/airflow/hooks/hive_hooks.html      |  1347 ---
 1.10.6/_modules/airflow/hooks/http_hook.html       |   556 -
 1.10.6/_modules/airflow/hooks/jdbc_hook.html       |   404 -
 1.10.6/_modules/airflow/hooks/mssql_hook.html      |   398 -
 1.10.6/_modules/airflow/hooks/mysql_hook.html      |   517 -
 1.10.6/_modules/airflow/hooks/oracle_hook.html     |   574 --
 1.10.6/_modules/airflow/hooks/pig_hook.html        |   443 -
 1.10.6/_modules/airflow/hooks/postgres_hook.html   |   505 -
 1.10.6/_modules/airflow/hooks/presto_hook.html     |   483 -
 1.10.6/_modules/airflow/hooks/samba_hook.html      |   395 -
 1.10.6/_modules/airflow/hooks/slack_hook.html      |   405 -
 1.10.6/_modules/airflow/hooks/sqlite_hook.html     |   384 -
 1.10.6/_modules/airflow/hooks/webhdfs_hook.html    |   475 -
 1.10.6/_modules/airflow/hooks/zendesk_hook.html    |   455 -
 1.10.6/_modules/airflow/macros.html                |   451 -
 1.10.6/_modules/airflow/macros/hive.html           |   465 -
 1.10.6/_modules/airflow/models.html                |   383 -
 1.10.6/_modules/airflow/models/base.html           |   378 -
 1.10.6/_modules/airflow/models/baseoperator.html   |  1458 ---
 1.10.6/_modules/airflow/models/chart.html          |   393 -
 1.10.6/_modules/airflow/models/connection.html     |   642 --
 1.10.6/_modules/airflow/models/crypto.html         |   440 -
 1.10.6/_modules/airflow/models/dag.html            |  1980 ----
 1.10.6/_modules/airflow/models/dagbag.html         |   766 --
 1.10.6/_modules/airflow/models/dagpickle.html      |   395 -
 1.10.6/_modules/airflow/models/dagrun.html         |   790 --
 1.10.6/_modules/airflow/models/errors.html         |   374 -
 1.10.6/_modules/airflow/models/knownevent.html     |   397 -
 1.10.6/_modules/airflow/models/kubernetes.html     |   422 -
 1.10.6/_modules/airflow/models/log.html            |   411 -
 1.10.6/_modules/airflow/models/pool.html           |   452 -
 1.10.6/_modules/airflow/models/skipmixin.html      |   445 -
 1.10.6/_modules/airflow/models/slamiss.html        |   391 -
 1.10.6/_modules/airflow/models/taskfail.html       |   398 -
 1.10.6/_modules/airflow/models/taskinstance.html   |  1753 ----
 1.10.6/_modules/airflow/models/taskreschedule.html |   428 -
 1.10.6/_modules/airflow/models/user.html           |   383 -
 1.10.6/_modules/airflow/models/variable.html       |   495 -
 1.10.6/_modules/airflow/models/xcom.html           |   577 --
 1.10.6/_modules/airflow/operators.html             |   464 -
 .../_modules/airflow/operators/bash_operator.html  |   486 -
 .../airflow/operators/branch_operator.html         |   395 -
 .../_modules/airflow/operators/check_operator.html |   677 --
 .../airflow/operators/dagrun_operator.html         |   440 -
 .../airflow/operators/docker_operator.html         |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 .../_modules/airflow/operators/dummy_operator.html |   380 -
 .../_modules/airflow/operators/email_operator.html |   421 -
 .../airflow/operators/generic_transfer.html        |   424 -
 .../_modules/airflow/operators/hive_operator.html  |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 .../_modules/airflow/operators/hive_to_druid.html  |   589 --
 .../_modules/airflow/operators/hive_to_mysql.html  |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 .../_modules/airflow/operators/http_operator.html  |   442 -
 .../_modules/airflow/operators/jdbc_operator.html  |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 .../_modules/airflow/operators/mssql_operator.html |   406 -
 .../_modules/airflow/operators/mssql_to_hive.html  |   482 -
 .../_modules/airflow/operators/mysql_operator.html |   410 -
 .../_modules/airflow/operators/mysql_to_hive.html  |   487 -
 .../airflow/operators/oracle_operator.html         |   406 -
 .../airflow/operators/papermill_operator.html      |   401 -
 .../_modules/airflow/operators/pig_operator.html   |   420 -
 .../airflow/operators/postgres_operator.html       |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 .../airflow/operators/presto_to_mysql.html         |   423 -
 .../airflow/operators/python_operator.html         |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 1.10.6/_modules/airflow/operators/sensors.html     |   437 -
 .../_modules/airflow/operators/slack_operator.html |   481 -
 .../airflow/operators/sqlite_operator.html         |   397 -
 .../airflow/operators/subdag_operator.html         |   445 -
 1.10.6/_modules/airflow/sensors.html               |   406 -
 .../airflow/sensors/base_sensor_operator.html      |   484 -
 .../airflow/sensors/external_task_sensor.html      |   497 -
 1.10.6/_modules/airflow/sensors/hdfs_sensor.html   |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 1.10.6/_modules/airflow/sensors/http_sensor.html   |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 1.10.6/_modules/airflow/sensors/s3_key_sensor.html |   436 -
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   425 -
 1.10.6/_modules/airflow/sensors/sql_sensor.html    |   445 -
 .../airflow/sensors/time_delta_sensor.html         |   389 -
 1.10.6/_modules/airflow/sensors/time_sensor.html   |   383 -
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   387 -
 .../_modules/airflow/utils/log/logging_mixin.html  |   547 -
 1.10.6/_modules/index.html                         |   677 --
 1.10.6/api.html                                    |   525 -
 1.10.6/changelog.html                              |  3653 -------
 1.10.6/cli.html                                    |  1689 ---
 1.10.6/concepts.html                               |  1450 ---
 1.10.6/errors.html                                 |   437 -
 1.10.6/faq.html                                    |   538 -
 1.10.6/genindex.html                               |  9776 ------------------
 1.10.6/howto/check-health.html                     |   410 -
 1.10.6/howto/cli-completion.html                   |   401 -
 1.10.6/howto/connection/aws.html                   |   440 -
 1.10.6/howto/connection/gcp.html                   |   484 -
 1.10.6/howto/connection/gcp_sql.html               |   445 -
 1.10.6/howto/connection/grpc.html                  |   447 -
 1.10.6/howto/connection/index.html                 |   461 -
 1.10.6/howto/connection/mysql.html                 |   466 -
 1.10.6/howto/connection/oracle.html                |   455 -
 1.10.6/howto/connection/postgres.html              |   451 -
 1.10.6/howto/connection/ssh.html                   |   445 -
 1.10.6/howto/define_extra_link.html                |   478 -
 1.10.6/howto/executor/use-celery.html              |   494 -
 1.10.6/howto/executor/use-dask.html                |   404 -
 1.10.6/howto/executor/use-mesos.html               |   446 -
 1.10.6/howto/index.html                            |   435 -
 1.10.6/howto/initialize-database.html              |   409 -
 1.10.6/howto/operator/bash.html                    |   440 -
 1.10.6/howto/operator/dingding.html                |   516 -
 1.10.6/howto/operator/gcp/bigtable.html            |   624 --
 1.10.6/howto/operator/gcp/cloud_build.html         |   516 -
 1.10.6/howto/operator/gcp/compute.html             |   762 --
 1.10.6/howto/operator/gcp/function.html            |   616 --
 1.10.6/howto/operator/gcp/gcs.html                 |   527 -
 1.10.6/howto/operator/gcp/index.html               |   425 -
 1.10.6/howto/operator/gcp/natural_language.html    |   594 --
 1.10.6/howto/operator/gcp/spanner.html             |   738 --
 1.10.6/howto/operator/gcp/speech.html              |   522 -
 1.10.6/howto/operator/gcp/sql.html                 |  1386 ---
 1.10.6/howto/operator/gcp/transfer.html            |   917 --
 1.10.6/howto/operator/gcp/translate-speech.html    |   466 -
 1.10.6/howto/operator/gcp/translate.html           |   458 -
 1.10.6/howto/operator/gcp/video.html               |   600 --
 1.10.6/howto/operator/gcp/vision.html              |  1570 ---
 1.10.6/howto/operator/index.html                   |   438 -
 1.10.6/howto/operator/papermill.html               |   428 -
 1.10.6/howto/operator/python.html                  |   445 -
 1.10.6/howto/run-behind-proxy.html                 |   444 -
 1.10.6/howto/run-with-systemd.html                 |   394 -
 1.10.6/howto/run-with-upstart.html                 |   404 -
 1.10.6/howto/secure-connections.html               |   422 -
 1.10.6/howto/set-config.html                       |   419 -
 1.10.6/howto/tracking-user-activity.html           |   396 -
 1.10.6/howto/use-test-config.html                  |   389 -
 1.10.6/howto/write-logs.html                       |   548 -
 1.10.6/http-routingtable.html                      |   417 -
 1.10.6/index.html                                  |  1084 --
 1.10.6/installation.html                           |   543 -
 1.10.6/integration.html                            |  1158 ---
 1.10.6/kubernetes.html                             |   501 -
 1.10.6/license.html                                |   535 -
 1.10.6/lineage.html                                |   444 -
 1.10.6/macros.html                                 |   683 --
 1.10.6/metrics.html                                |   516 -
 1.10.6/plugins.html                                |   642 --
 1.10.6/privacy_notice.html                         |   395 -
 1.10.6/profiling.html                              |   396 -
 1.10.6/project.html                                |   426 -
 1.10.6/py-modindex.html                            |  1939 ----
 1.10.6/scheduler.html                              |   537 -
 1.10.6/search.html                                 |   360 -
 1.10.6/security.html                               |   908 --
 1.10.6/start.html                                  |   407 -
 1.10.6/timezone.html                               |   489 -
 1.10.6/tutorial.html                               |   790 --
 1.10.6/ui.html                                     |   442 -
 404.html                                           |   557 +
 _api/airflow/contrib/executors/index.html          |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 _api/airflow/contrib/hooks/aws_hook/index.html     |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |   421 -
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 _api/airflow/contrib/hooks/datadog_hook/index.html |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 _api/airflow/contrib/hooks/emr_hook/index.html     |   413 -
 _api/airflow/contrib/hooks/fs_hook/index.html      |   414 -
 _api/airflow/contrib/hooks/ftp_hook/index.html     |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 _api/airflow/contrib/hooks/gcs_hook/index.html     |   715 --
 _api/airflow/contrib/hooks/grpc_hook/index.html    |   419 -
 _api/airflow/contrib/hooks/imap_hook/index.html    |   657 --
 _api/airflow/contrib/hooks/index.html              |   481 -
 _api/airflow/contrib/hooks/jenkins_hook/index.html |   403 -
 _api/airflow/contrib/hooks/jira_hook/index.html    |   408 -
 _api/airflow/contrib/hooks/mongo_hook/index.html   |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 _api/airflow/contrib/hooks/pinot_hook/index.html   |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 _api/airflow/contrib/hooks/qubole_hook/index.html  |   514 -
 _api/airflow/contrib/hooks/redis_hook/index.html   |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 _api/airflow/contrib/hooks/segment_hook/index.html |   416 -
 _api/airflow/contrib/hooks/sftp_hook/index.html    |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |   557 -
 _api/airflow/contrib/hooks/ssh_hook/index.html     |   461 -
 _api/airflow/contrib/hooks/vertica_hook/index.html |   419 -
 _api/airflow/contrib/hooks/wasb_hook/index.html    |   542 -
 _api/airflow/contrib/hooks/winrm_hook/index.html   |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 _api/airflow/contrib/operators/index.html          |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 _api/airflow/contrib/sensors/ftp_sensor/index.html |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 _api/airflow/contrib/sensors/gcs_sensor/index.html |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 _api/airflow/contrib/sensors/index.html            |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 _api/airflow/executors/base_executor/index.html    |   510 -
 _api/airflow/executors/celery_executor/index.html  |   527 -
 _api/airflow/executors/dask_executor/index.html    |   428 -
 _api/airflow/executors/index.html                  |   747 --
 _api/airflow/executors/local_executor/index.html   |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 _api/airflow/hooks/S3_hook/index.html              |   722 --
 _api/airflow/hooks/base_hook/index.html            |   452 -
 _api/airflow/hooks/dbapi_hook/index.html           |   597 --
 _api/airflow/hooks/docker_hook/index.html          |   414 -
 _api/airflow/hooks/druid_hook/index.html           |   472 -
 _api/airflow/hooks/hdfs_hook/index.html            |   424 -
 _api/airflow/hooks/hive_hooks/index.html           |   880 --
 _api/airflow/hooks/http_hook/index.html            |   493 -
 _api/airflow/hooks/index.html                      |   433 -
 _api/airflow/hooks/jdbc_hook/index.html            |   435 -
 _api/airflow/hooks/mssql_hook/index.html           |   429 -
 _api/airflow/hooks/mysql_hook/index.html           |   490 -
 _api/airflow/hooks/oracle_hook/index.html          |   485 -
 _api/airflow/hooks/pig_hook/index.html             |   418 -
 _api/airflow/hooks/postgres_hook/index.html        |   486 -
 _api/airflow/hooks/presto_hook/index.html          |   477 -
 _api/airflow/hooks/samba_hook/index.html           |   408 -
 _api/airflow/hooks/slack_hook/index.html           |   408 -
 _api/airflow/hooks/sqlite_hook/index.html          |   419 -
 _api/airflow/hooks/webhdfs_hook/index.html         |   479 -
 _api/airflow/hooks/zendesk_hook/index.html         |   432 -
 _api/airflow/models/base/index.html                |   411 -
 _api/airflow/models/baseoperator/index.html        |   993 --
 _api/airflow/models/chart/index.html               |   487 -
 _api/airflow/models/connection/index.html          |   532 -
 _api/airflow/models/crypto/index.html              |   445 -
 _api/airflow/models/dag/index.html                 |  1242 ---
 _api/airflow/models/dagbag/index.html              |   518 -
 _api/airflow/models/dagpickle/index.html           |   429 -
 _api/airflow/models/dagrun/index.html              |   616 --
 _api/airflow/models/errors/index.html              |   422 -
 _api/airflow/models/index.html                     |  3767 -------
 _api/airflow/models/knownevent/index.html          |   478 -
 _api/airflow/models/kubernetes/index.html          |   458 -
 _api/airflow/models/log/index.html                 |   448 -
 _api/airflow/models/pool/index.html                |   471 -
 _api/airflow/models/skipmixin/index.html           |   421 -
 _api/airflow/models/slamiss/index.html             |   450 -
 _api/airflow/models/taskfail/index.html            |   445 -
 _api/airflow/models/taskinstance/index.html        |   931 --
 _api/airflow/models/taskreschedule/index.html      |   467 -
 _api/airflow/models/user/index.html                |   437 -
 _api/airflow/models/variable/index.html            |   488 -
 _api/airflow/models/xcom/index.html                |   507 -
 _api/airflow/operators/bash_operator/index.html    |   453 -
 _api/airflow/operators/branch_operator/index.html  |   433 -
 _api/airflow/operators/check_operator/index.html   |   599 --
 _api/airflow/operators/dagrun_operator/index.html  |   444 -
 _api/airflow/operators/docker_operator/index.html  |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 _api/airflow/operators/dummy_operator/index.html   |   417 -
 _api/airflow/operators/email_operator/index.html   |   442 -
 _api/airflow/operators/generic_transfer/index.html |   442 -
 _api/airflow/operators/hive_operator/index.html    |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 _api/airflow/operators/hive_to_druid/index.html    |   467 -
 _api/airflow/operators/hive_to_mysql/index.html    |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 _api/airflow/operators/http_operator/index.html    |   448 -
 _api/airflow/operators/index.html                  |  1006 --
 _api/airflow/operators/jdbc_operator/index.html    |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 _api/airflow/operators/mssql_operator/index.html   |   439 -
 _api/airflow/operators/mssql_to_hive/index.html    |   460 -
 _api/airflow/operators/mysql_operator/index.html   |   441 -
 _api/airflow/operators/mysql_to_hive/index.html    |   459 -
 _api/airflow/operators/oracle_operator/index.html  |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 _api/airflow/operators/pig_operator/index.html     |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 _api/airflow/operators/presto_to_mysql/index.html  |   443 -
 _api/airflow/operators/python_operator/index.html  |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 _api/airflow/operators/sensors/index.html          |   471 -
 _api/airflow/operators/slack_operator/index.html   |   472 -
 _api/airflow/operators/sqlite_operator/index.html  |   436 -
 _api/airflow/operators/subdag_operator/index.html  |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 _api/airflow/sensors/hdfs_sensor/index.html        |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 _api/airflow/sensors/http_sensor/index.html        |   435 -
 _api/airflow/sensors/index.html                    |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 _api/airflow/sensors/s3_key_sensor/index.html      |   448 -
 _api/airflow/sensors/s3_prefix_sensor/index.html   |   450 -
 _api/airflow/sensors/sql_sensor/index.html         |   456 -
 _api/airflow/sensors/time_delta_sensor/index.html  |   419 -
 _api/airflow/sensors/time_sensor/index.html        |   416 -
 _api/airflow/sensors/web_hdfs_sensor/index.html    |   416 -
 _api/index.html                                    |   521 -
 _gen/docs-docs-index.json                          |    11 +
 _gen/docs-index.json                               |    11 +
 _gen/indexes/.keep                                 |    16 +
 _gen/indexes/en/blog-index.json                    |     1 +
 _gen/indexes/en/blog-posts.json                    |     1 +
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 _modules/airflow/configuration.html                |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 _modules/airflow/contrib/hooks.html                |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 _modules/airflow/contrib/hooks/aws_hook.html       |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |   446 -
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |   407 -
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  2615 -----
 _modules/airflow/contrib/hooks/cassandra_hook.html |   543 -
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 _modules/airflow/contrib/hooks/datadog_hook.html   |   501 -
 _modules/airflow/contrib/hooks/datastore_hook.html |   682 --
 _modules/airflow/contrib/hooks/dingding_hook.html  |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 _modules/airflow/contrib/hooks/emr_hook.html       |   400 -
 _modules/airflow/contrib/hooks/fs_hook.html        |   389 -
 _modules/airflow/contrib/hooks/ftp_hook.html       |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 _modules/airflow/contrib/hooks/gcs_hook.html       |   938 --
 _modules/airflow/contrib/hooks/grpc_hook.html      |   478 -
 _modules/airflow/contrib/hooks/imap_hook.html      |   659 --
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   391 -
 _modules/airflow/contrib/hooks/jira_hook.html      |   429 -
 _modules/airflow/contrib/hooks/mongo_hook.html     |   640 --
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 _modules/airflow/contrib/hooks/pinot_hook.html     |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 _modules/airflow/contrib/hooks/qubole_hook.html    |   627 --
 _modules/airflow/contrib/hooks/redis_hook.html     |   409 -
 _modules/airflow/contrib/hooks/redshift_hook.html  |   456 -
 _modules/airflow/contrib/hooks/sagemaker_hook.html |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 _modules/airflow/contrib/hooks/segment_hook.html   |   433 -
 _modules/airflow/contrib/hooks/sftp_hook.html      |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 _modules/airflow/contrib/hooks/snowflake_hook.html |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   698 --
 _modules/airflow/contrib/hooks/ssh_hook.html       |   606 --
 _modules/airflow/contrib/hooks/vertica_hook.html   |   396 -
 _modules/airflow/contrib/hooks/wasb_hook.html      |   534 -
 _modules/airflow/contrib/hooks/winrm_hook.html     |   577 --
 _modules/airflow/contrib/operators.html            |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   635 --
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   542 -
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 _modules/airflow/contrib/operators/sql_to_gcs.html |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 _modules/airflow/contrib/sensors/bash_sensor.html  |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 _modules/airflow/contrib/sensors/file_sensor.html  |   412 -
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   655 --
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 _modules/airflow/contrib/sensors/jira_sensor.html  |   492 -
 _modules/airflow/contrib/sensors/mongo_sensor.html |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   393 -
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 _modules/airflow/exceptions.html                   |   456 -
 _modules/airflow/executors.html                    |   440 -
 _modules/airflow/executors/base_executor.html      |   555 -
 _modules/airflow/executors/celery_executor.html    |   637 --
 _modules/airflow/executors/dask_executor.html      |   440 -
 _modules/airflow/executors/local_executor.html     |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 _modules/airflow/hooks.html                        |   437 -
 _modules/airflow/hooks/S3_hook.html                |   886 --
 _modules/airflow/hooks/base_hook.html              |   445 -
 _modules/airflow/hooks/dbapi_hook.html             |   648 --
 _modules/airflow/hooks/docker_hook.html            |   431 -
 _modules/airflow/hooks/druid_hook.html             |   508 -
 _modules/airflow/hooks/hdfs_hook.html              |   441 -
 _modules/airflow/hooks/hive_hooks.html             |  1347 ---
 _modules/airflow/hooks/http_hook.html              |   556 -
 _modules/airflow/hooks/jdbc_hook.html              |   404 -
 _modules/airflow/hooks/mssql_hook.html             |   398 -
 _modules/airflow/hooks/mysql_hook.html             |   517 -
 _modules/airflow/hooks/oracle_hook.html            |   574 --
 _modules/airflow/hooks/pig_hook.html               |   443 -
 _modules/airflow/hooks/postgres_hook.html          |   505 -
 _modules/airflow/hooks/presto_hook.html            |   483 -
 _modules/airflow/hooks/samba_hook.html             |   395 -
 _modules/airflow/hooks/slack_hook.html             |   405 -
 _modules/airflow/hooks/sqlite_hook.html            |   384 -
 _modules/airflow/hooks/webhdfs_hook.html           |   475 -
 _modules/airflow/hooks/zendesk_hook.html           |   455 -
 _modules/airflow/macros.html                       |   451 -
 _modules/airflow/macros/hive.html                  |   465 -
 _modules/airflow/models.html                       |   383 -
 _modules/airflow/models/base.html                  |   378 -
 _modules/airflow/models/baseoperator.html          |  1458 ---
 _modules/airflow/models/chart.html                 |   393 -
 _modules/airflow/models/connection.html            |   642 --
 _modules/airflow/models/crypto.html                |   440 -
 _modules/airflow/models/dag.html                   |  1980 ----
 _modules/airflow/models/dagbag.html                |   766 --
 _modules/airflow/models/dagpickle.html             |   395 -
 _modules/airflow/models/dagrun.html                |   790 --
 _modules/airflow/models/errors.html                |   374 -
 _modules/airflow/models/knownevent.html            |   397 -
 _modules/airflow/models/kubernetes.html            |   422 -
 _modules/airflow/models/log.html                   |   411 -
 _modules/airflow/models/pool.html                  |   452 -
 _modules/airflow/models/skipmixin.html             |   445 -
 _modules/airflow/models/slamiss.html               |   391 -
 _modules/airflow/models/taskfail.html              |   398 -
 _modules/airflow/models/taskinstance.html          |  1753 ----
 _modules/airflow/models/taskreschedule.html        |   428 -
 _modules/airflow/models/user.html                  |   383 -
 _modules/airflow/models/variable.html              |   495 -
 _modules/airflow/models/xcom.html                  |   577 --
 _modules/airflow/operators.html                    |   464 -
 _modules/airflow/operators/bash_operator.html      |   486 -
 _modules/airflow/operators/branch_operator.html    |   395 -
 _modules/airflow/operators/check_operator.html     |   677 --
 _modules/airflow/operators/dagrun_operator.html    |   440 -
 _modules/airflow/operators/docker_operator.html    |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 _modules/airflow/operators/dummy_operator.html     |   380 -
 _modules/airflow/operators/email_operator.html     |   421 -
 _modules/airflow/operators/generic_transfer.html   |   424 -
 _modules/airflow/operators/hive_operator.html      |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 _modules/airflow/operators/hive_to_druid.html      |   589 --
 _modules/airflow/operators/hive_to_mysql.html      |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 _modules/airflow/operators/http_operator.html      |   442 -
 _modules/airflow/operators/jdbc_operator.html      |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 _modules/airflow/operators/mssql_operator.html     |   406 -
 _modules/airflow/operators/mssql_to_hive.html      |   482 -
 _modules/airflow/operators/mysql_operator.html     |   410 -
 _modules/airflow/operators/mysql_to_hive.html      |   487 -
 _modules/airflow/operators/oracle_operator.html    |   406 -
 _modules/airflow/operators/papermill_operator.html |   401 -
 _modules/airflow/operators/pig_operator.html       |   420 -
 _modules/airflow/operators/postgres_operator.html  |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 _modules/airflow/operators/presto_to_mysql.html    |   423 -
 _modules/airflow/operators/python_operator.html    |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 _modules/airflow/operators/sensors.html            |   437 -
 _modules/airflow/operators/slack_operator.html     |   481 -
 _modules/airflow/operators/sqlite_operator.html    |   397 -
 _modules/airflow/operators/subdag_operator.html    |   445 -
 _modules/airflow/sensors.html                      |   406 -
 _modules/airflow/sensors/base_sensor_operator.html |   484 -
 _modules/airflow/sensors/external_task_sensor.html |   497 -
 _modules/airflow/sensors/hdfs_sensor.html          |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 _modules/airflow/sensors/http_sensor.html          |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 _modules/airflow/sensors/s3_key_sensor.html        |   436 -
 _modules/airflow/sensors/s3_prefix_sensor.html     |   425 -
 _modules/airflow/sensors/sql_sensor.html           |   445 -
 _modules/airflow/sensors/time_delta_sensor.html    |   389 -
 _modules/airflow/sensors/time_sensor.html          |   383 -
 _modules/airflow/sensors/web_hdfs_sensor.html      |   387 -
 _modules/airflow/utils/log/logging_mixin.html      |   547 -
 _modules/index.html                                |   677 --
 api.html                                           |   525 -
 .../index.html                                     |   672 ++
 blog/index.html                                    |   649 ++
 blog/index.xml                                     |    57 +
 .../index.html                                     |   711 ++
 blog/tags/community/index.html                     |   624 ++
 blog/tags/community/index.xml                      |    36 +
 blog/tags/development/index.html                   |   624 ++
 blog/tags/development/index.xml                    |    40 +
 browserconfig.xml                                  |     2 +
 categories/index.html                              |   553 +
 categories/index.xml                               |    17 +
 changelog.html                                     |  3653 -------
 chunk-1.b2992.js                                   |     1 +
 chunk-3.b2992.js                                   |     1 +
 chunk-4.b2992.js                                   |    19 +
 chunk-5.b2992.js                                   |    51 +
 cli.html                                           |  1689 ---
 community/index.html                               |  1671 +++
 community/index.xml                                |    17 +
 concepts.html                                      |  1450 ---
 css/swagger-ui.css                                 |     4 +
 docs.b2992.js                                      |     1 +
 {_images => docs/1.10.1/_images}/adhoc.png         |   Bin
 {_images => docs/1.10.1/_images}/airflow.gif       |   Bin
 {_images => docs/1.10.1/_images}/apache.jpg        |   Bin
 {_images => docs/1.10.1/_images}/branch_bad.png    |   Bin
 {_images => docs/1.10.1/_images}/branch_good.png   |   Bin
 {_images => docs/1.10.1/_images}/chart.png         |   Bin
 {_images => docs/1.10.1/_images}/chart_form.png    |   Bin
 {1.10.1 => docs/1.10.1}/_images/code.png           |   Bin
 .../1.10.1/_images}/connection_create.png          |   Bin
 .../1.10.1/_images}/connection_edit.png            |   Bin
 {_images => docs/1.10.1/_images}/connections.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/context.png        |   Bin
 {1.10.1 => docs/1.10.1}/_images/dags.png           |   Bin
 {1.10.1 => docs/1.10.1}/_images/duration.png       |   Bin
 {1.10.1 => docs/1.10.1}/_images/gantt.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/graph.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/incubator.jpg      |   Bin
 .../1.10.1}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.5 => docs/1.10.1}/_images/pin_large.png      |   Bin
 {_images => docs/1.10.1/_images}/subdag_after.png  |   Bin
 {_images => docs/1.10.1/_images}/subdag_before.png |   Bin
 {_images => docs/1.10.1/_images}/subdag_zoom.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/tree.png           |   Bin
 .../1.10.1/_images}/variable_hidden.png            |   Bin
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../airflow/contrib/sensors/cassandra_sensor.html  |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.1}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.1}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.1}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.1}/_modules/airflow/macros.html           |     0
 .../1.10.1}/_modules/airflow/macros/hive.html      |     0
 .../1.10.1}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.1 => docs/1.10.1}/_modules/index.html        |     0
 {1.10.1 => docs/1.10.1}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.1}/_sources/cli.rst.txt       |     0
 {1.10.1 => docs/1.10.1}/_sources/code.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/concepts.rst.txt  |     0
 {1.10.3 => docs/1.10.1}/_sources/faq.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.1}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.1}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.1}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/index.rst.txt     |     0
 .../1.10.1}/_sources/installation.rst.txt          |     0
 .../1.10.1}/_sources/integration.rst.txt           |     0
 .../1.10.1}/_sources/kubernetes.rst.txt            |     0
 {1.10.4 => docs/1.10.1}/_sources/license.rst.txt   |     0
 {1.10.2 => docs/1.10.1}/_sources/lineage.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/plugins.rst.txt   |     0
 {1.10.4 => docs/1.10.1}/_sources/profiling.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/project.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/scheduler.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/security.rst.txt  |     0
 {1.10.2 => docs/1.10.1}/_sources/start.rst.txt     |     0
 {1.10.2 => docs/1.10.1}/_sources/timezone.rst.txt  |     0
 {1.10.1 => docs/1.10.1}/_sources/tutorial.rst.txt  |     0
 {1.10.4 => docs/1.10.1}/_sources/ui.rst.txt        |     0
 {1.10.2 => docs/1.10.1}/_static/ajax-loader.gif    |   Bin
 {1.10.2 => docs/1.10.1}/_static/basic.css          |     0
 {1.10.2 => docs/1.10.1}/_static/comment-bright.png |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment-close.png  |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment.png        |   Bin
 {1.10.2 => docs/1.10.1}/_static/css/badge_only.css |     0
 {1.10.2 => docs/1.10.1}/_static/css/theme.css      |     0
 {1.10.2 => docs/1.10.1}/_static/doctools.js        |     0
 .../1.10.1}/_static/documentation_options.js       |     0
 {1.10.2 => docs/1.10.1}/_static/down-pressed.png   |   Bin
 {1.10.2 => docs/1.10.1}/_static/down.png           |   Bin
 {_static => docs/1.10.1/_static}/file.png          |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.1/_static}/fonts/Inconsolata.ttf          |   Bin
 .../1.10.1/_static}/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.1/_static}/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff       |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff2      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.svg  |     0
 .../1.10.1/_static}/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.woff |   Bin
 .../_static}/fonts/fontawesome-webfont.woff2       |   Bin
 {1.10.4 => docs/1.10.1}/_static/jquery-3.2.1.js    |     0
 {1.10.4 => docs/1.10.1}/_static/jquery.js          |     0
 .../1.10.1/_static}/js/modernizr.min.js            |     0
 {1.10.2 => docs/1.10.1}/_static/js/theme.js        |     0
 {_static => docs/1.10.1/_static}/minus.png         |   Bin
 {_static => docs/1.10.1/_static}/plus.png          |   Bin
 {_static => docs/1.10.1/_static}/pygments.css      |     0
 {1.10.1 => docs/1.10.1}/_static/searchtools.js     |     0
 .../1.10.1/_static}/underscore-1.3.1.js            |     0
 {_static => docs/1.10.1/_static}/underscore.js     |     0
 {1.10.2 => docs/1.10.1}/_static/up-pressed.png     |   Bin
 {1.10.2 => docs/1.10.1}/_static/up.png             |   Bin
 {1.10.2 => docs/1.10.1}/_static/websupport.js      |     0
 {1.10.1 => docs/1.10.1}/api.html                   |     0
 {1.10.1 => docs/1.10.1}/cli.html                   |     0
 {1.10.1 => docs/1.10.1}/code.html                  |     0
 {1.10.1 => docs/1.10.1}/concepts.html              |     0
 {1.10.1 => docs/1.10.1}/faq.html                   |     0
 {1.10.1 => docs/1.10.1}/genindex.html              |     0
 .../1.10.1}/howto/executor/use-celery.html         |     0
 .../1.10.1}/howto/executor/use-dask.html           |     0
 .../1.10.1}/howto/executor/use-mesos.html          |     0
 {1.10.1 => docs/1.10.1}/howto/index.html           |     0
 .../1.10.1}/howto/initialize-database.html         |     0
 .../1.10.1}/howto/manage-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/operator.html        |     0
 .../1.10.1}/howto/run-with-systemd.html            |     0
 .../1.10.1}/howto/run-with-upstart.html            |     0
 .../1.10.1}/howto/secure-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/set-config.html      |     0
 {1.10.1 => docs/1.10.1}/howto/use-test-config.html |     0
 {1.10.1 => docs/1.10.1}/howto/write-logs.html      |     0
 {1.10.1 => docs/1.10.1}/index.html                 |     0
 {1.10.1 => docs/1.10.1}/installation.html          |     0
 {1.10.1 => docs/1.10.1}/integration.html           |     0
 {1.10.1 => docs/1.10.1}/kubernetes.html            |     0
 {1.10.1 => docs/1.10.1}/license.html               |     0
 {1.10.1 => docs/1.10.1}/lineage.html               |     0
 {1.10.1 => docs/1.10.1}/objects.inv                |   Bin
 {1.10.1 => docs/1.10.1}/plugins.html               |     0
 {1.10.1 => docs/1.10.1}/profiling.html             |     0
 {1.10.1 => docs/1.10.1}/project.html               |     0
 {1.10.1 => docs/1.10.1}/py-modindex.html           |     0
 {1.10.1 => docs/1.10.1}/scheduler.html             |     0
 {1.10.1 => docs/1.10.1}/search.html                |     0
 {1.10.1 => docs/1.10.1}/searchindex.js             |     0
 {1.10.1 => docs/1.10.1}/security.html              |     0
 {1.10.1 => docs/1.10.1}/start.html                 |     0
 {1.10.1 => docs/1.10.1}/timezone.html              |     0
 {1.10.1 => docs/1.10.1}/tutorial.html              |     0
 {1.10.1 => docs/1.10.1}/ui.html                    |     0
 {1.10.2 => docs/1.10.2}/.buildinfo                 |     0
 {1.10.6 => docs/1.10.2}/_images/adhoc.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/airflow.gif        |   Bin
 {1.10.6 => docs/1.10.2}/_images/apache.jpg         |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_bad.png     |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_good.png    |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart_form.png     |   Bin
 {_images => docs/1.10.2/_images}/code.png          |   Bin
 .../1.10.2}/_images/connection_create.png          |   Bin
 .../1.10.2}/_images/connection_edit.png            |   Bin
 {1.10.6 => docs/1.10.2}/_images/connections.png    |   Bin
 {_images => docs/1.10.2/_images}/context.png       |   Bin
 {_images => docs/1.10.2/_images}/dags.png          |   Bin
 {_images => docs/1.10.2/_images}/duration.png      |   Bin
 {_images => docs/1.10.2/_images}/gantt.png         |   Bin
 {_images => docs/1.10.2/_images}/graph.png         |   Bin
 .../1.10.2}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.4 => docs/1.10.2}/_images/pin_large.png      |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_after.png   |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_before.png  |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_zoom.png    |   Bin
 {_images => docs/1.10.2/_images}/tree.png          |   Bin
 .../1.10.2}/_images/variable_hidden.png            |   Bin
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../operators/gcs_to_gcs_transfer_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../operators/s3_to_gcs_transfer_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.2}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.2}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.2}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/mysql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.2}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.2}/_modules/airflow/macros.html           |     0
 .../1.10.2}/_modules/airflow/macros/hive.html      |     0
 .../1.10.2}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.2 => docs/1.10.2}/_modules/index.html        |     0
 {1.10.4 => docs/1.10.2}/_sources/api.rst.txt       |     0
 {1.10.4 => docs/1.10.2}/_sources/changelog.rst.txt |     0
 {1.10.1 => docs/1.10.2}/_sources/cli.rst.txt       |     0
 {1.10.2 => docs/1.10.2}/_sources/code.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/concepts.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/faq.rst.txt       |     0
 .../1.10.2}/_sources/howto/check-health.rst.txt    |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.2}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.2}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.2}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/index.rst.txt     |     0
 .../1.10.2}/_sources/installation.rst.txt          |     0
 .../1.10.2}/_sources/integration.rst.txt           |     0
 .../1.10.2}/_sources/kubernetes.rst.txt            |     0
 {1.10.3 => docs/1.10.2}/_sources/license.rst.txt   |     0
 {1.10.1 => docs/1.10.2}/_sources/lineage.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/metrics.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/plugins.rst.txt   |     0
 {1.10.3 => docs/1.10.2}/_sources/profiling.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/project.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/scheduler.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/security.rst.txt  |     0
 {1.10.1 => docs/1.10.2}/_sources/start.rst.txt     |     0
 {1.10.1 => docs/1.10.2}/_sources/timezone.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/tutorial.rst.txt  |     0
 {1.10.3 => docs/1.10.2}/_sources/ui.rst.txt        |     0
 {1.10.1 => docs/1.10.2}/_static/ajax-loader.gif    |   Bin
 {1.10.1 => docs/1.10.2}/_static/basic.css          |     0
 {1.10.1 => docs/1.10.2}/_static/comment-bright.png |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment-close.png  |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment.png        |   Bin
 {1.10.1 => docs/1.10.2}/_static/css/badge_only.css |     0
 {1.10.1 => docs/1.10.2}/_static/css/theme.css      |     0
 {1.10.1 => docs/1.10.2}/_static/doctools.js        |     0
 .../1.10.2}/_static/documentation_options.js       |     0
 {1.10.1 => docs/1.10.2}/_static/down-pressed.png   |   Bin
 {1.10.1 => docs/1.10.2}/_static/down.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/file.png           |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.2}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.2}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.2}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.2}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.3 => docs/1.10.2}/_static/jquery-3.2.1.js    |     0
 {1.10.3 => docs/1.10.2}/_static/jquery.js          |     0
 .../1.10.2}/_static/js/modernizr.min.js            |     0
 {1.10.1 => docs/1.10.2}/_static/js/theme.js        |     0
 {1.10.2 => docs/1.10.2}/_static/language_data.js   |     0
 {1.10.6 => docs/1.10.2}/_static/minus.png          |   Bin
 {1.10.6 => docs/1.10.2}/_static/plus.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/pygments.css       |     0
 {1.10.2 => docs/1.10.2}/_static/searchtools.js     |     0
 .../1.10.2}/_static/underscore-1.3.1.js            |     0
 {1.10.6 => docs/1.10.2}/_static/underscore.js      |     0
 {1.10.1 => docs/1.10.2}/_static/up-pressed.png     |   Bin
 {1.10.1 => docs/1.10.2}/_static/up.png             |   Bin
 {1.10.1 => docs/1.10.2}/_static/websupport.js      |     0
 {1.10.2 => docs/1.10.2}/api.html                   |     0
 {1.10.2 => docs/1.10.2}/changelog.html             |     0
 {1.10.2 => docs/1.10.2}/cli.html                   |     0
 {1.10.2 => docs/1.10.2}/code.html                  |     0
 {1.10.2 => docs/1.10.2}/concepts.html              |     0
 {1.10.2 => docs/1.10.2}/faq.html                   |     0
 {1.10.2 => docs/1.10.2}/genindex.html              |     0
 {1.10.2 => docs/1.10.2}/howto/check-health.html    |     0
 .../1.10.2}/howto/executor/use-celery.html         |     0
 .../1.10.2}/howto/executor/use-dask.html           |     0
 .../1.10.2}/howto/executor/use-mesos.html          |     0
 {1.10.2 => docs/1.10.2}/howto/index.html           |     0
 .../1.10.2}/howto/initialize-database.html         |     0
 .../1.10.2}/howto/manage-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/operator.html        |     0
 .../1.10.2}/howto/run-with-systemd.html            |     0
 .../1.10.2}/howto/run-with-upstart.html            |     0
 .../1.10.2}/howto/secure-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/set-config.html      |     0
 {1.10.2 => docs/1.10.2}/howto/use-test-config.html |     0
 {1.10.2 => docs/1.10.2}/howto/write-logs.html      |     0
 {1.10.2 => docs/1.10.2}/http-routingtable.html     |     0
 {1.10.2 => docs/1.10.2}/index.html                 |     0
 {1.10.2 => docs/1.10.2}/installation.html          |     0
 {1.10.2 => docs/1.10.2}/integration.html           |     0
 {1.10.2 => docs/1.10.2}/kubernetes.html            |     0
 {1.10.2 => docs/1.10.2}/license.html               |     0
 {1.10.2 => docs/1.10.2}/lineage.html               |     0
 {1.10.2 => docs/1.10.2}/metrics.html               |     0
 {1.10.2 => docs/1.10.2}/objects.inv                |   Bin
 {1.10.2 => docs/1.10.2}/plugins.html               |     0
 {1.10.2 => docs/1.10.2}/profiling.html             |     0
 {1.10.2 => docs/1.10.2}/project.html               |     0
 {1.10.2 => docs/1.10.2}/py-modindex.html           |     0
 {1.10.2 => docs/1.10.2}/scheduler.html             |     0
 {1.10.2 => docs/1.10.2}/search.html                |     0
 {1.10.2 => docs/1.10.2}/searchindex.js             |     0
 {1.10.2 => docs/1.10.2}/security.html              |     0
 {1.10.2 => docs/1.10.2}/start.html                 |     0
 {1.10.2 => docs/1.10.2}/timezone.html              |     0
 {1.10.2 => docs/1.10.2}/tutorial.html              |     0
 {1.10.2 => docs/1.10.2}/ui.html                    |     0
 {1.10.3 => docs/1.10.3}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.3}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.3}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.3}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.3}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.3}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.3}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.3}/_api/airflow/models/errors/index.html  |     0
 .../1.10.3}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.3}/_api/airflow/models/log/index.html     |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.3}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.3}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.3}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.3 => docs/1.10.3}/_api/index.html            |     0
 {1.10.5 => docs/1.10.3}/_images/adhoc.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/airflow.gif        |   Bin
 {1.10.5 => docs/1.10.3}/_images/apache.jpg         |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_bad.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_good.png    |   Bin
 .../1.10.3/_images}/branch_with_trigger.png        |   Bin
 .../1.10.3/_images}/branch_without_trigger.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/1.10.3}/_images/code.png           |   Bin
 .../1.10.3}/_images/connection_create.png          |   Bin
 .../1.10.3}/_images/connection_edit.png            |   Bin
 {1.10.5 => docs/1.10.3}/_images/connections.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/context.png        |   Bin
 {1.10.6 => docs/1.10.3}/_images/dags.png           |   Bin
 {1.10.6 => docs/1.10.3}/_images/duration.png       |   Bin
 {1.10.6 => docs/1.10.3}/_images/gantt.png          |   Bin
 {1.10.6 => docs/1.10.3}/_images/graph.png          |   Bin
 .../1.10.3/_images}/latest_only_with_trigger.png   |   Bin
 {1.10.3 => docs/1.10.3}/_images/pin_large.png      |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_after.png   |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_before.png  |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/tree.png           |   Bin
 .../1.10.3}/_images/variable_hidden.png            |   Bin
 .../example_gcp_bigtable_operators.html            |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.3}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../1.10.3}/_modules/airflow/dag/base_dag.html     |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.3}/_modules/airflow/exceptions.html       |     0
 .../1.10.3}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.3}/_modules/airflow/hooks.html            |     0
 .../1.10.3}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.3}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.3}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.3}/_modules/airflow/lineage.html          |     0
 .../1.10.3}/_modules/airflow/macros.html           |     0
 .../1.10.3}/_modules/airflow/macros/hive.html      |     0
 .../1.10.3}/_modules/airflow/models.html           |     0
 .../1.10.3}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.3}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.3}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.3}/_modules/airflow/models/log.html       |     0
 .../1.10.3}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.3}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.3}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.3}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.3}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/ti_deps/dep_context.html      |     0
 .../ti_deps/deps/not_in_retry_period_dep.html      |     0
 .../airflow/ti_deps/deps/prev_dagrun_dep.html      |     0
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |     0
 .../_modules/airflow/utils/dag_processing.html     |     0
 .../1.10.3}/_modules/airflow/utils/dates.html      |     0
 .../1.10.3}/_modules/airflow/utils/db.html         |     0
 .../1.10.3}/_modules/airflow/utils/decorators.html |     0
 .../1.10.3}/_modules/airflow/utils/email.html      |     0
 .../1.10.3}/_modules/airflow/utils/helpers.html    |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 .../1.10.3}/_modules/airflow/utils/net.html        |     0
 .../_modules/airflow/utils/operator_resources.html |     0
 .../1.10.3}/_modules/airflow/utils/sqlalchemy.html |     0
 .../1.10.3}/_modules/airflow/utils/state.html      |     0
 .../1.10.3}/_modules/airflow/utils/timeout.html    |     0
 .../_modules/airflow/utils/trigger_rule.html       |     0
 .../_modules/airflow/utils/weight_rule.html        |     0
 {1.10.3 => docs/1.10.3}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.3}/_sources/_api/index.rst.txt            |     0
 {1.10.3 => docs/1.10.3}/_sources/api.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/changelog.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/cli.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/concepts.rst.txt  |     0
 {1.10.1 => docs/1.10.3}/_sources/faq.rst.txt       |     0
 .../1.10.3}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.3}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.3}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.3}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.3}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.3}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.3}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.3}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.3}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.4 => docs/1.10.3}/_sources/index.rst.txt     |     0
 .../1.10.3}/_sources/installation.rst.txt          |     0
 .../1.10.3}/_sources/integration.rst.txt           |     0
 .../1.10.3}/_sources/kubernetes.rst.txt            |     0
 {1.10.2 => docs/1.10.3}/_sources/license.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/lineage.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/macros.rst.txt    |     0
 {1.10.3 => docs/1.10.3}/_sources/metrics.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/plugins.rst.txt   |     0
 {1.10.2 => docs/1.10.3}/_sources/profiling.rst.txt |     0
 {1.10.3 => docs/1.10.3}/_sources/project.rst.txt   |     0
 {1.10.4 => docs/1.10.3}/_sources/scheduler.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/security.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/start.rst.txt     |     0
 {1.10.3 => docs/1.10.3}/_sources/timezone.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/tutorial.rst.txt  |     0
 {1.10.2 => docs/1.10.3}/_sources/ui.rst.txt        |     0
 {1.10.3 => docs/1.10.3}/_static/basic.css          |     0
 .../1.10.3/_static}/css/badge_only.css             |     0
 {_static => docs/1.10.3/_static}/css/theme.css     |     0
 {_static => docs/1.10.3/_static}/doctools.js       |     0
 .../1.10.3}/_static/documentation_options.js       |     0
 {1.10.5 => docs/1.10.3}/_static/file.png           |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.3}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.3}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.3}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.3}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.2 => docs/1.10.3}/_static/jquery-3.2.1.js    |     0
 {1.10.2 => docs/1.10.3}/_static/jquery.js          |     0
 .../1.10.3}/_static/js/modernizr.min.js            |     0
 {_static => docs/1.10.3/_static}/js/theme.js       |     0
 {_static => docs/1.10.3/_static}/language_data.js  |     0
 {1.10.5 => docs/1.10.3}/_static/minus.png          |   Bin
 {1.10.5 => docs/1.10.3}/_static/plus.png           |   Bin
 {1.10.5 => docs/1.10.3}/_static/pygments.css       |     0
 {1.10.3 => docs/1.10.3}/_static/searchtools.js     |     0
 .../1.10.3}/_static/underscore-1.3.1.js            |     0
 {1.10.5 => docs/1.10.3}/_static/underscore.js      |     0
 {1.10.3 => docs/1.10.3}/api.html                   |     0
 {1.10.3 => docs/1.10.3}/changelog.html             |     0
 {1.10.3 => docs/1.10.3}/cli.html                   |     0
 {1.10.3 => docs/1.10.3}/concepts.html              |     0
 {1.10.3 => docs/1.10.3}/faq.html                   |     0
 {1.10.3 => docs/1.10.3}/genindex.html              |     0
 {1.10.3 => docs/1.10.3}/howto/check-health.html    |     0
 {1.10.3 => docs/1.10.3}/howto/connection/aws.html  |     0
 {1.10.3 => docs/1.10.3}/howto/connection/gcp.html  |     0
 .../1.10.3}/howto/connection/gcp_sql.html          |     0
 .../1.10.3}/howto/connection/index.html            |     0
 .../1.10.3}/howto/connection/mysql.html            |     0
 .../1.10.3}/howto/connection/oracle.html           |     0
 .../1.10.3}/howto/connection/postgres.html         |     0
 {1.10.3 => docs/1.10.3}/howto/connection/ssh.html  |     0
 .../1.10.3}/howto/executor/use-celery.html         |     0
 .../1.10.3}/howto/executor/use-dask.html           |     0
 .../1.10.3}/howto/executor/use-mesos.html          |     0
 {1.10.3 => docs/1.10.3}/howto/index.html           |     0
 .../1.10.3}/howto/initialize-database.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/bash.html   |     0
 .../1.10.3}/howto/operator/dingding.html           |     0
 .../1.10.3}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.3}/howto/operator/gcp/compute.html        |     0
 .../1.10.3}/howto/operator/gcp/function.html       |     0
 .../1.10.3}/howto/operator/gcp/gcs.html            |     0
 .../1.10.3}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.3}/howto/operator/gcp/spanner.html        |     0
 .../1.10.3}/howto/operator/gcp/sql.html            |     0
 .../1.10.3}/howto/operator/gcp/transfer.html       |     0
 .../1.10.3}/howto/operator/gcp/translate.html      |     0
 .../1.10.3}/howto/operator/gcp/vision.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/index.html  |     0
 {1.10.3 => docs/1.10.3}/howto/operator/python.html |     0
 .../1.10.3}/howto/run-behind-proxy.html            |     0
 .../1.10.3}/howto/run-with-systemd.html            |     0
 .../1.10.3}/howto/run-with-upstart.html            |     0
 .../1.10.3}/howto/secure-connections.html          |     0
 {1.10.3 => docs/1.10.3}/howto/set-config.html      |     0
 {1.10.3 => docs/1.10.3}/howto/use-test-config.html |     0
 {1.10.3 => docs/1.10.3}/howto/write-logs.html      |     0
 {1.10.3 => docs/1.10.3}/http-routingtable.html     |     0
 {1.10.3 => docs/1.10.3}/index.html                 |     0
 {1.10.3 => docs/1.10.3}/installation.html          |     0
 {1.10.3 => docs/1.10.3}/integration.html           |     0
 {1.10.3 => docs/1.10.3}/kubernetes.html            |     0
 {1.10.3 => docs/1.10.3}/license.html               |     0
 {1.10.3 => docs/1.10.3}/lineage.html               |     0
 {1.10.3 => docs/1.10.3}/macros.html                |     0
 {1.10.3 => docs/1.10.3}/metrics.html               |     0
 {1.10.3 => docs/1.10.3}/objects.inv                |   Bin
 {1.10.3 => docs/1.10.3}/plugins.html               |     0
 {1.10.3 => docs/1.10.3}/profiling.html             |     0
 {1.10.3 => docs/1.10.3}/project.html               |     0
 {1.10.3 => docs/1.10.3}/py-modindex.html           |     0
 {1.10.3 => docs/1.10.3}/scheduler.html             |     0
 {1.10.3 => docs/1.10.3}/search.html                |     0
 {1.10.3 => docs/1.10.3}/searchindex.js             |     0
 {1.10.3 => docs/1.10.3}/security.html              |     0
 {1.10.3 => docs/1.10.3}/start.html                 |     0
 {1.10.3 => docs/1.10.3}/timezone.html              |     0
 {1.10.3 => docs/1.10.3}/tutorial.html              |     0
 {1.10.3 => docs/1.10.3}/ui.html                    |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.4}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.4}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.4}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.4}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.4}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.4}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.4}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.4}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.4}/_api/airflow/models/dag/index.html     |     0
 .../1.10.4}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.4}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.4}/_api/airflow/models/errors/index.html  |     0
 .../1.10.4}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.4}/_api/airflow/models/log/index.html     |     0
 .../1.10.4}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.4}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.4}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.4}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.4}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.4}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.4 => docs/1.10.4}/_api/index.html            |     0
 {1.10.4 => docs/1.10.4}/_images/adhoc.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/airflow.gif        |   Bin
 {1.10.4 => docs/1.10.4}/_images/apache.jpg         |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_bad.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_good.png    |   Bin
 .../1.10.4}/_images/branch_with_trigger.png        |   Bin
 .../1.10.4}/_images/branch_without_trigger.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart_form.png     |   Bin
 {1.10.5 => docs/1.10.4}/_images/code.png           |   Bin
 .../1.10.4}/_images/connection_create.png          |   Bin
 .../1.10.4}/_images/connection_edit.png            |   Bin
 {1.10.4 => docs/1.10.4}/_images/connections.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/context.png        |   Bin
 {1.10.5 => docs/1.10.4}/_images/dags.png           |   Bin
 {1.10.5 => docs/1.10.4}/_images/duration.png       |   Bin
 {1.10.5 => docs/1.10.4}/_images/gantt.png          |   Bin
 {1.10.5 => docs/1.10.4}/_images/graph.png          |   Bin
 .../1.10.4}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.4/_images}/operator_extra_link.png        |   Bin
 {1.10.2 => docs/1.10.4}/_images/pin_large.png      |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_after.png   |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_before.png  |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_zoom.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/tree.png           |   Bin
 .../1.10.4}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.4}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.4}/_modules/airflow/exceptions.html       |     0
 .../1.10.4}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.4}/_modules/airflow/hooks.html            |     0
 .../1.10.4}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.4}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.4}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.4}/_modules/airflow/macros.html           |     0
 .../1.10.4}/_modules/airflow/macros/hive.html      |     0
 .../1.10.4}/_modules/airflow/models.html           |     0
 .../1.10.4}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.4}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.4}/_modules/airflow/models/crypto.html    |     0
 .../1.10.4}/_modules/airflow/models/dag.html       |     0
 .../1.10.4}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.4}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.4}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.4}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.4}/_modules/airflow/models/log.html       |     0
 .../1.10.4}/_modules/airflow/models/pool.html      |     0
 .../1.10.4}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.4}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.4}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.4}/_modules/airflow/models/user.html      |     0
 .../1.10.4}/_modules/airflow/models/variable.html  |     0
 .../1.10.4}/_modules/airflow/models/xcom.html      |     0
 .../1.10.4}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.4}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.4 => docs/1.10.4}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources}/_api/airflow/hooks/index.rst.txt     |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_api/airflow/models/log/index.rst.txt          |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources}/_api/airflow/sensors/index.rst.txt   |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.4}/_sources/_api/index.rst.txt            |     0
 {1.10.2 => docs/1.10.4}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.4}/_sources/changelog.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/cli.rst.txt       |     0
 {1.10.4 => docs/1.10.4}/_sources/concepts.rst.txt  |     0
 {1.10.4 => docs/1.10.4}/_sources/faq.rst.txt       |     0
 .../1.10.4}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.4}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.4}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.4}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.4}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.4}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.4}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.4}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.4}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.4}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.3 => docs/1.10.4}/_sources/index.rst.txt     |     0
 .../1.10.4}/_sources/installation.rst.txt          |     0
 .../1.10.4}/_sources/integration.rst.txt           |     0
 .../1.10.4}/_sources/kubernetes.rst.txt            |     0
 {1.10.1 => docs/1.10.4}/_sources/license.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/lineage.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/macros.rst.txt    |     0
 {1.10.4 => docs/1.10.4}/_sources/metrics.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/plugins.rst.txt   |     0
 {1.10.1 => docs/1.10.4}/_sources/profiling.rst.txt |     0
 {1.10.4 => docs/1.10.4}/_sources/project.rst.txt   |     0
 {1.10.3 => docs/1.10.4}/_sources/scheduler.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/security.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/start.rst.txt     |     0
 {1.10.4 => docs/1.10.4}/_sources/timezone.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/tutorial.rst.txt  |     0
 {1.10.1 => docs/1.10.4}/_sources/ui.rst.txt        |     0
 {1.10.4 => docs/1.10.4}/_static/basic.css          |     0
 {1.10.6 => docs/1.10.4}/_static/css/badge_only.css |     0
 {1.10.6 => docs/1.10.4}/_static/css/theme.css      |     0
 {1.10.6 => docs/1.10.4}/_static/doctools.js        |     0
 .../1.10.4}/_static/documentation_options.js       |     0
 {1.10.4 => docs/1.10.4}/_static/file.png           |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.4}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.4}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.4}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.4}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.1 => docs/1.10.4}/_static/jquery-3.2.1.js    |     0
 {1.10.1 => docs/1.10.4}/_static/jquery.js          |     0
 .../1.10.4}/_static/js/modernizr.min.js            |     0
 {1.10.6 => docs/1.10.4}/_static/js/theme.js        |     0
 {1.10.6 => docs/1.10.4}/_static/language_data.js   |     0
 {1.10.4 => docs/1.10.4}/_static/minus.png          |   Bin
 {1.10.4 => docs/1.10.4}/_static/plus.png           |   Bin
 {1.10.4 => docs/1.10.4}/_static/pygments.css       |     0
 {_static => docs/1.10.4/_static}/searchtools.js    |     0
 .../1.10.4}/_static/underscore-1.3.1.js            |     0
 {1.10.4 => docs/1.10.4}/_static/underscore.js      |     0
 {1.10.4 => docs/1.10.4}/api.html                   |     0
 {1.10.4 => docs/1.10.4}/changelog.html             |     0
 {1.10.4 => docs/1.10.4}/cli.html                   |     0
 {1.10.4 => docs/1.10.4}/concepts.html              |     0
 {1.10.4 => docs/1.10.4}/faq.html                   |     0
 {1.10.4 => docs/1.10.4}/genindex.html              |     0
 {1.10.4 => docs/1.10.4}/howto/check-health.html    |     0
 {1.10.4 => docs/1.10.4}/howto/connection/aws.html  |     0
 {1.10.4 => docs/1.10.4}/howto/connection/gcp.html  |     0
 .../1.10.4}/howto/connection/gcp_sql.html          |     0
 {1.10.4 => docs/1.10.4}/howto/connection/grpc.html |     0
 .../1.10.4}/howto/connection/index.html            |     0
 .../1.10.4}/howto/connection/mysql.html            |     0
 .../1.10.4}/howto/connection/oracle.html           |     0
 .../1.10.4}/howto/connection/postgres.html         |     0
 {1.10.4 => docs/1.10.4}/howto/connection/ssh.html  |     0
 .../1.10.4}/howto/define_extra_link.html           |     0
 .../1.10.4}/howto/executor/use-celery.html         |     0
 .../1.10.4}/howto/executor/use-dask.html           |     0
 .../1.10.4}/howto/executor/use-mesos.html          |     0
 {1.10.4 => docs/1.10.4}/howto/index.html           |     0
 .../1.10.4}/howto/initialize-database.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/bash.html   |     0
 .../1.10.4}/howto/operator/dingding.html           |     0
 .../1.10.4}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.4}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.4}/howto/operator/gcp/compute.html        |     0
 .../1.10.4}/howto/operator/gcp/function.html       |     0
 .../1.10.4}/howto/operator/gcp/gcs.html            |     0
 .../1.10.4}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.4}/howto/operator/gcp/spanner.html        |     0
 .../1.10.4}/howto/operator/gcp/speech.html         |     0
 .../1.10.4}/howto/operator/gcp/sql.html            |     0
 .../1.10.4}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.4}/howto/operator/gcp/translate.html      |     0
 .../1.10.4}/howto/operator/gcp/video.html          |     0
 .../1.10.4}/howto/operator/gcp/vision.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/index.html  |     0
 {1.10.4 => docs/1.10.4}/howto/operator/python.html |     0
 .../1.10.4}/howto/run-behind-proxy.html            |     0
 .../1.10.4}/howto/run-with-systemd.html            |     0
 .../1.10.4}/howto/run-with-upstart.html            |     0
 .../1.10.4}/howto/secure-connections.html          |     0
 {1.10.4 => docs/1.10.4}/howto/set-config.html      |     0
 {1.10.4 => docs/1.10.4}/howto/use-test-config.html |     0
 {1.10.4 => docs/1.10.4}/howto/write-logs.html      |     0
 {1.10.4 => docs/1.10.4}/http-routingtable.html     |     0
 {1.10.4 => docs/1.10.4}/index.html                 |     0
 {1.10.4 => docs/1.10.4}/installation.html          |     0
 {1.10.4 => docs/1.10.4}/integration.html           |     0
 {1.10.4 => docs/1.10.4}/kubernetes.html            |     0
 {1.10.4 => docs/1.10.4}/license.html               |     0
 {1.10.4 => docs/1.10.4}/lineage.html               |     0
 {1.10.4 => docs/1.10.4}/macros.html                |     0
 {1.10.4 => docs/1.10.4}/metrics.html               |     0
 {1.10.4 => docs/1.10.4}/objects.inv                |   Bin
 {1.10.4 => docs/1.10.4}/plugins.html               |     0
 {1.10.4 => docs/1.10.4}/profiling.html             |     0
 {1.10.4 => docs/1.10.4}/project.html               |     0
 {1.10.4 => docs/1.10.4}/py-modindex.html           |     0
 {1.10.4 => docs/1.10.4}/scheduler.html             |     0
 {1.10.4 => docs/1.10.4}/search.html                |     0
 {1.10.4 => docs/1.10.4}/searchindex.js             |     0
 {1.10.4 => docs/1.10.4}/security.html              |     0
 {1.10.4 => docs/1.10.4}/start.html                 |     0
 {1.10.4 => docs/1.10.4}/timezone.html              |     0
 {1.10.4 => docs/1.10.4}/tutorial.html              |     0
 {1.10.4 => docs/1.10.4}/ui.html                    |     0
 {1.10.5 => docs/1.10.5}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_logs_hook/index.html |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.5}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.5}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.5}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.5}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.5}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.5}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.5}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.5}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.5}/_api/airflow/models/dag/index.html     |     0
 .../1.10.5}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.5}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.5}/_api/airflow/models/errors/index.html  |     0
 .../1.10.5}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.5}/_api/airflow/models/log/index.html     |     0
 .../1.10.5}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.5}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.5}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.5}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.5}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.5}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.5 => docs/1.10.5}/_api/index.html            |     0
 {1.10.3 => docs/1.10.5}/_images/adhoc.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/airflow.gif        |   Bin
 {1.10.3 => docs/1.10.5}/_images/apache.jpg         |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_bad.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_good.png    |   Bin
 .../1.10.5}/_images/branch_with_trigger.png        |   Bin
 .../1.10.5}/_images/branch_without_trigger.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart_form.png     |   Bin
 {1.10.4 => docs/1.10.5}/_images/code.png           |   Bin
 .../1.10.5}/_images/connection_create.png          |   Bin
 .../1.10.5}/_images/connection_edit.png            |   Bin
 {1.10.3 => docs/1.10.5}/_images/connections.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/context.png        |   Bin
 {1.10.4 => docs/1.10.5}/_images/dags.png           |   Bin
 {1.10.4 => docs/1.10.5}/_images/duration.png       |   Bin
 {1.10.4 => docs/1.10.5}/_images/gantt.png          |   Bin
 {1.10.4 => docs/1.10.5}/_images/graph.png          |   Bin
 .../1.10.5}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.5}/_images/operator_extra_link.png        |   Bin
 {1.10.1 => docs/1.10.5}/_images/pin_large.png      |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_after.png   |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_before.png  |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_zoom.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/tree.png           |   Bin
 .../1.10.5}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.5}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_logs_hook.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.5}/_modules/airflow/exceptions.html       |     0
 .../1.10.5}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.5}/_modules/airflow/hooks.html            |     0
 .../1.10.5}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.5}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.5}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.5}/_modules/airflow/macros.html           |     0
 .../1.10.5}/_modules/airflow/macros/hive.html      |     0
 .../1.10.5}/_modules/airflow/models.html           |     0
 .../1.10.5}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.5}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.5}/_modules/airflow/models/crypto.html    |     0
 .../1.10.5}/_modules/airflow/models/dag.html       |     0
 .../1.10.5}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.5}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.5}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.5}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.5}/_modules/airflow/models/log.html       |     0
 .../1.10.5}/_modules/airflow/models/pool.html      |     0
 .../1.10.5}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.5}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.5}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.5}/_modules/airflow/models/user.html      |     0
 .../1.10.5}/_modules/airflow/models/variable.html  |     0
 .../1.10.5}/_modules/airflow/models/xcom.html      |     0
 .../1.10.5}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.5}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.5 => docs/1.10.5}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.5/_sources}/_api/index.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/api.rst.txt     |     0
 .../1.10.5/_sources}/changelog.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/cli.rst.txt     |     0
 {1.10.5 => docs/1.10.5}/_sources/concepts.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/faq.rst.txt       |     0
 .../1.10.5/_sources}/howto/check-health.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.5}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources}/howto/connection/gcp_sql.rst.txt     |     0
 .../1.10.5}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources}/howto/connection/mysql.rst.txt       |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources}/howto/connection/postgres.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources}/howto/executor/use-dask.rst.txt      |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.5}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources}/howto/operator/gcp/bigtable.rst.txt  |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources}/howto/operator/gcp/compute.rst.txt   |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources}/howto/operator/gcp/gcs.rst.txt       |     0
 .../_sources}/howto/operator/gcp/index.rst.txt     |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources}/howto/operator/gcp/speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources}/howto/operator/gcp/transfer.rst.txt  |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources}/howto/operator/gcp/translate.rst.txt |     0
 .../_sources}/howto/operator/gcp/video.rst.txt     |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.5/_sources}/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.5}/_sources/howto/set-config.rst.txt      |     0
 .../_sources}/howto/tracking-user-activity.rst.txt |     0
 .../1.10.5}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.5}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.5 => docs/1.10.5}/_sources/index.rst.txt     |     0
 .../1.10.5/_sources}/installation.rst.txt          |     0
 .../1.10.5}/_sources/integration.rst.txt           |     0
 .../1.10.5/_sources}/kubernetes.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/license.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/lineage.rst.txt   |     0
 {_sources => docs/1.10.5/_sources}/macros.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/metrics.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/plugins.rst.txt   |     0
 .../1.10.5/_sources}/privacy_notice.rst.txt        |     0
 .../1.10.5/_sources}/profiling.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/project.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/scheduler.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/security.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/start.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/timezone.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/tutorial.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/ui.rst.txt      |     0
 {_static => docs/1.10.5/_static}/basic.css         |     0
 {1.10.5 => docs/1.10.5}/_static/css/badge_only.css |     0
 {1.10.5 => docs/1.10.5}/_static/css/theme.css      |     0
 {1.10.5 => docs/1.10.5}/_static/doctools.js        |     0
 .../1.10.5}/_static/documentation_options.js       |     0
 {1.10.3 => docs/1.10.5}/_static/file.png           |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.5}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.5}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.5}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.5}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {_static => docs/1.10.5/_static}/jquery-3.4.1.js   |     0
 {_static => docs/1.10.5/_static}/jquery.js         |     0
 .../1.10.5}/_static/js/modernizr.min.js            |     0
 {1.10.5 => docs/1.10.5}/_static/js/theme.js        |     0
 {1.10.5 => docs/1.10.5}/_static/language_data.js   |     0
 {1.10.3 => docs/1.10.5}/_static/minus.png          |   Bin
 {1.10.3 => docs/1.10.5}/_static/plus.png           |   Bin
 {1.10.3 => docs/1.10.5}/_static/pygments.css       |     0
 {1.10.6 => docs/1.10.5}/_static/searchtools.js     |     0
 .../1.10.5}/_static/underscore-1.3.1.js            |     0
 {1.10.3 => docs/1.10.5}/_static/underscore.js      |     0
 {1.10.5 => docs/1.10.5}/api.html                   |     0
 {1.10.5 => docs/1.10.5}/changelog.html             |     0
 {1.10.5 => docs/1.10.5}/cli.html                   |     0
 {1.10.5 => docs/1.10.5}/concepts.html              |     0
 {1.10.5 => docs/1.10.5}/faq.html                   |     0
 {1.10.5 => docs/1.10.5}/genindex.html              |     0
 {1.10.5 => docs/1.10.5}/howto/check-health.html    |     0
 {1.10.5 => docs/1.10.5}/howto/connection/aws.html  |     0
 {1.10.5 => docs/1.10.5}/howto/connection/gcp.html  |     0
 .../1.10.5}/howto/connection/gcp_sql.html          |     0
 {1.10.5 => docs/1.10.5}/howto/connection/grpc.html |     0
 .../1.10.5}/howto/connection/index.html            |     0
 .../1.10.5}/howto/connection/mysql.html            |     0
 .../1.10.5}/howto/connection/oracle.html           |     0
 .../1.10.5}/howto/connection/postgres.html         |     0
 {1.10.5 => docs/1.10.5}/howto/connection/ssh.html  |     0
 .../1.10.5}/howto/define_extra_link.html           |     0
 .../1.10.5}/howto/executor/use-celery.html         |     0
 .../1.10.5}/howto/executor/use-dask.html           |     0
 .../1.10.5}/howto/executor/use-mesos.html          |     0
 {1.10.5 => docs/1.10.5}/howto/index.html           |     0
 .../1.10.5}/howto/initialize-database.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/bash.html   |     0
 .../1.10.5}/howto/operator/dingding.html           |     0
 .../1.10.5}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.5}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.5}/howto/operator/gcp/compute.html        |     0
 .../1.10.5}/howto/operator/gcp/function.html       |     0
 .../1.10.5}/howto/operator/gcp/gcs.html            |     0
 .../1.10.5}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.5}/howto/operator/gcp/spanner.html        |     0
 .../1.10.5}/howto/operator/gcp/speech.html         |     0
 .../1.10.5}/howto/operator/gcp/sql.html            |     0
 .../1.10.5}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.5}/howto/operator/gcp/translate.html      |     0
 .../1.10.5}/howto/operator/gcp/video.html          |     0
 .../1.10.5}/howto/operator/gcp/vision.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/index.html  |     0
 {1.10.5 => docs/1.10.5}/howto/operator/python.html |     0
 .../1.10.5}/howto/run-behind-proxy.html            |     0
 .../1.10.5}/howto/run-with-systemd.html            |     0
 .../1.10.5}/howto/run-with-upstart.html            |     0
 .../1.10.5}/howto/secure-connections.html          |     0
 {1.10.5 => docs/1.10.5}/howto/set-config.html      |     0
 .../1.10.5}/howto/tracking-user-activity.html      |     0
 {1.10.5 => docs/1.10.5}/howto/use-test-config.html |     0
 {1.10.5 => docs/1.10.5}/howto/write-logs.html      |     0
 {1.10.5 => docs/1.10.5}/http-routingtable.html     |     0
 {1.10.5 => docs/1.10.5}/index.html                 |     0
 {1.10.5 => docs/1.10.5}/installation.html          |     0
 {1.10.5 => docs/1.10.5}/integration.html           |     0
 {1.10.5 => docs/1.10.5}/kubernetes.html            |     0
 {1.10.5 => docs/1.10.5}/license.html               |     0
 {1.10.5 => docs/1.10.5}/lineage.html               |     0
 {1.10.5 => docs/1.10.5}/macros.html                |     0
 {1.10.5 => docs/1.10.5}/metrics.html               |     0
 {1.10.5 => docs/1.10.5}/objects.inv                |   Bin
 {1.10.5 => docs/1.10.5}/plugins.html               |     0
 {1.10.5 => docs/1.10.5}/privacy_notice.html        |     0
 {1.10.5 => docs/1.10.5}/profiling.html             |     0
 {1.10.5 => docs/1.10.5}/project.html               |     0
 {1.10.5 => docs/1.10.5}/py-modindex.html           |     0
 {1.10.5 => docs/1.10.5}/scheduler.html             |     0
 {1.10.5 => docs/1.10.5}/search.html                |     0
 {1.10.5 => docs/1.10.5}/searchindex.js             |     0
 {1.10.5 => docs/1.10.5}/security.html              |     0
 {1.10.5 => docs/1.10.5}/start.html                 |     0
 {1.10.5 => docs/1.10.5}/timezone.html              |     0
 {1.10.5 => docs/1.10.5}/tutorial.html              |     0
 {1.10.5 => docs/1.10.5}/ui.html                    |     0
 docs/1.10.6/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/1.10.6/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../1.10.6/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/1.10.6/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/1.10.6/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../1.10.6/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../1.10.6/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../1.10.6/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/1.10.6/_api/airflow/hooks/index.html          |   966 ++
 .../1.10.6/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/1.10.6/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/1.10.6/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/1.10.6/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/1.10.6/_api/airflow/models/crypto/index.html  |   989 ++
 docs/1.10.6/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/1.10.6/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/1.10.6/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/1.10.6/_api/airflow/models/errors/index.html  |   963 ++
 docs/1.10.6/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/1.10.6/_api/airflow/models/log/index.html     |  1004 ++
 docs/1.10.6/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/1.10.6/_api/airflow/models/slamiss/index.html |  1006 ++
 .../1.10.6/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/1.10.6/_api/airflow/models/user/index.html    |   987 ++
 .../1.10.6/_api/airflow/models/variable/index.html |  1059 ++
 docs/1.10.6/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/1.10.6/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/1.10.6/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/1.10.6/_api/index.html                        |  1059 ++
 {1.10.2 => docs/1.10.6}/_images/adhoc.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/airflow.gif        |   Bin
 {1.10.2 => docs/1.10.6}/_images/apache.jpg         |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_bad.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_good.png    |   Bin
 .../1.10.6}/_images/branch_with_trigger.png        |   Bin
 .../1.10.6}/_images/branch_without_trigger.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart_form.png     |   Bin
 .../1.10.6/_images}/cli_completion.gif             |   Bin
 {1.10.3 => docs/1.10.6}/_images/code.png           |   Bin
 .../1.10.6}/_images/connection_create.png          |   Bin
 .../1.10.6}/_images/connection_edit.png            |   Bin
 {1.10.2 => docs/1.10.6}/_images/connections.png    |   Bin
 {1.10.3 => docs/1.10.6}/_images/context.png        |   Bin
 {1.10.3 => docs/1.10.6}/_images/dags.png           |   Bin
 {1.10.3 => docs/1.10.6}/_images/duration.png       |   Bin
 {1.10.3 => docs/1.10.6}/_images/gantt.png          |   Bin
 {1.10.3 => docs/1.10.6}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../1.10.6}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.6}/_images/operator_extra_link.png        |   Bin
 {_images => docs/1.10.6/_images}/pin_large.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_after.png   |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_before.png  |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_zoom.png    |   Bin
 .../1.10.6/_images}/task_lifecycle.png             |   Bin
 .../1.10.6/_images}/task_manual_vs_scheduled.png   |   Bin
 {1.10.3 => docs/1.10.6}/_images/tree.png           |   Bin
 .../1.10.6}/_images/variable_hidden.png            |   Bin
 docs/1.10.6/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/1.10.6/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../1.10.6/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/1.10.6/_modules/airflow/exceptions.html       |   962 ++
 docs/1.10.6/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/1.10.6/_modules/airflow/hooks.html            |   943 ++
 docs/1.10.6/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/1.10.6/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/1.10.6/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../1.10.6/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/1.10.6/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/1.10.6/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/1.10.6/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/1.10.6/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/1.10.6/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/1.10.6/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/1.10.6/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../1.10.6/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/1.10.6/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../1.10.6/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/1.10.6/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/1.10.6/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../1.10.6/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/1.10.6/_modules/airflow/macros.html           |   957 ++
 docs/1.10.6/_modules/airflow/macros/hive.html      |   971 ++
 docs/1.10.6/_modules/airflow/models.html           |   889 ++
 docs/1.10.6/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/1.10.6/_modules/airflow/models/chart.html     |   899 ++
 .../1.10.6/_modules/airflow/models/connection.html |  1148 +++
 docs/1.10.6/_modules/airflow/models/crypto.html    |   946 ++
 docs/1.10.6/_modules/airflow/models/dag.html       |  2486 +++++
 docs/1.10.6/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/1.10.6/_modules/airflow/models/dagpickle.html |   901 ++
 docs/1.10.6/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/1.10.6/_modules/airflow/models/errors.html    |   880 ++
 .../1.10.6/_modules/airflow/models/knownevent.html |   903 ++
 .../1.10.6/_modules/airflow/models/kubernetes.html |   928 ++
 docs/1.10.6/_modules/airflow/models/log.html       |   917 ++
 docs/1.10.6/_modules/airflow/models/pool.html      |   958 ++
 docs/1.10.6/_modules/airflow/models/skipmixin.html |   951 ++
 docs/1.10.6/_modules/airflow/models/slamiss.html   |   897 ++
 docs/1.10.6/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/1.10.6/_modules/airflow/models/user.html      |   889 ++
 docs/1.10.6/_modules/airflow/models/variable.html  |  1001 ++
 docs/1.10.6/_modules/airflow/models/xcom.html      |  1083 ++
 docs/1.10.6/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../1.10.6/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/1.10.6/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/1.10.6/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources}/_api/airflow/executors/index.rst.txt |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_api/airflow/models/dag/index.rst.txt          |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources}/_api/airflow/models/index.rst.txt    |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources}/_api/airflow/operators/index.rst.txt |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.6}/_sources/_api/index.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/api.rst.txt       |     0
 {1.10.6 => docs/1.10.6}/_sources/changelog.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/cli.rst.txt       |     0
 .../1.10.6/_sources}/concepts.rst.txt              |     0
 {_sources => docs/1.10.6/_sources}/errors.rst.txt  |     0
 {_sources => docs/1.10.6/_sources}/faq.rst.txt     |     0
 .../1.10.6}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.6/_sources}/howto/cli-completion.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/aws.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.6/_sources}/howto/connection/grpc.rst.txt |     0
 .../_sources}/howto/connection/index.rst.txt       |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources}/howto/connection/oracle.rst.txt      |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.6/_sources}/howto/connection/ssh.rst.txt  |     0
 .../_sources}/howto/define_extra_link.rst.txt      |     0
 .../_sources}/howto/executor/use-celery.rst.txt    |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources}/howto/executor/use-mesos.rst.txt     |     0
 .../1.10.6/_sources}/howto/index.rst.txt           |     0
 .../_sources}/howto/initialize-database.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/bash.rst.txt   |     0
 .../_sources}/howto/operator/dingding.rst.txt      |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources}/howto/operator/gcp/function.rst.txt  |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources}/howto/operator/gcp/spanner.rst.txt   |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources}/howto/operator/gcp/sql.rst.txt       |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources}/howto/operator/gcp/vision.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/index.rst.txt  |     0
 .../_sources}/howto/operator/papermill.rst.txt     |     0
 .../1.10.6}/_sources/howto/operator/python.rst.txt |     0
 .../_sources}/howto/run-behind-proxy.rst.txt       |     0
 .../_sources}/howto/run-with-systemd.rst.txt       |     0
 .../_sources}/howto/run-with-upstart.rst.txt       |     0
 .../_sources}/howto/secure-connections.rst.txt     |     0
 .../1.10.6/_sources}/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../1.10.6/_sources}/howto/use-test-config.rst.txt |     0
 .../1.10.6/_sources}/howto/write-logs.rst.txt      |     0
 {_sources => docs/1.10.6/_sources}/index.rst.txt   |     0
 .../1.10.6}/_sources/installation.rst.txt          |     0
 .../1.10.6/_sources}/integration.rst.txt           |     0
 .../1.10.6}/_sources/kubernetes.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/license.rst.txt   |     0
 {_sources => docs/1.10.6/_sources}/lineage.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/macros.rst.txt    |     0
 {_sources => docs/1.10.6/_sources}/metrics.rst.txt |     0
 {_sources => docs/1.10.6/_sources}/plugins.rst.txt |     0
 .../1.10.6}/_sources/privacy_notice.rst.txt        |     0
 {1.10.6 => docs/1.10.6}/_sources/profiling.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/project.rst.txt   |     0
 .../1.10.6/_sources}/scheduler.rst.txt             |     0
 .../1.10.6/_sources}/security.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/start.rst.txt     |     0
 .../1.10.6/_sources}/timezone.rst.txt              |     0
 .../1.10.6/_sources}/tutorial.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/ui.rst.txt        |     0
 docs/1.10.6/_static/_gen/css/main-custom.min.css   |     1 +
 docs/1.10.6/_static/_gen/css/main.min.css          |     7 +
 docs/1.10.6/_static/_gen/js/docs.js                |     1 +
 {1.10.6 => docs/1.10.6}/_static/basic.css          |     0
 {1.10.4 => docs/1.10.6}/_static/doctools.js        |     0
 .../1.10.6/_static}/documentation_options.js       |     0
 docs/1.10.6/_static/exampleinclude.css             |    79 +
 {1.10.2 => docs/1.10.6}/_static/file.png           |   Bin
 {_static => docs/1.10.6/_static}/graphviz.css      |     0
 docs/1.10.6/_static/jira-links.js                  |    34 +
 {1.10.6 => docs/1.10.6}/_static/jquery-3.4.1.js    |     0
 {1.10.6 => docs/1.10.6}/_static/jquery.js          |     0
 {1.10.4 => docs/1.10.6}/_static/language_data.js   |     0
 {1.10.2 => docs/1.10.6}/_static/minus.png          |   Bin
 {_static => docs/1.10.6/_static}/pin_32.png        |   Bin
 {1.10.2 => docs/1.10.6}/_static/plus.png           |   Bin
 {1.10.2 => docs/1.10.6}/_static/pygments.css       |     0
 {1.10.5 => docs/1.10.6}/_static/searchtools.js     |     0
 .../1.10.6}/_static/underscore-1.3.1.js            |     0
 {1.10.2 => docs/1.10.6}/_static/underscore.js      |     0
 docs/1.10.6/api.html                               |  1127 ++
 docs/1.10.6/changelog.html                         |  4283 ++++++++
 docs/1.10.6/cli.html                               |  2493 +++++
 docs/1.10.6/concepts.html                          |  2058 ++++
 docs/1.10.6/errors.html                            |   967 ++
 docs/1.10.6/faq.html                               |  1082 ++
 docs/1.10.6/genindex.html                          | 10298 +++++++++++++++++++
 docs/1.10.6/howto/check-health.html                |   950 ++
 docs/1.10.6/howto/cli-completion.html              |   941 ++
 docs/1.10.6/howto/connection/aws.html              |  1001 ++
 docs/1.10.6/howto/connection/gcp.html              |  1045 ++
 docs/1.10.6/howto/connection/gcp_sql.html          |  1004 ++
 docs/1.10.6/howto/connection/grpc.html             |  1008 ++
 docs/1.10.6/howto/connection/index.html            |  1023 ++
 docs/1.10.6/howto/connection/mysql.html            |  1025 ++
 docs/1.10.6/howto/connection/oracle.html           |  1014 ++
 docs/1.10.6/howto/connection/postgres.html         |  1010 ++
 docs/1.10.6/howto/connection/ssh.html              |  1004 ++
 docs/1.10.6/howto/define_extra_link.html           |  1024 ++
 docs/1.10.6/howto/executor/use-celery.html         |  1040 ++
 docs/1.10.6/howto/executor/use-dask.html           |   944 ++
 docs/1.10.6/howto/executor/use-mesos.html          |   994 ++
 docs/1.10.6/howto/index.html                       |   975 ++
 docs/1.10.6/howto/initialize-database.html         |   949 ++
 docs/1.10.6/howto/operator/bash.html               |   998 ++
 docs/1.10.6/howto/operator/dingding.html           |  1081 ++
 docs/1.10.6/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/1.10.6/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/1.10.6/howto/operator/gcp/compute.html        |  1364 +++
 docs/1.10.6/howto/operator/gcp/function.html       |  1197 +++
 docs/1.10.6/howto/operator/gcp/gcs.html            |  1108 ++
 docs/1.10.6/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/1.10.6/howto/operator/gcp/spanner.html        |  1339 +++
 docs/1.10.6/howto/operator/gcp/speech.html         |  1103 ++
 docs/1.10.6/howto/operator/gcp/sql.html            |  2019 ++++
 docs/1.10.6/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/1.10.6/howto/operator/gcp/translate.html      |  1030 ++
 docs/1.10.6/howto/operator/gcp/video.html          |  1187 +++
 docs/1.10.6/howto/operator/gcp/vision.html         |  2248 ++++
 docs/1.10.6/howto/operator/index.html              |   985 ++
 docs/1.10.6/howto/operator/papermill.html          |   985 ++
 docs/1.10.6/howto/operator/python.html             |  1000 ++
 docs/1.10.6/howto/run-behind-proxy.html            |   984 ++
 docs/1.10.6/howto/run-with-systemd.html            |   934 ++
 docs/1.10.6/howto/run-with-upstart.html            |   944 ++
 docs/1.10.6/howto/secure-connections.html          |   963 ++
 docs/1.10.6/howto/set-config.html                  |   959 ++
 docs/1.10.6/howto/tracking-user-activity.html      |   936 ++
 docs/1.10.6/howto/use-test-config.html             |   929 ++
 docs/1.10.6/howto/write-logs.html                  |  1116 ++
 docs/1.10.6/http-routingtable.html                 |   923 ++
 docs/1.10.6/index.html                             |  1610 +++
 docs/1.10.6/installation.html                      |  1073 ++
 docs/1.10.6/integration.html                       |  1798 ++++
 docs/1.10.6/kubernetes.html                        |  1031 ++
 docs/1.10.6/license.html                           |  1055 ++
 docs/1.10.6/lineage.html                           |   970 ++
 docs/1.10.6/macros.html                            |  1247 +++
 docs/1.10.6/metrics.html                           |  1048 ++
 objects.inv => docs/1.10.6/objects.inv             |   Bin
 docs/1.10.6/plugins.html                           |  1178 +++
 docs/1.10.6/privacy_notice.html                    |   922 ++
 docs/1.10.6/profiling.html                         |   932 ++
 docs/1.10.6/project.html                           |   958 ++
 docs/1.10.6/py-modindex.html                       |  2445 +++++
 docs/1.10.6/scheduler.html                         |  1069 ++
 docs/1.10.6/search.html                            |   889 ++
 searchindex.js => docs/1.10.6/searchindex.js       |     0
 docs/1.10.6/security.html                          |  1532 +++
 docs/1.10.6/start.html                             |   933 ++
 docs/1.10.6/timezone.html                          |  1037 ++
 docs/1.10.6/tutorial.html                          |  1348 +++
 docs/1.10.6/ui.html                                |   982 ++
 docs/index.html                                    |     5 +
 docs/stable/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/stable/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../stable/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/stable/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/stable/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../stable/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../stable/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../stable/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/stable/_api/airflow/hooks/index.html          |   966 ++
 .../stable/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/stable/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/stable/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/stable/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/stable/_api/airflow/models/crypto/index.html  |   989 ++
 docs/stable/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/stable/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/stable/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/stable/_api/airflow/models/errors/index.html  |   963 ++
 docs/stable/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/stable/_api/airflow/models/log/index.html     |  1004 ++
 docs/stable/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/stable/_api/airflow/models/slamiss/index.html |  1006 ++
 .../stable/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/stable/_api/airflow/models/user/index.html    |   987 ++
 .../stable/_api/airflow/models/variable/index.html |  1059 ++
 docs/stable/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/stable/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/stable/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/stable/_api/index.html                        |  1059 ++
 {1.10.1 => docs/stable}/_images/adhoc.png          |   Bin
 {1.10.1 => docs/stable}/_images/airflow.gif        |   Bin
 {1.10.1 => docs/stable}/_images/apache.jpg         |   Bin
 {1.10.1 => docs/stable}/_images/branch_bad.png     |   Bin
 {1.10.1 => docs/stable}/_images/branch_good.png    |   Bin
 .../stable}/_images/branch_with_trigger.png        |   Bin
 .../stable}/_images/branch_without_trigger.png     |   Bin
 {1.10.1 => docs/stable}/_images/chart.png          |   Bin
 {1.10.1 => docs/stable}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/stable}/_images/cli_completion.gif |   Bin
 {1.10.2 => docs/stable}/_images/code.png           |   Bin
 .../stable}/_images/connection_create.png          |   Bin
 .../stable}/_images/connection_edit.png            |   Bin
 {1.10.1 => docs/stable}/_images/connections.png    |   Bin
 {1.10.2 => docs/stable}/_images/context.png        |   Bin
 {1.10.2 => docs/stable}/_images/dags.png           |   Bin
 {1.10.2 => docs/stable}/_images/duration.png       |   Bin
 {1.10.2 => docs/stable}/_images/gantt.png          |   Bin
 {1.10.2 => docs/stable}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../stable}/_images/latest_only_with_trigger.png   |   Bin
 .../stable}/_images/operator_extra_link.png        |   Bin
 {1.10.6 => docs/stable}/_images/pin_large.png      |   Bin
 {1.10.1 => docs/stable}/_images/subdag_after.png   |   Bin
 {1.10.1 => docs/stable}/_images/subdag_before.png  |   Bin
 {1.10.1 => docs/stable}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/stable}/_images/task_lifecycle.png |   Bin
 .../stable}/_images/task_manual_vs_scheduled.png   |   Bin
 {1.10.2 => docs/stable}/_images/tree.png           |   Bin
 .../stable}/_images/variable_hidden.png            |   Bin
 docs/stable/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/stable/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../stable/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/stable/_modules/airflow/exceptions.html       |   962 ++
 docs/stable/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/stable/_modules/airflow/hooks.html            |   943 ++
 docs/stable/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/stable/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/stable/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../stable/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/stable/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/stable/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/stable/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/stable/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/stable/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/stable/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/stable/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../stable/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/stable/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../stable/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/stable/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/stable/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../stable/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/stable/_modules/airflow/macros.html           |   957 ++
 docs/stable/_modules/airflow/macros/hive.html      |   971 ++
 docs/stable/_modules/airflow/models.html           |   889 ++
 docs/stable/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/stable/_modules/airflow/models/chart.html     |   899 ++
 .../stable/_modules/airflow/models/connection.html |  1148 +++
 docs/stable/_modules/airflow/models/crypto.html    |   946 ++
 docs/stable/_modules/airflow/models/dag.html       |  2486 +++++
 docs/stable/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/stable/_modules/airflow/models/dagpickle.html |   901 ++
 docs/stable/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/stable/_modules/airflow/models/errors.html    |   880 ++
 .../stable/_modules/airflow/models/knownevent.html |   903 ++
 .../stable/_modules/airflow/models/kubernetes.html |   928 ++
 docs/stable/_modules/airflow/models/log.html       |   917 ++
 docs/stable/_modules/airflow/models/pool.html      |   958 ++
 docs/stable/_modules/airflow/models/skipmixin.html |   951 ++
 docs/stable/_modules/airflow/models/slamiss.html   |   897 ++
 docs/stable/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/stable/_modules/airflow/models/user.html      |   889 ++
 docs/stable/_modules/airflow/models/variable.html  |  1001 ++
 docs/stable/_modules/airflow/models/xcom.html      |  1083 ++
 docs/stable/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../stable/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/stable/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/stable/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../stable}/_sources/_api/index.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/api.rst.txt       |     0
 {1.10.5 => docs/stable}/_sources/changelog.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/cli.rst.txt       |     0
 {1.10.6 => docs/stable}/_sources/concepts.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/errors.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/faq.rst.txt       |     0
 .../stable}/_sources/howto/check-health.rst.txt    |     0
 .../stable}/_sources/howto/cli-completion.rst.txt  |     0
 .../stable}/_sources/howto/connection/aws.rst.txt  |     0
 .../stable}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../stable}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../stable}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../stable}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../stable}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../stable}/_sources/howto/operator/index.rst.txt  |     0
 .../_sources/howto/operator/papermill.rst.txt      |     0
 .../stable}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../stable}/_sources/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../stable}/_sources/howto/use-test-config.rst.txt |     0
 .../stable}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.6 => docs/stable}/_sources/index.rst.txt     |     0
 .../stable}/_sources/installation.rst.txt          |     0
 .../stable}/_sources/integration.rst.txt           |     0
 .../stable}/_sources/kubernetes.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/license.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/lineage.rst.txt   |     0
 {1.10.5 => docs/stable}/_sources/macros.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/metrics.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/plugins.rst.txt   |     0
 .../stable}/_sources/privacy_notice.rst.txt        |     0
 {1.10.5 => docs/stable}/_sources/profiling.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/project.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/scheduler.rst.txt |     0
 {1.10.6 => docs/stable}/_sources/security.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/start.rst.txt     |     0
 {1.10.6 => docs/stable}/_sources/timezone.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/tutorial.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/ui.rst.txt        |     0
 docs/stable/_static/_gen/css/main-custom.min.css   |     1 +
 docs/stable/_static/_gen/css/main.min.css          |     7 +
 docs/stable/_static/_gen/js/docs.js                |     1 +
 {1.10.5 => docs/stable}/_static/basic.css          |     0
 {1.10.3 => docs/stable}/_static/doctools.js        |     0
 .../stable}/_static/documentation_options.js       |     0
 docs/stable/_static/exampleinclude.css             |    79 +
 {1.10.1 => docs/stable}/_static/file.png           |   Bin
 {1.10.6 => docs/stable}/_static/graphviz.css       |     0
 docs/stable/_static/jira-links.js                  |    34 +
 {1.10.5 => docs/stable}/_static/jquery-3.4.1.js    |     0
 {1.10.5 => docs/stable}/_static/jquery.js          |     0
 {1.10.3 => docs/stable}/_static/language_data.js   |     0
 {1.10.1 => docs/stable}/_static/minus.png          |   Bin
 {1.10.6 => docs/stable}/_static/pin_32.png         |   Bin
 {1.10.1 => docs/stable}/_static/plus.png           |   Bin
 {1.10.1 => docs/stable}/_static/pygments.css       |     0
 {1.10.4 => docs/stable}/_static/searchtools.js     |     0
 .../stable}/_static/underscore-1.3.1.js            |     0
 {1.10.1 => docs/stable}/_static/underscore.js      |     0
 docs/stable/api.html                               |  1127 ++
 docs/stable/changelog.html                         |  4283 ++++++++
 docs/stable/cli.html                               |  2493 +++++
 docs/stable/concepts.html                          |  2058 ++++
 docs/stable/errors.html                            |   967 ++
 docs/stable/faq.html                               |  1082 ++
 docs/stable/genindex.html                          | 10298 +++++++++++++++++++
 docs/stable/howto/check-health.html                |   950 ++
 docs/stable/howto/cli-completion.html              |   941 ++
 docs/stable/howto/connection/aws.html              |  1001 ++
 docs/stable/howto/connection/gcp.html              |  1045 ++
 docs/stable/howto/connection/gcp_sql.html          |  1004 ++
 docs/stable/howto/connection/grpc.html             |  1008 ++
 docs/stable/howto/connection/index.html            |  1023 ++
 docs/stable/howto/connection/mysql.html            |  1025 ++
 docs/stable/howto/connection/oracle.html           |  1014 ++
 docs/stable/howto/connection/postgres.html         |  1010 ++
 docs/stable/howto/connection/ssh.html              |  1004 ++
 docs/stable/howto/define_extra_link.html           |  1024 ++
 docs/stable/howto/executor/use-celery.html         |  1040 ++
 docs/stable/howto/executor/use-dask.html           |   944 ++
 docs/stable/howto/executor/use-mesos.html          |   994 ++
 docs/stable/howto/index.html                       |   975 ++
 docs/stable/howto/initialize-database.html         |   949 ++
 docs/stable/howto/operator/bash.html               |   998 ++
 docs/stable/howto/operator/dingding.html           |  1081 ++
 docs/stable/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/stable/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/stable/howto/operator/gcp/compute.html        |  1364 +++
 docs/stable/howto/operator/gcp/function.html       |  1197 +++
 docs/stable/howto/operator/gcp/gcs.html            |  1108 ++
 docs/stable/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/stable/howto/operator/gcp/spanner.html        |  1339 +++
 docs/stable/howto/operator/gcp/speech.html         |  1103 ++
 docs/stable/howto/operator/gcp/sql.html            |  2019 ++++
 docs/stable/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/stable/howto/operator/gcp/translate.html      |  1030 ++
 docs/stable/howto/operator/gcp/video.html          |  1187 +++
 docs/stable/howto/operator/gcp/vision.html         |  2248 ++++
 docs/stable/howto/operator/index.html              |   985 ++
 docs/stable/howto/operator/papermill.html          |   985 ++
 docs/stable/howto/operator/python.html             |  1000 ++
 docs/stable/howto/run-behind-proxy.html            |   984 ++
 docs/stable/howto/run-with-systemd.html            |   934 ++
 docs/stable/howto/run-with-upstart.html            |   944 ++
 docs/stable/howto/secure-connections.html          |   963 ++
 docs/stable/howto/set-config.html                  |   959 ++
 docs/stable/howto/tracking-user-activity.html      |   936 ++
 docs/stable/howto/use-test-config.html             |   929 ++
 docs/stable/howto/write-logs.html                  |  1116 ++
 docs/stable/http-routingtable.html                 |   923 ++
 docs/stable/index.html                             |  1610 +++
 docs/stable/installation.html                      |  1073 ++
 docs/stable/integration.html                       |  1798 ++++
 docs/stable/kubernetes.html                        |  1031 ++
 docs/stable/license.html                           |  1055 ++
 docs/stable/lineage.html                           |   970 ++
 docs/stable/macros.html                            |  1247 +++
 docs/stable/metrics.html                           |  1048 ++
 {1.10.6 => docs/stable}/objects.inv                |   Bin
 docs/stable/plugins.html                           |  1178 +++
 docs/stable/privacy_notice.html                    |   922 ++
 docs/stable/profiling.html                         |   932 ++
 docs/stable/project.html                           |   958 ++
 docs/stable/py-modindex.html                       |  2445 +++++
 docs/stable/scheduler.html                         |  1069 ++
 docs/stable/search.html                            |   889 ++
 {1.10.6 => docs/stable}/searchindex.js             |     0
 docs/stable/security.html                          |  1532 +++
 docs/stable/start.html                             |   933 ++
 docs/stable/timezone.html                          |  1037 ++
 docs/stable/tutorial.html                          |  1348 +++
 docs/stable/ui.html                                |   982 ++
 errors.html                                        |   437 -
 faq.html                                           |   538 -
 favicon.ico                                        |   Bin 0 -> 1150 bytes
 favicons/android-144x144.png                       |   Bin 0 -> 4299 bytes
 favicons/android-192x192.png                       |   Bin 0 -> 5264 bytes
 favicons/android-36x36.png                         |   Bin 0 -> 980 bytes
 favicons/android-48x48.png                         |   Bin 0 -> 1071 bytes
 favicons/android-72x72.png                         |   Bin 0 -> 1926 bytes
 favicons/android-96x196.png                        |   Bin 0 -> 2309 bytes
 favicons/android-icon-144x144.png                  |   Bin 0 -> 10032 bytes
 favicons/android-icon-192x192.png                  |   Bin 0 -> 12414 bytes
 favicons/android-icon-36x36.png                    |   Bin 0 -> 2434 bytes
 favicons/android-icon-48x48.png                    |   Bin 0 -> 3166 bytes
 favicons/android-icon-72x72.png                    |   Bin 0 -> 4630 bytes
 favicons/android-icon-96x96.png                    |   Bin 0 -> 6247 bytes
 favicons/apple-icon-114x114.png                    |   Bin 0 -> 7641 bytes
 favicons/apple-icon-120x120.png                    |   Bin 0 -> 8065 bytes
 favicons/apple-icon-144x144.png                    |   Bin 0 -> 10032 bytes
 favicons/apple-icon-152x152.png                    |   Bin 0 -> 10619 bytes
 favicons/apple-icon-180x180.png                    |   Bin 0 -> 13076 bytes
 favicons/apple-icon-57x57.png                      |   Bin 0 -> 3695 bytes
 favicons/apple-icon-60x60.png                      |   Bin 0 -> 3908 bytes
 favicons/apple-icon-72x72.png                      |   Bin 0 -> 4630 bytes
 favicons/apple-icon-76x76.png                      |   Bin 0 -> 4852 bytes
 favicons/apple-icon-precomposed.png                |   Bin 0 -> 12988 bytes
 favicons/apple-icon.png                            |   Bin 0 -> 12988 bytes
 favicons/apple-touch-icon-180x180.png              |   Bin 0 -> 4748 bytes
 favicons/favicon-1024.png                          |   Bin 0 -> 27759 bytes
 favicons/favicon-16x16.png                         |   Bin 0 -> 1675 bytes
 favicons/favicon-256.png                           |   Bin 0 -> 8037 bytes
 favicons/favicon-32x32.png                         |   Bin 0 -> 2203 bytes
 favicons/favicon-96x96.png                         |   Bin 0 -> 6247 bytes
 favicons/favicon.ico                               |   Bin 0 -> 1150 bytes
 favicons/ms-icon-144x144.png                       |   Bin 0 -> 10032 bytes
 favicons/ms-icon-150x150.png                       |   Bin 0 -> 10549 bytes
 favicons/ms-icon-310x310.png                       |   Bin 0 -> 21086 bytes
 favicons/ms-icon-70x70.png                         |   Bin 0 -> 4538 bytes
 favicons/pwa-192x192.png                           |   Bin 0 -> 5264 bytes
 favicons/pwa-512x512.png                           |   Bin 0 -> 20743 bytes
 favicons/tile150x150.png                           |   Bin 0 -> 8985 bytes
 favicons/tile310x150.png                           |   Bin 0 -> 11661 bytes
 favicons/tile310x310.png                           |   Bin 0 -> 23621 bytes
 favicons/tile70x70.png                             |   Bin 0 -> 3592 bytes
 genindex.html                                      |  9776 ------------------
 howto/check-health.html                            |   410 -
 howto/cli-completion.html                          |   401 -
 howto/connection/aws.html                          |   440 -
 howto/connection/gcp.html                          |   484 -
 howto/connection/gcp_sql.html                      |   445 -
 howto/connection/grpc.html                         |   447 -
 howto/connection/index.html                        |   461 -
 howto/connection/mysql.html                        |   466 -
 howto/connection/oracle.html                       |   455 -
 howto/connection/postgres.html                     |   451 -
 howto/connection/ssh.html                          |   445 -
 howto/define_extra_link.html                       |   478 -
 howto/executor/use-celery.html                     |   494 -
 howto/executor/use-dask.html                       |   404 -
 howto/executor/use-mesos.html                      |   446 -
 howto/index.html                                   |   435 -
 howto/initialize-database.html                     |   409 -
 howto/operator/bash.html                           |   440 -
 howto/operator/dingding.html                       |   516 -
 howto/operator/gcp/bigtable.html                   |   624 --
 howto/operator/gcp/cloud_build.html                |   516 -
 howto/operator/gcp/compute.html                    |   762 --
 howto/operator/gcp/function.html                   |   616 --
 howto/operator/gcp/gcs.html                        |   527 -
 howto/operator/gcp/index.html                      |   425 -
 howto/operator/gcp/natural_language.html           |   594 --
 howto/operator/gcp/spanner.html                    |   738 --
 howto/operator/gcp/speech.html                     |   522 -
 howto/operator/gcp/sql.html                        |  1386 ---
 howto/operator/gcp/transfer.html                   |   917 --
 howto/operator/gcp/translate-speech.html           |   466 -
 howto/operator/gcp/translate.html                  |   458 -
 howto/operator/gcp/video.html                      |   600 --
 howto/operator/gcp/vision.html                     |  1570 ---
 howto/operator/index.html                          |   438 -
 howto/operator/papermill.html                      |   428 -
 howto/operator/python.html                         |   445 -
 howto/run-behind-proxy.html                        |   444 -
 howto/run-with-systemd.html                        |   394 -
 howto/run-with-upstart.html                        |   404 -
 howto/secure-connections.html                      |   422 -
 howto/set-config.html                              |   419 -
 howto/tracking-user-activity.html                  |   396 -
 howto/use-test-config.html                         |   389 -
 howto/write-logs.html                              |   548 -
 http-routingtable.html                             |   417 -
 icons/adobe-logo.svg                               |     5 +
 icons/anchor.svg                                   |     4 +
 icons/big-fish-games-logo.svg                      |     3 +
 icons/commiter-placeholder.svg                     |    12 +
 icons/dish-logo.svg                                |    14 +
 icons/docker-logo.png                              |   Bin 0 -> 7297 bytes
 icons/experity-logo.jpg                            |   Bin 0 -> 59400 bytes
 icons/onefootball-logo.svg                         |     3 +
 icons/sidebar-arrow.svg                            |     3 +
 icons/tick.svg                                     |     8 +
 images/feature-image.png                           |   Bin 0 -> 63044 bytes
 index.html                                         |  2585 +++--
 index.xml                                          |    56 +
 install/index.html                                 |   775 ++
 install/index.xml                                  |    17 +
 installation.html                                  |   543 -
 integration-logos/azure-logo.svg                   |    24 +
 integration.html                                   |  1158 ---
 integrations.json                                  |   406 +
 ...4556a9cebc0ac4fe1ce1457a01b22c0a06b329877383.js |     6 +
 js/swagger-ui-bundle.js                            |    93 +
 js/swagger-ui-standalone-preset.js                 |    14 +
 kubernetes.html                                    |   501 -
 license.html                                       |   535 -
 lineage.html                                       |   444 -
 macros.html                                        |   683 --
 main.b2992.js                                      |     1 +
 manifest.json                                      |    41 +
 meetups.json                                       |    80 +
 meetups/index.html                                 |   988 ++
 meetups/index.xml                                  |    17 +
 metrics.html                                       |   516 -
 plugins.html                                       |   642 --
 privacy-notice/index.html                          |   609 ++
 privacy-notice/index.xml                           |    17 +
 privacy_notice.html                                |   395 -
 profiling.html                                     |   396 -
 project.html                                       |   426 -
 py-modindex.html                                   |  1939 ----
 roadmap/index.html                                 |   779 ++
 roadmap/index.xml                                  |    17 +
 robots.txt                                         |     1 +
 scheduler.html                                     |   537 -
 ...e8d0279dae20d66dbd926c7ffe603c986bd9ba480f3.css |     1 +
 ...8b7ddd1a316055cb9c6fc7ff482c3679b51f0369984.css |     7 +
 search.html                                        |   360 -
 search/index.html                                  |   565 +
 security.html                                      |   908 --
 sitemap.xml                                        |   199 +
 start.html                                         |   407 -
 stock-guy.jpg                                      |   Bin 0 -> 45492 bytes
 tags/index.html                                    |   554 +
 tags/index.xml                                     |    18 +
 timezone.html                                      |   489 -
 tutorial.html                                      |   790 --
 ui.html                                            |   442 -
 use-cases/adobe/index.html                         |   610 ++
 use-cases/big-fish-games/index.html                |   610 ++
 use-cases/dish/index.html                          |   610 ++
 use-cases/experity/index.html                      |   613 ++
 use-cases/index.html                               |   677 ++
 use-cases/index.xml                                |   151 +
 use-cases/onefootball/index.html                   |   617 ++
 webfonts/fa-brands-400.eot                         |   Bin 0 -> 129734 bytes
 webfonts/fa-brands-400.svg                         |  3451 +++++++
 webfonts/fa-brands-400.ttf                         |   Bin 0 -> 129428 bytes
 webfonts/fa-brands-400.woff                        |   Bin 0 -> 87644 bytes
 webfonts/fa-brands-400.woff2                       |   Bin 0 -> 74740 bytes
 webfonts/fa-regular-400.eot                        |   Bin 0 -> 34394 bytes
 webfonts/fa-regular-400.svg                        |   803 ++
 webfonts/fa-regular-400.ttf                        |   Bin 0 -> 34096 bytes
 webfonts/fa-regular-400.woff                       |   Bin 0 -> 16804 bytes
 webfonts/fa-regular-400.woff2                      |   Bin 0 -> 13656 bytes
 webfonts/fa-solid-900.eot                          |   Bin 0 -> 192122 bytes
 webfonts/fa-solid-900.svg                          |  4649 +++++++++
 webfonts/fa-solid-900.ttf                          |   Bin 0 -> 191836 bytes
 webfonts/fa-solid-900.woff                         |   Bin 0 -> 98020 bytes
 webfonts/fa-solid-900.woff2                        |   Bin 0 -> 75336 bytes
 8183 files changed, 1612247 insertions(+), 812876 deletions(-)

diff --git a/.buildinfo b/.buildinfo
deleted file mode 100644
index 60ac6a3..0000000
--- a/.buildinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-# Sphinx build info version 1
-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: e355f1ac441ea459bcd16e3760339883
-tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/.keep b/.keep
new file mode 100644
index 0000000..a6301e0
--- /dev/null
+++ b/.keep
@@ -0,0 +1,16 @@
+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.
diff --git a/1.10.1/_static/fonts/Inconsolata-Bold.ttf b/1.10.1/_static/fonts/Inconsolata-Bold.ttf
deleted file mode 100644
index 809c1f5..0000000
Binary files a/1.10.1/_static/fonts/Inconsolata-Bold.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Inconsolata-Regular.ttf b/1.10.1/_static/fonts/Inconsolata-Regular.ttf
deleted file mode 100644
index fc981ce..0000000
Binary files a/1.10.1/_static/fonts/Inconsolata-Regular.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Inconsolata.ttf b/1.10.1/_static/fonts/Inconsolata.ttf
deleted file mode 100644
index 4b8a36d..0000000
Binary files a/1.10.1/_static/fonts/Inconsolata.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato-Bold.ttf b/1.10.1/_static/fonts/Lato-Bold.ttf
deleted file mode 100644
index 1d23c70..0000000
Binary files a/1.10.1/_static/fonts/Lato-Bold.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato-Regular.ttf b/1.10.1/_static/fonts/Lato-Regular.ttf
deleted file mode 100644
index 0f3d0f8..0000000
Binary files a/1.10.1/_static/fonts/Lato-Regular.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.eot b/1.10.1/_static/fonts/Lato/lato-bold.eot
deleted file mode 100644
index 3361183..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bold.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.ttf b/1.10.1/_static/fonts/Lato/lato-bold.ttf
deleted file mode 100644
index 29f691d..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bold.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.woff b/1.10.1/_static/fonts/Lato/lato-bold.woff
deleted file mode 100644
index c6dff51..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bold.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.woff2 b/1.10.1/_static/fonts/Lato/lato-bold.woff2
deleted file mode 100644
index bb19504..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bold.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.eot b/1.10.1/_static/fonts/Lato/lato-bolditalic.eot
deleted file mode 100644
index 3d41549..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bolditalic.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf b/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf
deleted file mode 100644
index f402040..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff
deleted file mode 100644
index 88ad05b..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2 b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2
deleted file mode 100644
index c4e3d80..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.eot b/1.10.1/_static/fonts/Lato/lato-italic.eot
deleted file mode 100644
index 3f82642..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-italic.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.ttf b/1.10.1/_static/fonts/Lato/lato-italic.ttf
deleted file mode 100644
index b4bfc9b..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-italic.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.woff b/1.10.1/_static/fonts/Lato/lato-italic.woff
deleted file mode 100644
index 76114bc..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-italic.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.woff2 b/1.10.1/_static/fonts/Lato/lato-italic.woff2
deleted file mode 100644
index 3404f37..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-italic.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.eot b/1.10.1/_static/fonts/Lato/lato-regular.eot
deleted file mode 100644
index 11e3f2a..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-regular.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.ttf b/1.10.1/_static/fonts/Lato/lato-regular.ttf
deleted file mode 100644
index 74decd9..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-regular.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.woff b/1.10.1/_static/fonts/Lato/lato-regular.woff
deleted file mode 100644
index ae1307f..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-regular.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.woff2 b/1.10.1/_static/fonts/Lato/lato-regular.woff2
deleted file mode 100644
index 3bf9843..0000000
Binary files a/1.10.1/_static/fonts/Lato/lato-regular.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab-Bold.ttf b/1.10.1/_static/fonts/RobotoSlab-Bold.ttf
deleted file mode 100644
index df5d1df..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab-Bold.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab-Regular.ttf b/1.10.1/_static/fonts/RobotoSlab-Regular.ttf
deleted file mode 100644
index eb52a79..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab-Regular.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
deleted file mode 100644
index 79dc8ef..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
deleted file mode 100644
index df5d1df..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
deleted file mode 100644
index 6cb6000..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
deleted file mode 100644
index 7059e23..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
deleted file mode 100644
index 2f7ca78..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
deleted file mode 100644
index eb52a79..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
deleted file mode 100644
index f815f63..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff and /dev/null differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
deleted file mode 100644
index f2c76e5..0000000
Binary files a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 and /dev/null differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.eot b/1.10.1/_static/fonts/fontawesome-webfont.eot
deleted file mode 100644
index e9f60ca..0000000
Binary files a/1.10.1/_static/fonts/fontawesome-webfont.eot and /dev/null differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.svg b/1.10.1/_static/fonts/fontawesome-webfont.svg
deleted file mode 100644
index 855c845..0000000
--- a/1.10.1/_static/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,2671 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg>
-<metadata>
-Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
- By ,,,
-Copyright Dave Gandy 2016. All rights reserved.
-</metadata>
-<defs>
-<font id="FontAwesome" horiz-adv-x="1536" >
-  <font-face 
-    font-family="FontAwesome"
-    font-weight="400"
-    font-stretch="normal"
-    units-per-em="1792"
-    panose-1="0 0 0 0 0 0 0 0 0 0"
-    ascent="1536"
-    descent="-256"
-    bbox="-1.02083 -256.962 2304.6 1537.02"
-    underline-thickness="0"
-    underline-position="0"
-    unicode-range="U+0020-F500"
-  />
-<missing-glyph horiz-adv-x="896" 
-d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
-    <glyph glyph-name=".notdef" horiz-adv-x="896" 
-d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
-    <glyph glyph-name=".null" horiz-adv-x="0" 
- />
-    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
- />
-    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
- />
-    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
-d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
-    <glyph glyph-name="music" unicode="&#xf001;" 
-d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
-t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
-d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
-t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
-d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
-t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
-M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
-d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
-q-18 -18 -44 -18z" />
-    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
-d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
-l502 -73q56 -9 56 -46z" />
-    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
-d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
-l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
-    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
-d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
-t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
-d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
-q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
-t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
-q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
-t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
-d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
-h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
-d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
-q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
-h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
-q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
-d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
-q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
-h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
-d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
-    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
-d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
-t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
-    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
-d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
-q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
-t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
-d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
-M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
-" />
-    <glyph glyph-name="off" unicode="&#xf011;" 
-d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
-t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
-    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
-d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
-v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="cog" unicode="&#xf013;" 
-d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
-q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
-l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
-q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
-    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
-d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
-q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
-q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
-d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
-l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
-    <glyph glyph-name="file_alt" unicode="&#xf016;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-" />
-    <glyph glyph-name="time" unicode="&#xf017;" 
-d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
-d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
-q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
-    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
-d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
-q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
-    <glyph glyph-name="download" unicode="&#xf01a;" 
-d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
-t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="upload" unicode="&#xf01b;" 
-d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
-t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="inbox" unicode="&#xf01c;" 
-d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
-q25 -61 25 -123z" />
-    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
-d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="repeat" unicode="&#xf01e;" 
-d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
-l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
-    <glyph glyph-name="refresh" unicode="&#xf021;" 
-d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
-q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
-q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
-    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
-d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
-M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
-t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
-t47 -113z" />
-    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
-d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
-d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
-t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
-d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
-t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
-t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
-    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
-d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
-    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
-d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
-t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
-    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
-d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
-t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
-t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
-t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
-    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
-d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
-M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
-    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
-d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
-M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
-    <glyph glyph-name="tag" unicode="&#xf02b;" 
-d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
-l715 -714q37 -39 37 -91z" />
-    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
-d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
-l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
-    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
-d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
-q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
-q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
-t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
-    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
-d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
-d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
-v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
-    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
-d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
-q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
-d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
-q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
-q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
-    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
-d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
-q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
-t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
-t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
-    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
-d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
-q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
-    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
-d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
-t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
-q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
-q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
-    <glyph glyph-name="text_width" unicode="&#xf035;" 
-d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
-t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
-q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
-t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
-t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
-    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
-d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
-t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
-d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
-h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
-d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
-t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
-d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
-t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
-d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
-t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
-q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
-t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
-q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
-    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
-d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
-t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
-q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
-d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
-t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
-q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
-d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
-q39 -17 39 -59z" />
-    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
-d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
-q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="pencil" unicode="&#xf040;" 
-d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
-q53 0 91 -38l235 -234q37 -39 37 -91z" />
-    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
-d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
-    <glyph glyph-name="adjust" unicode="&#xf042;" 
-d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
-d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
-q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
-    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
-d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
-q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
-l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
-    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
-d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
-q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
-t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
-    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
-d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
-q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
-q24 -24 24 -57t-24 -57z" />
-    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
-d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
-t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
-d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
-    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
-d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
-q19 19 32 13t13 -32v-710q4 10 13 19z" />
-    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
-d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
-    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
-d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
-    <glyph glyph-name="pause" unicode="&#xf04c;" 
-d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="stop" unicode="&#xf04d;" 
-d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
-d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
-    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
-d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
-q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
-    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
-d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
-    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
-d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
-    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
-d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
-    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
-d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
-    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
-d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
-t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
-d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
-t103 -385.5z" />
-    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
-d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
-q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
-d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
-t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="question_sign" unicode="&#xf059;" 
-d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
-q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
-t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
-d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
-t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
-d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
-q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
-q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
-d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
-l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
-t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
-d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
-t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
-d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
-t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
-    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
-d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
-t32.5 -90.5z" />
-    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
-d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
-    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
-d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
-q37 -39 37 -91z" />
-    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
-d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
-d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
-t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
-    <glyph glyph-name="resize_full" unicode="&#xf065;" 
-d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
-q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="resize_small" unicode="&#xf066;" 
-d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
-t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
-    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
-d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
-d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
-d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
-q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
-    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
-d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
-q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
-    <glyph glyph-name="gift" unicode="&#xf06b;" 
-d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
-q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
-t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
-d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
-q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
-t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
-    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
-d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
-q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
-    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
-d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
-t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
-    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
-d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
-q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
-q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
-" />
-    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
-d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
-q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
-    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
-d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
-q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
-    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
-d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
-M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
-q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
-h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
-d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
-t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
-v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
-t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
-d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
-q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
-    <glyph glyph-name="magnet" unicode="&#xf076;" 
-d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
-q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
-d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
-    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
-d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
-    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
-d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
-zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
-" />
-    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
-d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
-t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
-d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
-d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
-t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
-    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
-d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
-    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
-d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
-d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
-    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
-d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
-q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
-t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
-d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
-q0 119 84.5 203.5t203.5 84.5h960z" />
-    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
-d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
-t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
-q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
-    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
-d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
-l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
-t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
-    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
-d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
-t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
-l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
-l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
-q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
-t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
-q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
-q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
-    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
-d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
-q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
-q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
-    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
-d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
-t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
-q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
-q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
-    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
-d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
-t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
-M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
-h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
-    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
-d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
-    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
-d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
-q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
-q224 0 351 -124t127 -344z" />
-    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
-d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
-q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
-    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
-d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
-q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
-d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
-t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
-    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
-d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
-q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="signin" unicode="&#xf090;" 
-d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
-q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
-d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
-t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
-q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="github_sign" unicode="&#xf092;" 
-d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
-q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
-t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
-q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
-q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
-d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
-t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
-    <glyph glyph-name="lemon" unicode="&#xf094;" 
-d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
-q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
-q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
-q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
-    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
-d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
-q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
-t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
-    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
-d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
-q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
-d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
-q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
-d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
-t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
-t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
-" />
-    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
-d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
-q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
-    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
-d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
-    <glyph glyph-name="github" unicode="&#xf09b;" 
-d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
-q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
-t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
-q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
-M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
-    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
-d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
-t316.5 -131.5t131.5 -316.5z" />
-    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
-d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
-q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
-    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
-d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
-t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
-q187 -186 294 -425.5t120 -501.5z" />
-    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
-d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
-h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
-l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
-    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
-d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
-t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
-    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
-d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
-M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
-t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
-d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
-l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
-l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
-    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
-d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
-q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
-q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
-t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
-    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
-d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
-t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
-M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
-q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
-    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
-d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
-q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
-t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
-q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
-    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
-d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
-t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
-q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
-q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
-    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
-d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
-d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
-d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
-d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="globe" unicode="&#xf0ac;" 
-d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
-q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
-q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
-q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
-t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
-q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
-q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
-t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
-t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
-q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
-q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
-q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
-t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
-q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
-q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
-    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
-d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
-t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
-    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
-d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
-t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
-d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
-    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
-d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
-t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
-d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
-l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
-" />
-    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
-d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
-t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
-t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
-t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
-    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
-d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
-l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
-t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
-q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
-    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
-d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
-" />
-    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
-d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
-    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
-d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
-q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
-q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
-q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
-q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
-    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
-d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
-h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
-    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
-d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
-l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
-z" />
-    <glyph glyph-name="save" unicode="&#xf0c7;" 
-d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
-h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
-    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
-d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
-d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
-t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
-d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
-t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
-M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
-d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
-q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
-t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
-q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
-d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
-l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
-l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
-    <glyph glyph-name="underline" unicode="&#xf0cd;" 
-d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
-q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
-q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
-q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
-    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
-d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
-v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
-q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
-q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
-z" />
-    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
-d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
-l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
-    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
-d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
-t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
-t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
-d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
-q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
-q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
-d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
-t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
-t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
-    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
-d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
-h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
-d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
-q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
-    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
-d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
-v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
-d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
-d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
-d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
-    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
-d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
-    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
-d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
-d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
-d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
-d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
-d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
-q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
-    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
-d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
-q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
-    <glyph glyph-name="undo" unicode="&#xf0e2;" 
-d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
-t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
-    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
-d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
-t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
-q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
-q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
-    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
-d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
-t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
-t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
-q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
-d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
-q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
-t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
-d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
-t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
-t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
-q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
-    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
-d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
-    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
-d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
-q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
-z" />
-    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
-d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
-q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
-q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
-    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
-d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
-h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
-    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
-d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
-q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
-q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
-t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
-    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
-d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
-q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
-d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
-q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
-d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
-q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
-d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
-t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
-t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
-t271.5 -112.5t112.5 -271.5z" />
-    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
-d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
-t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
-t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
-    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
-d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
-t66 -158z" />
-    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
-d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
-t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
-d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
-t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
-    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
-d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
-t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
-q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
-    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
-d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
-d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
-M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
-t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
-v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
-d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
-t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
-q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
-d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
-q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
-    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
-d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
-q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
-    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
-d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
-    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
-d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
-q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
-d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
-q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
-d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
-t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
-    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
-d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
-l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
-d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
-q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
-d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
-t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
-d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
-d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
-d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
-d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
-d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
-t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
-d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
-M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
-    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
-d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
-q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
-    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
-d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
-q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
-d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
-t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
-d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
-M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
-    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
-d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
-v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
-    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
-d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
-t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
-M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
-q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
-    <glyph glyph-name="circle" unicode="&#xf111;" 
-d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
-d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
-l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
-    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
-d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
-q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
-t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
-q0 -87 -27 -168q136 -160 136 -398z" />
-    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
-d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
-q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
-d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
-v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
-" />
-    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
- />
-    <glyph glyph-name="smile" unicode="&#xf118;" 
-d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
-t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
-t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="frown" unicode="&#xf119;" 
-d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
-t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
-t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="meh" unicode="&#xf11a;" 
-d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
-t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
-d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
-t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
-t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
-    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
-d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
-h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
-h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
-q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
-h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
-    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
-d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
-h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
-q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
-d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
-q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
-q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
-q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
-d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
-t9 -23z" />
-    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
-d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
-l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
-    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
-d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
-q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
-    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
-d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
-l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
-    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
-d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
-    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
-d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
-v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
-d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
-q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
-q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
-    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
-d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
-q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
-l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
-t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
-d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
-t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
-    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
-d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
-q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
-d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
-    <glyph glyph-name="superscript" unicode="&#xf12b;" 
-d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
-M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
-t-65.5 -51.5t-30.5 -63h232v80h126z" />
-    <glyph glyph-name="subscript" unicode="&#xf12c;" 
-d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
-M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
-h232v80h126z" />
-    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
-d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
-    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
-d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
-t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
-q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
-q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
-    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
-d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
-t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
-    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
-d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
-q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
-t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
-    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
-d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
-t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
-d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
-q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
-d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
-q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
-q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
-    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
-d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
-q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
-d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
-    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
-d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
-t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" 
-d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
-t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" 
-d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
-t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" 
-d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
-t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
-d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
-    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
-d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
-    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
-d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
-q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
-t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
-d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
-v-320h736z" />
-    <glyph glyph-name="bullseye" unicode="&#xf140;" 
-d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
-t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
-q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
-d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
-q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
-d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
-q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-    <glyph glyph-name="_303" unicode="&#xf143;" 
-d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
-q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
-q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="play_sign" unicode="&#xf144;" 
-d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
-q16 -8 32 -8q17 0 32 9z" />
-    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
-d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
-t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
-    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
-d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
-t84.5 -203.5z" />
-    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
-d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
-t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
-d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
-    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
-d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
-    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
-d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
-t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
-d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
-v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_312" unicode="&#xf14c;" 
-d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
-q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="share_sign" unicode="&#xf14d;" 
-d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
-t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="compass" unicode="&#xf14e;" 
-d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
-t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="collapse" unicode="&#xf150;" 
-d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
-v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="collapse_top" unicode="&#xf151;" 
-d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
-q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_317" unicode="&#xf152;" 
-d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
-t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" 
-d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
-t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
-l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
-    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
-d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
-q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
-    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
-d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
-t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
-t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
-t53 -63.5t31.5 -76.5t13 -94z" />
-    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
-d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
-q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
-d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
-l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
-d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
-q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
-    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
-d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
-t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
-q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
-d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
-l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
-t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
-    <glyph glyph-name="file" unicode="&#xf15b;" 
-d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
-    <glyph glyph-name="file_text" unicode="&#xf15c;" 
-d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
-q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
-    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
-d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
-v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
-l230 -662h70z" />
-    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
-d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
-v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
-v119h121z" />
-    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
-d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
-q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
-q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
-d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
-q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
-q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
-d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
-zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
-t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
-    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
-d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
-t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
-q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
-    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
-d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
-q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
-t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
-    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
-d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
-t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
-t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
-    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
-d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
-q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
-q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
-q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
-q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
-h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="youtube" unicode="&#xf167;" 
-d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
-q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
-q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
-q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
-q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
-    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
-d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
-q25 45 64 45h241q22 0 31 -15z" />
-    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
-d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
-l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
-d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
-l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
-q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
-    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
-d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
-d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
-    <glyph glyph-name="instagram" unicode="&#xf16d;" 
-d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
-q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
-t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
-q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
-    <glyph glyph-name="flickr" unicode="&#xf16e;" 
-d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
-t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
-    <glyph glyph-name="adn" unicode="&#xf170;" 
-d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" 
-d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
-t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
-t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
-t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
-    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
-d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
-t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
-M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
-v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
-d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
-q78 2 134 29z" />
-    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
-d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
-M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
-d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
-    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
-d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
-    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
-d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
-d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
-    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
-d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
-q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
-    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
-d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
-    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
-d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
-t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
-h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
-    <glyph glyph-name="linux" unicode="&#xf17c;" 
-d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
-M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
-q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
-q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
-t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
-q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
-q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
-q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
-q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
-t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
-t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
-q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
-t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
-q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
-t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
-t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
-    <glyph glyph-name="dribble" unicode="&#xf17d;" 
-d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
-t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
-q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
-t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="skype" unicode="&#xf17e;" 
-d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
-t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
-q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
-q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
-    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
-d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
-M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
-l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
-    <glyph glyph-name="trello" unicode="&#xf181;" 
-d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
-q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
-d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
-q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
-d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
-M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-    <glyph glyph-name="gittip" unicode="&#xf184;" 
-d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
-t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" 
-d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
-l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
-q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
-    <glyph glyph-name="_366" unicode="&#xf186;" 
-d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
-t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
-    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
-d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
-q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
-    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
-d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
-q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
-t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
-    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
-d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
-t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
-q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
-q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
-q39 5 64 -2.5t31 -16.5z" />
-    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
-d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
-q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
-q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
-q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
-M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-    <glyph glyph-name="renren" unicode="&#xf18b;" 
-d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
-q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
-    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
-d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
-t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
-t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
-t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
-    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
-d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
-" />
-    <glyph glyph-name="_374" unicode="&#xf18e;" 
-d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
-t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
-d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
-t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="_376" unicode="&#xf191;" 
-d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
-M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" 
-d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
-t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" 
-d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
-q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
-    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
-d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
-q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" 
-d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
-q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
-d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
-q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
-d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
-t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
-q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
-    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
-d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
-q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
-t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
-    <glyph glyph-name="_384" unicode="&#xf199;" 
-d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
-q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
-t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
-    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
-d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
-t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
-t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
-t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
-t273 -182.5t331.5 -68z" />
-    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
-d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
-    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
-d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
-q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
-    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
-d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
-q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
-    <glyph glyph-name="_389" unicode="&#xf19e;" 
-d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
-q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
-    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
-d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
-t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
-    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
-d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
-t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
-q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
-t348 71t348 -71t286 -191t191 -286t71 -348z" />
-    <glyph glyph-name="_392" unicode="&#xf1a2;" 
-d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
-q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
-q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
-q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_393" unicode="&#xf1a3;" 
-d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
-v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
-t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
-d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
-v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
-    <glyph glyph-name="_395" unicode="&#xf1a5;" 
-d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
-t84.5 -203.5z" />
-    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
-d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
-v-369h123z" />
-    <glyph glyph-name="_397" unicode="&#xf1a7;" 
-d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
-v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
-q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
-d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
-q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
-q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
-q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
-t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
-q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
-t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
-t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
-    <glyph glyph-name="_399" unicode="&#xf1a9;" 
-d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
-q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
-q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
-t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
-q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
-    <glyph glyph-name="_400" unicode="&#xf1aa;" 
-d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
-M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
-t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
-q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
-t135.5 51q85 0 145 -60.5t60 -145.5z" />
-    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
-d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
-q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
-q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
-M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
-q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
-q20 0 20 -21v-418z" />
-    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
-d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
-l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
-t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
-q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
-q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
-    <glyph glyph-name="_403" unicode="&#xf1ad;" 
-d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
-t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
-q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
-q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
-t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
-q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
-q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
-t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
-    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
-d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
-q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
-d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
-q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
-q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
-t100.5 134t141.5 55.5z" />
-    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
-d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
-    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
-d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
-" />
-    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
-d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
-t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
-v-400l434 -186q36 -16 57 -48t21 -70z" />
-    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
-d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
-q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
-q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
-    <glyph glyph-name="_410" unicode="&#xf1b5;" 
-d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
-t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
-t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
-    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
-d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
-q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
-q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
-    <glyph glyph-name="_412" unicode="&#xf1b7;" 
-d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
-q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
-q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
-" />
-    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
-d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
-l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
-t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
-q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
-    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
-d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
-q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
-l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
-    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
-d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
-t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
-M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
-    <glyph glyph-name="_416" unicode="&#xf1bb;" 
-d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
-q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
-    <glyph glyph-name="_417" unicode="&#xf1bc;" 
-d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
-q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
-q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
-d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
-    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
-d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
-q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
-q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
-l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
-q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
-q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
-q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
-    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
-d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
-t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
-t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
-    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
-q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
-q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
-    <glyph glyph-name="_422" unicode="&#xf1c2;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
-t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
-    <glyph glyph-name="_423" unicode="&#xf1c3;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
-h-290v-107h68l189 -272l-194 -283h-68z" />
-    <glyph glyph-name="_424" unicode="&#xf1c4;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
-    <glyph glyph-name="_425" unicode="&#xf1c5;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
-    <glyph glyph-name="_426" unicode="&#xf1c6;" 
-d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
-v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
-q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
-    <glyph glyph-name="_427" unicode="&#xf1c7;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
-q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
-    <glyph glyph-name="_428" unicode="&#xf1c8;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
-    <glyph glyph-name="_429" unicode="&#xf1c9;" 
-d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
-M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
-l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
-    <glyph glyph-name="_430" unicode="&#xf1ca;" 
-d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
-q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
-    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
-d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
-q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
-    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
-d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
-q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
-t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
-    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
-d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
-q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
-t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
-    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
-d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
-t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
-    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
-d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
-t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
-t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
-q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
-    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
-d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
-l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
-q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
-q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
-t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
-t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
-d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
-q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
-q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
-q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
-d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
-q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
-q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
-v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
-    <glyph glyph-name="_439" unicode="&#xf1d4;" 
-d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
-d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
-t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
-t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
-    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
-d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
-q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
-t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
-t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
-    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
-d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
-q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
-q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
-q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
-    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
-d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
-    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
-d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
-l863 639l-478 -797z" />
-    <glyph glyph-name="_445" unicode="&#xf1da;" 
-d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
-t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
-t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="_446" unicode="&#xf1db;" 
-d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
-t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
-d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
-t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
-t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
-q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
-q0 -26 -12 -48t-36 -22z" />
-    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
-d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
-q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
-    <glyph glyph-name="_449" unicode="&#xf1de;" 
-d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
-q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
-    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
-d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
-t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
-    <glyph glyph-name="_451" unicode="&#xf1e1;" 
-d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
-t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
-d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
-t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
-q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
-t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
-d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
-l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
-    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
-d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
-v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
-q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
-zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
-t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
-    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
-d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
-M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
-    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
-d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
-l401 400q38 37 91 37t90 -37z" />
-    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
-d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
-t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
... 2465067 lines suppressed ...


[airflow-site] 15/30: Add separate folder for 1.10.2

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 42910ec5d11bb8a26858920865f8bf23364d6280
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Wed Jan 23 00:50:14 2019 +0000

    Add separate folder for 1.10.2
---
 1.10.2/.buildinfo                                  |     4 +
 1.10.2/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.2/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.2/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.2/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.2/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.2/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.2/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 1.10.2/_images/code.png                            |   Bin 0 -> 285906 bytes
 1.10.2/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.2/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.2/_images/connections.png                     |   Bin 0 -> 48442 bytes
 1.10.2/_images/context.png                         |   Bin 0 -> 149588 bytes
 1.10.2/_images/dags.png                            |   Bin 0 -> 217069 bytes
 1.10.2/_images/duration.png                        |   Bin 0 -> 250846 bytes
 1.10.2/_images/gantt.png                           |   Bin 0 -> 121795 bytes
 1.10.2/_images/graph.png                           |   Bin 0 -> 152205 bytes
 1.10.2/_images/latest_only_with_trigger.png        |   Bin 0 -> 40034 bytes
 1.10.2/_images/pin_large.png                       |   Bin 0 -> 358276 bytes
 1.10.2/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.2/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.2/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 1.10.2/_images/tree.png                            |   Bin 0 -> 128024 bytes
 1.10.2/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 .../contrib/executors/kubernetes_executor.html     |   897 ++
 .../airflow/contrib/executors/mesos_executor.html  |   549 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   369 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   288 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   275 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   337 +
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   424 +
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   287 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   506 +
 .../contrib/hooks/azure_data_lake_hook.html        |   360 +
 .../contrib/hooks/azure_fileshare_hook.html        |   431 +
 .../airflow/contrib/hooks/bigquery_hook.html       |  2184 +++
 .../airflow/contrib/hooks/cassandra_hook.html      |   416 +
 .../airflow/contrib/hooks/cloudant_hook.html       |   302 +
 .../airflow/contrib/hooks/databricks_hook.html     |   495 +
 .../airflow/contrib/hooks/datadog_hook.html        |   361 +
 .../airflow/contrib/hooks/datastore_hook.html      |   425 +
 .../contrib/hooks/discord_webhook_hook.html        |   359 +
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   276 +
 1.10.2/_modules/airflow/contrib/hooks/fs_hook.html |   265 +
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   534 +
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   414 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   554 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   513 +
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   464 +
 .../airflow/contrib/hooks/gcp_function_hook.html   |   417 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   490 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   504 +
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1216 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   326 +
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   895 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   499 +
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   306 +
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   356 +
 .../airflow/contrib/hooks/openfaas_hook.html       |   318 +
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   324 +
 .../airflow/contrib/hooks/qubole_hook.html         |   433 +
 .../_modules/airflow/contrib/hooks/redis_hook.html |   312 +
 .../airflow/contrib/hooks/redshift_hook.html       |   332 +
 .../airflow/contrib/hooks/sagemaker_hook.html      |   981 ++
 .../airflow/contrib/hooks/salesforce_hook.html     |   544 +
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   433 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   348 +
 .../airflow/contrib/hooks/snowflake_hook.html      |   317 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   465 +
 .../airflow/contrib/hooks/spark_sql_hook.html      |   381 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   786 +
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   571 +
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   468 +
 .../airflow/contrib/hooks/vertica_hook.html        |   272 +
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   410 +
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   356 +
 .../airflow/contrib/kubernetes/secret.html         |   260 +
 .../contrib/operators/adls_list_operator.html      |   289 +
 .../airflow/contrib/operators/adls_to_gcs.html     |   365 +
 .../contrib/operators/aws_athena_operator.html     |   317 +
 .../contrib/operators/awsbatch_operator.html       |   398 +
 .../contrib/operators/azure_cosmos_operator.html   |   288 +
 .../contrib/operators/bigquery_check_operator.html |   364 +
 .../contrib/operators/bigquery_get_data.html       |   335 +
 .../contrib/operators/bigquery_operator.html       |   856 ++
 .../operators/bigquery_table_delete_operator.html  |   285 +
 .../contrib/operators/bigquery_to_bigquery.html    |   314 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   324 +
 .../contrib/operators/cassandra_to_gcs.html        |   574 +
 .../contrib/operators/databricks_operator.html     |   699 +
 .../contrib/operators/dataflow_operator.html       |   593 +
 .../contrib/operators/dataproc_operator.html       |  1678 ++
 .../operators/datastore_export_operator.html       |   329 +
 .../operators/datastore_import_operator.html       |   317 +
 .../operators/discord_webhook_operator.html        |   317 +
 .../airflow/contrib/operators/druid_operator.html  |   283 +
 .../airflow/contrib/operators/ecs_operator.html    |   371 +
 .../contrib/operators/emr_add_steps_operator.html  |   282 +
 .../operators/emr_create_job_flow_operator.html    |   293 +
 .../operators/emr_terminate_job_flow_operator.html |   276 +
 .../airflow/contrib/operators/file_to_gcs.html     |   301 +
 .../airflow/contrib/operators/file_to_wasb.html    |   283 +
 .../contrib/operators/gcp_compute_operator.html    |   681 +
 .../contrib/operators/gcp_function_operator.html   |   539 +
 .../contrib/operators/gcp_sql_operator.html        |   988 ++
 .../contrib/operators/gcs_acl_operator.html        |   345 +
 .../contrib/operators/gcs_download_operator.html   |   310 +
 .../contrib/operators/gcs_list_operator.html       |   311 +
 .../airflow/contrib/operators/gcs_operator.html    |   341 +
 .../airflow/contrib/operators/gcs_to_bq.html       |   488 +
 .../airflow/contrib/operators/gcs_to_gcs.html      |   387 +
 .../operators/gcs_to_gcs_transfer_operator.html    |   346 +
 .../airflow/contrib/operators/gcs_to_s3.html       |   344 +
 .../contrib/operators/hipchat_operator.html        |   354 +
 .../contrib/operators/hive_to_dynamodb.html        |   328 +
 .../airflow/contrib/operators/jira_operator.html   |   313 +
 .../contrib/operators/kubernetes_pod_operator.html |   422 +
 .../contrib/operators/mlengine_operator.html       |   829 +
 .../airflow/contrib/operators/mongo_to_s3.html     |   347 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   508 +
 .../operators/postgres_to_gcs_operator.html        |   475 +
 .../airflow/contrib/operators/pubsub_operator.html |   652 +
 .../contrib/operators/qubole_check_operator.html   |   444 +
 .../airflow/contrib/operators/qubole_operator.html |   395 +
 .../contrib/operators/s3_list_operator.html        |   313 +
 .../contrib/operators/s3_to_gcs_operator.html      |   424 +
 .../operators/s3_to_gcs_transfer_operator.html     |   356 +
 .../contrib/operators/sagemaker_base_operator.html |   319 +
 .../sagemaker_endpoint_config_operator.html        |   285 +
 .../operators/sagemaker_endpoint_operator.html     |   369 +
 .../operators/sagemaker_model_operator.html        |   286 +
 .../operators/sagemaker_training_operator.html     |   317 +
 .../operators/sagemaker_transform_operator.html    |   343 +
 .../operators/sagemaker_tuning_operator.html       |   318 +
 .../airflow/contrib/operators/sftp_operator.html   |   399 +
 .../contrib/operators/slack_webhook_operator.html  |   311 +
 .../contrib/operators/snowflake_operator.html      |   286 +
 .../contrib/operators/spark_jdbc_operator.html     |   433 +
 .../contrib/operators/spark_sql_operator.html      |   330 +
 .../contrib/operators/spark_submit_operator.html   |   390 +
 .../airflow/contrib/operators/sqoop_operator.html  |   457 +
 .../airflow/contrib/operators/ssh_operator.html    |   392 +
 .../contrib/operators/vertica_operator.html        |   268 +
 .../airflow/contrib/operators/vertica_to_hive.html |   358 +
 .../airflow/contrib/operators/winrm_operator.html  |   329 +
 .../airflow/contrib/sensors/aws_athena_sensor.html |   298 +
 .../sensors/aws_glue_catalog_partition_sensor.html |   312 +
 .../sensors/aws_redshift_cluster_sensor.html       |   271 +
 .../contrib/sensors/azure_cosmos_sensor.html       |   286 +
 .../airflow/contrib/sensors/bash_sensor.html       |   314 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |   289 +
 .../contrib/sensors/cassandra_record_sensor.html   |   280 +
 .../contrib/sensors/cassandra_table_sensor.html    |   275 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   302 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |   275 +
 .../contrib/sensors/emr_job_flow_sensor.html       |   274 +
 .../airflow/contrib/sensors/emr_step_sensor.html   |   277 +
 .../airflow/contrib/sensors/file_sensor.html       |   290 +
 .../airflow/contrib/sensors/ftp_sensor.html        |   319 +
 .../airflow/contrib/sensors/gcs_sensor.html        |   385 +
 .../airflow/contrib/sensors/hdfs_sensor.html       |   297 +
 .../airflow/contrib/sensors/jira_sensor.html       |   370 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   324 +
 .../airflow/contrib/sensors/python_sensor.html     |   300 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   339 +
 .../airflow/contrib/sensors/redis_key_sensor.html  |   266 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   293 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   280 +
 .../contrib/sensors/sagemaker_training_sensor.html |   321 +
 .../sensors/sagemaker_transform_sensor.html        |   281 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   281 +
 .../airflow/contrib/sensors/sftp_sensor.html       |   271 +
 .../airflow/contrib/sensors/wasb_sensor.html       |   318 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   322 +
 .../airflow/executors/celery_executor.html         |   338 +
 .../_modules/airflow/executors/local_executor.html |   450 +
 .../airflow/executors/sequential_executor.html     |   276 +
 1.10.2/_modules/airflow/hooks/S3_hook.html         |   762 +
 1.10.2/_modules/airflow/hooks/dbapi_hook.html      |   522 +
 1.10.2/_modules/airflow/hooks/druid_hook.html      |   384 +
 1.10.2/_modules/airflow/hooks/hdfs_hook.html       |   320 +
 1.10.2/_modules/airflow/hooks/hive_hooks.html      |  1148 ++
 1.10.2/_modules/airflow/hooks/http_hook.html       |   422 +
 1.10.2/_modules/airflow/hooks/mssql_hook.html      |   271 +
 1.10.2/_modules/airflow/hooks/mysql_hook.html      |   363 +
 1.10.2/_modules/airflow/hooks/pig_hook.html        |   313 +
 1.10.2/_modules/airflow/hooks/postgres_hook.html   |   332 +
 1.10.2/_modules/airflow/hooks/presto_hook.html     |   359 +
 1.10.2/_modules/airflow/hooks/samba_hook.html      |   271 +
 1.10.2/_modules/airflow/hooks/slack_hook.html      |   281 +
 1.10.2/_modules/airflow/hooks/sqlite_hook.html     |   260 +
 1.10.2/_modules/airflow/hooks/zendesk_hook.html    |   331 +
 1.10.2/_modules/airflow/macros.html                |   312 +
 1.10.2/_modules/airflow/macros/hive.html           |   339 +
 1.10.2/_modules/airflow/models.html                |  5743 +++++++
 .../_modules/airflow/operators/bash_operator.html  |   357 +
 .../_modules/airflow/operators/check_operator.html |   481 +
 .../airflow/operators/dagrun_operator.html         |   317 +
 .../airflow/operators/druid_check_operator.html    |   310 +
 .../_modules/airflow/operators/dummy_operator.html |   257 +
 .../_modules/airflow/operators/email_operator.html |   297 +
 .../airflow/operators/generic_transfer.html        |   300 +
 .../_modules/airflow/operators/hive_operator.html  |   361 +
 .../airflow/operators/hive_stats_operator.html     |   408 +
 .../_modules/airflow/operators/hive_to_druid.html  |   465 +
 .../_modules/airflow/operators/hive_to_mysql.html  |   333 +
 .../airflow/operators/hive_to_samba_operator.html  |   286 +
 .../_modules/airflow/operators/http_operator.html  |   320 +
 .../airflow/operators/latest_only_operator.html    |   283 +
 .../_modules/airflow/operators/mssql_operator.html |   277 +
 .../_modules/airflow/operators/mssql_to_hive.html  |   358 +
 .../_modules/airflow/operators/mysql_operator.html |   280 +
 .../_modules/airflow/operators/mysql_to_hive.html  |   361 +
 .../_modules/airflow/operators/pig_operator.html   |   292 +
 .../airflow/operators/postgres_operator.html       |   281 +
 .../airflow/operators/presto_check_operator.html   |   346 +
 .../airflow/operators/presto_to_mysql.html         |   299 +
 .../airflow/operators/python_operator.html         |   620 +
 .../airflow/operators/redshift_to_s3_operator.html |   370 +
 .../operators/s3_file_transform_operator.html      |   386 +
 .../airflow/operators/s3_to_hive_operator.html     |   515 +
 .../airflow/operators/s3_to_redshift_operator.html |   327 +
 .../_modules/airflow/operators/slack_operator.html |   357 +
 .../airflow/operators/sqlite_operator.html         |   271 +
 .../airflow/operators/subdag_operator.html         |   322 +
 .../airflow/sensors/base_sensor_operator.html      |   350 +
 .../airflow/sensors/external_task_sensor.html      |   320 +
 1.10.2/_modules/airflow/sensors/hdfs_sensor.html   |   338 +
 .../airflow/sensors/hive_partition_sensor.html     |   294 +
 1.10.2/_modules/airflow/sensors/http_sensor.html   |   311 +
 .../sensors/metastore_partition_sensor.html        |   302 +
 .../sensors/named_hive_partition_sensor.html       |   323 +
 1.10.2/_modules/airflow/sensors/s3_key_sensor.html |   312 +
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   301 +
 1.10.2/_modules/airflow/sensors/sql_sensor.html    |   277 +
 .../airflow/sensors/time_delta_sensor.html         |   265 +
 1.10.2/_modules/airflow/sensors/time_sensor.html   |   259 +
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   263 +
 1.10.2/_modules/index.html                         |   431 +
 1.10.2/_sources/api.rst.txt                        |   143 +
 1.10.2/_sources/changelog.rst.txt                  |    21 +
 1.10.2/_sources/cli.rst.txt                        |    28 +
 1.10.2/_sources/code.rst.txt                       |   483 +
 1.10.2/_sources/concepts.rst.txt                   |   901 ++
 1.10.2/_sources/faq.rst.txt                        |   201 +
 1.10.2/_sources/howto/check-health.rst.txt         |    47 +
 1.10.2/_sources/howto/executor/use-celery.rst.txt  |    71 +
 1.10.2/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.2/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 1.10.2/_sources/howto/index.rst.txt                |    42 +
 1.10.2/_sources/howto/initialize-database.rst.txt  |    48 +
 1.10.2/_sources/howto/manage-connections.rst.txt   |   400 +
 1.10.2/_sources/howto/operator.rst.txt             |  1657 ++
 1.10.2/_sources/howto/run-with-systemd.rst.txt     |    32 +
 1.10.2/_sources/howto/run-with-upstart.rst.txt     |    37 +
 1.10.2/_sources/howto/secure-connections.rst.txt   |    50 +
 1.10.2/_sources/howto/set-config.rst.txt           |    66 +
 1.10.2/_sources/howto/use-test-config.rst.txt      |    34 +
 1.10.2/_sources/howto/write-logs.rst.txt           |   138 +
 1.10.2/_sources/index.rst.txt                      |    96 +
 1.10.2/_sources/installation.rst.txt               |   143 +
 1.10.2/_sources/integration.rst.txt                |  1419 ++
 1.10.2/_sources/kubernetes.rst.txt                 |   132 +
 1.10.2/_sources/license.rst.txt                    |   199 +
 1.10.2/_sources/lineage.rst.txt                    |   102 +
 1.10.2/_sources/metrics.rst.txt                    |    67 +
 1.10.2/_sources/plugins.rst.txt                    |   253 +
 1.10.2/_sources/profiling.rst.txt                  |    58 +
 1.10.2/_sources/project.rst.txt                    |    74 +
 1.10.2/_sources/scheduler.rst.txt                  |   186 +
 1.10.2/_sources/security.rst.txt                   |   439 +
 1.10.2/_sources/start.rst.txt                      |    71 +
 1.10.2/_sources/timezone.rst.txt                   |   163 +
 1.10.2/_sources/tutorial.rst.txt                   |   470 +
 1.10.2/_sources/ui.rst.txt                         |   119 +
 1.10.2/_static/ajax-loader.gif                     |   Bin 0 -> 673 bytes
 1.10.2/_static/basic.css                           |   676 +
 1.10.2/_static/comment-bright.png                  |   Bin 0 -> 756 bytes
 1.10.2/_static/comment-close.png                   |   Bin 0 -> 829 bytes
 1.10.2/_static/comment.png                         |   Bin 0 -> 641 bytes
 1.10.2/_static/css/badge_only.css                  |     1 +
 1.10.2/_static/css/theme.css                       |     6 +
 1.10.2/_static/doctools.js                         |   315 +
 1.10.2/_static/documentation_options.js            |    10 +
 1.10.2/_static/down-pressed.png                    |   Bin 0 -> 222 bytes
 1.10.2/_static/down.png                            |   Bin 0 -> 202 bytes
 1.10.2/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.2/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.2/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.2/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.2/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.2/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.2/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.2/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.2/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.2/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.2/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.2/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.2/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.2/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.2/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.2/_static/fonts/fontawesome-webfont.svg       |  2671 ++++
 1.10.2/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.2/_static/jquery-3.2.1.js                     | 10253 +++++++++++++
 1.10.2/_static/jquery.js                           |     4 +
 1.10.2/_static/js/modernizr.min.js                 |     4 +
 1.10.2/_static/js/theme.js                         |     3 +
 1.10.2/_static/language_data.js                    |   297 +
 1.10.2/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.2/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.2/_static/pygments.css                        |    69 +
 1.10.2/_static/searchtools.js                      |   481 +
 1.10.2/_static/underscore-1.3.1.js                 |   999 ++
 1.10.2/_static/underscore.js                       |    31 +
 1.10.2/_static/up-pressed.png                      |   Bin 0 -> 214 bytes
 1.10.2/_static/up.png                              |   Bin 0 -> 203 bytes
 1.10.2/_static/websupport.js                       |   808 +
 1.10.2/api.html                                    |   361 +
 1.10.2/changelog.html                              |  2587 ++++
 1.10.2/cli.html                                    |  1750 +++
 1.10.2/code.html                                   | 15156 +++++++++++++++++++
 1.10.2/concepts.html                               |  1035 ++
 1.10.2/faq.html                                    |   403 +
 1.10.2/genindex.html                               |  2230 +++
 1.10.2/howto/check-health.html                     |   282 +
 1.10.2/howto/executor/use-celery.html              |   293 +
 1.10.2/howto/executor/use-dask.html                |   275 +
 1.10.2/howto/executor/use-mesos.html               |   314 +
 1.10.2/howto/index.html                            |   297 +
 1.10.2/howto/initialize-database.html              |   280 +
 1.10.2/howto/manage-connections.html               |   597 +
 1.10.2/howto/operator.html                         |  2514 +++
 1.10.2/howto/run-with-systemd.html                 |   262 +
 1.10.2/howto/run-with-upstart.html                 |   264 +
 1.10.2/howto/secure-connections.html               |   278 +
 1.10.2/howto/set-config.html                       |   290 +
 1.10.2/howto/use-test-config.html                  |   263 +
 1.10.2/howto/write-logs.html                       |   376 +
 1.10.2/http-routingtable.html                      |   295 +
 1.10.2/index.html                                  |   937 ++
 1.10.2/installation.html                           |   425 +
 1.10.2/integration.html                            |  9075 +++++++++++
 1.10.2/kubernetes.html                             |   403 +
 1.10.2/license.html                                |   411 +
 1.10.2/lineage.html                                |   315 +
 1.10.2/metrics.html                                |   335 +
 1.10.2/objects.inv                                 |   Bin 0 -> 9678 bytes
 1.10.2/plugins.html                                |   457 +
 1.10.2/profiling.html                              |   272 +
 1.10.2/project.html                                |   288 +
 1.10.2/py-modindex.html                            |   252 +
 1.10.2/scheduler.html                              |   413 +
 1.10.2/search.html                                 |   238 +
 1.10.2/searchindex.js                              |     1 +
 1.10.2/security.html                               |   628 +
 1.10.2/start.html                                  |   283 +
 1.10.2/timezone.html                               |   365 +
 1.10.2/tutorial.html                               |   667 +
 1.10.2/ui.html                                     |   318 +
 379 files changed, 162695 insertions(+)

diff --git a/1.10.2/.buildinfo b/1.10.2/.buildinfo
new file mode 100644
index 0000000..2cd3f36
--- /dev/null
+++ b/1.10.2/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 31d38953a908168368629ac053123a0f
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.2/_images/adhoc.png b/1.10.2/_images/adhoc.png
new file mode 100644
index 0000000..77ea780
Binary files /dev/null and b/1.10.2/_images/adhoc.png differ
diff --git a/1.10.2/_images/airflow.gif b/1.10.2/_images/airflow.gif
new file mode 100644
index 0000000..7646e37
Binary files /dev/null and b/1.10.2/_images/airflow.gif differ
diff --git a/1.10.2/_images/apache.jpg b/1.10.2/_images/apache.jpg
new file mode 100644
index 0000000..312251f
Binary files /dev/null and b/1.10.2/_images/apache.jpg differ
diff --git a/1.10.2/_images/branch_bad.png b/1.10.2/_images/branch_bad.png
new file mode 100644
index 0000000..586844f
Binary files /dev/null and b/1.10.2/_images/branch_bad.png differ
diff --git a/1.10.2/_images/branch_good.png b/1.10.2/_images/branch_good.png
new file mode 100644
index 0000000..fbd4650
Binary files /dev/null and b/1.10.2/_images/branch_good.png differ
diff --git a/1.10.2/_images/chart.png b/1.10.2/_images/chart.png
new file mode 100644
index 0000000..bfca26b
Binary files /dev/null and b/1.10.2/_images/chart.png differ
diff --git a/1.10.2/_images/chart_form.png b/1.10.2/_images/chart_form.png
new file mode 100644
index 0000000..f73daf5
Binary files /dev/null and b/1.10.2/_images/chart_form.png differ
diff --git a/1.10.2/_images/code.png b/1.10.2/_images/code.png
new file mode 100644
index 0000000..60e8f58
Binary files /dev/null and b/1.10.2/_images/code.png differ
diff --git a/1.10.2/_images/connection_create.png b/1.10.2/_images/connection_create.png
new file mode 100644
index 0000000..8a574d4
Binary files /dev/null and b/1.10.2/_images/connection_create.png differ
diff --git a/1.10.2/_images/connection_edit.png b/1.10.2/_images/connection_edit.png
new file mode 100644
index 0000000..c6d14da
Binary files /dev/null and b/1.10.2/_images/connection_edit.png differ
diff --git a/1.10.2/_images/connections.png b/1.10.2/_images/connections.png
new file mode 100644
index 0000000..3a28473
Binary files /dev/null and b/1.10.2/_images/connections.png differ
diff --git a/1.10.2/_images/context.png b/1.10.2/_images/context.png
new file mode 100644
index 0000000..bac718f
Binary files /dev/null and b/1.10.2/_images/context.png differ
diff --git a/1.10.2/_images/dags.png b/1.10.2/_images/dags.png
new file mode 100644
index 0000000..04c8213
Binary files /dev/null and b/1.10.2/_images/dags.png differ
diff --git a/1.10.2/_images/duration.png b/1.10.2/_images/duration.png
new file mode 100644
index 0000000..b59fc09
Binary files /dev/null and b/1.10.2/_images/duration.png differ
diff --git a/1.10.2/_images/gantt.png b/1.10.2/_images/gantt.png
new file mode 100644
index 0000000..d74e1e5
Binary files /dev/null and b/1.10.2/_images/gantt.png differ
diff --git a/1.10.2/_images/graph.png b/1.10.2/_images/graph.png
new file mode 100644
index 0000000..ea2b705
Binary files /dev/null and b/1.10.2/_images/graph.png differ
diff --git a/1.10.2/_images/latest_only_with_trigger.png b/1.10.2/_images/latest_only_with_trigger.png
new file mode 100644
index 0000000..629adfa
Binary files /dev/null and b/1.10.2/_images/latest_only_with_trigger.png differ
diff --git a/1.10.2/_images/pin_large.png b/1.10.2/_images/pin_large.png
new file mode 100644
index 0000000..986c88b
Binary files /dev/null and b/1.10.2/_images/pin_large.png differ
diff --git a/1.10.2/_images/subdag_after.png b/1.10.2/_images/subdag_after.png
new file mode 100644
index 0000000..166a6de
Binary files /dev/null and b/1.10.2/_images/subdag_after.png differ
diff --git a/1.10.2/_images/subdag_before.png b/1.10.2/_images/subdag_before.png
new file mode 100644
index 0000000..ebc3e58
Binary files /dev/null and b/1.10.2/_images/subdag_before.png differ
diff --git a/1.10.2/_images/subdag_zoom.png b/1.10.2/_images/subdag_zoom.png
new file mode 100644
index 0000000..08fcf5c
Binary files /dev/null and b/1.10.2/_images/subdag_zoom.png differ
diff --git a/1.10.2/_images/tree.png b/1.10.2/_images/tree.png
new file mode 100644
index 0000000..06750aa
Binary files /dev/null and b/1.10.2/_images/tree.png differ
diff --git a/1.10.2/_images/variable_hidden.png b/1.10.2/_images/variable_hidden.png
new file mode 100644
index 0000000..e081ca3
Binary files /dev/null and b/1.10.2/_images/variable_hidden.png differ
diff --git a/1.10.2/_modules/airflow/contrib/executors/kubernetes_executor.html b/1.10.2/_modules/airflow/contrib/executors/kubernetes_executor.html
new file mode 100644
index 0000000..69d7e74
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/executors/kubernetes_executor.html
@@ -0,0 +1,897 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.executors.kubernetes_executor</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.executors.kubernetes_executor</h1><div class="highlight"><pre>
+<span></span><span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">base64</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">multiprocessing</span>
+<span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
+<span class="kn">from</span> <span class="nn">dateutil</span> <span class="k">import</span> <span class="n">parser</span>
+<span class="kn">from</span> <span class="nn">uuid</span> <span class="k">import</span> <span class="n">uuid4</span>
+<span class="kn">import</span> <span class="nn">kubernetes</span>
+<span class="kn">from</span> <span class="nn">kubernetes</span> <span class="k">import</span> <span class="n">watch</span><span class="p">,</span> <span class="n">client</span>
+<span class="kn">from</span> <span class="nn">kubernetes.client.rest</span> <span class="k">import</span> <span class="n">ApiException</span>
+<span class="kn">from</span> <span class="nn">airflow.configuration</span> <span class="k">import</span> <span class="n">conf</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.kubernetes.pod_launcher</span> <span class="k">import</span> <span class="n">PodLauncher</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.kubernetes.kube_client</span> <span class="k">import</span> <span class="n">get_kube_client</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.kubernetes.worker_configuration</span> <span class="k">import</span> <span class="n">WorkerConfiguration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.executors</span> <span class="k">import</span> <span class="n">Executors</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">KubeResourceVersion</span><span class="p">,</span> <span class="n">KubeWorkerIdentifier</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.db</span> <span class="k">import</span> <span class="n">provide_session</span><span class="p">,</span> <span class="n">create_session</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowConfigException</span><span class="p">,</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<span class="k">class</span> <span class="nc">KubernetesExecutorConfig</span><span class="p">:</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">image_pull_policy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">request_memory</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">request_cpu</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">limit_memory</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">limit_cpu</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">gcp_service_account_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">node_selectors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">affinity</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">annotations</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">volumes</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">volume_mounts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">tolerations</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">image</span> <span class="o">=</span> <span class="n">image</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">image_pull_policy</span> <span class="o">=</span> <span class="n">image_pull_policy</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">request_memory</span> <span class="o">=</span> <span class="n">request_memory</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">request_cpu</span> <span class="o">=</span> <span class="n">request_cpu</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">limit_memory</span> <span class="o">=</span> <span class="n">limit_memory</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">limit_cpu</span> <span class="o">=</span> <span class="n">limit_cpu</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_service_account_key</span> <span class="o">=</span> <span class="n">gcp_service_account_key</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">node_selectors</span> <span class="o">=</span> <span class="n">node_selectors</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">affinity</span> <span class="o">=</span> <span class="n">affinity</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">annotations</span> <span class="o">=</span> <span class="n">annotations</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">volumes</span> <span class="o">=</span> <span class="n">volumes</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">volume_mounts</span> <span class="o">=</span> <span class="n">volume_mounts</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tolerations</span> <span class="o">=</span> <span class="n">tolerations</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">(image=</span><span class="si">{}</span><span class="s2">, image_pull_policy=</span><span class="si">{}</span><span class="s2">, request_memory=</span><span class="si">{}</span><span class="s2">, request_cpu=</span><span class="si">{}</span><span class="s2">, &quot;</span> \
+               <span class="s2">&quot;limit_memory=</span><span class="si">{}</span><span class="s2">, limit_cpu=</span><span class="si">{}</span><span class="s2">, gcp_service_account_key=</span><span class="si">{}</span><span class="s2">, &quot;</span> \
+               <span class="s2">&quot;node_selectors=</span><span class="si">{}</span><span class="s2">, affinity=</span><span class="si">{}</span><span class="s2">, annotations=</span><span class="si">{}</span><span class="s2">, volumes=</span><span class="si">{}</span><span class="s2">, &quot;</span> \
+               <span class="s2">&quot;volume_mounts=</span><span class="si">{}</span><span class="s2">, tolerations=</span><span class="si">{}</span><span class="s2">)&quot;</span> \
+            <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">KubernetesExecutorConfig</span><span class="o">.</span><span class="vm">__name__</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_pull_policy</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">request_memory</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_cpu</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">limit_memory</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">limit_cpu</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">gcp_service_account_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">node_selectors</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">affinity</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">annotations</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">volumes</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">volume_mounts</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">tolerations</span><span class="p">)</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">from_dict</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">KubernetesExecutorConfig</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
+                <span class="s1">&#39;Cannot convert a non-dictionary object into a KubernetesExecutorConfig&#39;</span><span class="p">)</span>
+
+        <span class="n">namespaced</span> <span class="o">=</span> <span class="n">obj</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">Executors</span><span class="o">.</span><span class="n">KubernetesExecutor</span><span class="p">,</span> <span class="p">{})</span>
+
+        <span class="k">return</span> <span class="n">KubernetesExecutorConfig</span><span class="p">(</span>
+            <span class="n">image</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;image&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">image_pull_policy</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;image_pull_policy&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">request_memory</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;request_memory&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">request_cpu</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;request_cpu&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">limit_memory</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;limit_memory&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">limit_cpu</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;limit_cpu&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">gcp_service_account_key</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;gcp_service_account_key&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">node_selectors</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;node_selectors&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">affinity</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;affinity&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+            <span class="n">annotations</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;annotations&#39;</span><span class="p">,</span> <span class="p">{}),</span>
+            <span class="n">volumes</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;volumes&#39;</span><span class="p">,</span> <span class="p">[]),</span>
+            <span class="n">volume_mounts</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;volume_mounts&#39;</span><span class="p">,</span> <span class="p">[]),</span>
+            <span class="n">tolerations</span><span class="o">=</span><span class="n">namespaced</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tolerations&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">as_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">{</span>
+            <span class="s1">&#39;image&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span><span class="p">,</span>
+            <span class="s1">&#39;image_pull_policy&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_pull_policy</span><span class="p">,</span>
+            <span class="s1">&#39;request_memory&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_memory</span><span class="p">,</span>
+            <span class="s1">&#39;request_cpu&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_cpu</span><span class="p">,</span>
+            <span class="s1">&#39;limit_memory&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">limit_memory</span><span class="p">,</span>
+            <span class="s1">&#39;limit_cpu&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">limit_cpu</span><span class="p">,</span>
+            <span class="s1">&#39;gcp_service_account_key&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">gcp_service_account_key</span><span class="p">,</span>
+            <span class="s1">&#39;node_selectors&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">node_selectors</span><span class="p">,</span>
+            <span class="s1">&#39;affinity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">affinity</span><span class="p">,</span>
+            <span class="s1">&#39;annotations&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">annotations</span><span class="p">,</span>
+            <span class="s1">&#39;volumes&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">volumes</span><span class="p">,</span>
+            <span class="s1">&#39;volume_mounts&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">volume_mounts</span><span class="p">,</span>
+            <span class="s1">&#39;tolerations&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">tolerations</span><span class="p">,</span>
+        <span class="p">}</span>
+
+
+<span class="k">class</span> <span class="nc">KubeConfig</span><span class="p">:</span>
+    <span class="n">core_section</span> <span class="o">=</span> <span class="s1">&#39;core&#39;</span>
+    <span class="n">kubernetes_section</span> <span class="o">=</span> <span class="s1">&#39;kubernetes&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">configuration_dict</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">as_dict</span><span class="p">(</span><span class="n">display_sensitive</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">core_configuration</span> <span class="o">=</span> <span class="n">configuration_dict</span><span class="p">[</span><span class="s1">&#39;core&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_secrets</span> <span class="o">=</span> <span class="n">configuration_dict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;kubernetes_secrets&#39;</span><span class="p">,</span> <span class="p">{})</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">airflow_home</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">core_section</span><span class="p">,</span> <span class="s1">&#39;airflow_home&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags_folder</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">core_section</span><span class="p">,</span> <span class="s1">&#39;dags_folder&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">parallelism</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">core_section</span><span class="p">,</span> <span class="s1">&#39;PARALLELISM&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_container_repository</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;worker_container_repository&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_container_tag</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;worker_container_tag&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_image</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">worker_container_repository</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_container_tag</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_image_pull_policy</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s2">&quot;worker_container_image_pull_policy&quot;</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_node_selectors</span> <span class="o">=</span> <span class="n">configuration_dict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;kubernetes_node_selectors&#39;</span><span class="p">,</span> <span class="p">{})</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delete_worker_pods</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;delete_worker_pods&#39;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_service_account_name</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;worker_service_account_name&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">image_pull_secrets</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;image_pull_secrets&#39;</span><span class="p">)</span>
+
+        <span class="c1"># NOTE: user can build the dags into the docker image directly,</span>
+        <span class="c1"># this will set to True if so</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags_in_image</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;dags_in_image&#39;</span><span class="p">)</span>
+
+        <span class="c1"># NOTE: `git_repo` and `git_branch` must be specified together as a pair</span>
+        <span class="c1"># The http URL of the git repository to clone from</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_repo</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_repo&#39;</span><span class="p">)</span>
+        <span class="c1"># The branch of the repository to be checked out</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_branch</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_branch&#39;</span><span class="p">)</span>
+        <span class="c1"># Optionally, the directory in the git repository containing the dags</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_subpath</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_subpath&#39;</span><span class="p">)</span>
+        <span class="c1"># Optionally, the root directory for git operations</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_root</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_sync_root&#39;</span><span class="p">)</span>
+        <span class="c1"># Optionally, the name at which to publish the checked-out files under --root</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_dest</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_sync_dest&#39;</span><span class="p">)</span>
+        <span class="c1"># Optionally, if git_dags_folder_mount_point is set the worker will use</span>
+        <span class="c1"># {git_dags_folder_mount_point}/{git_sync_dest}/{git_subpath} as dags_folder</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_dags_folder_mount_point</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span>
+                                                    <span class="s1">&#39;git_dags_folder_mount_point&#39;</span><span class="p">)</span>
+
+        <span class="c1"># Optionally a user may supply a `git_user` and `git_password` for private</span>
+        <span class="c1"># repositories</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_user</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_user&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_password</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_password&#39;</span><span class="p">)</span>
+
+        <span class="c1"># NOTE: The user may optionally use a volume claim to mount a PV containing</span>
+        <span class="c1"># DAGs directly</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags_volume_claim</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;dags_volume_claim&#39;</span><span class="p">)</span>
+
+        <span class="c1"># This prop may optionally be set for PV Claims and is used to write logs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logs_volume_claim</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;logs_volume_claim&#39;</span><span class="p">)</span>
+
+        <span class="c1"># This prop may optionally be set for PV Claims and is used to locate DAGs</span>
+        <span class="c1"># on a SubPath</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags_volume_subpath</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;dags_volume_subpath&#39;</span><span class="p">)</span>
+
+        <span class="c1"># This prop may optionally be set for PV Claims and is used to locate logs</span>
+        <span class="c1"># on a SubPath</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logs_volume_subpath</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;logs_volume_subpath&#39;</span><span class="p">)</span>
+
+        <span class="c1"># Optionally, hostPath volume containing DAGs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags_volume_host</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;dags_volume_host&#39;</span><span class="p">)</span>
+
+        <span class="c1"># Optionally, write logs to a hostPath Volume</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logs_volume_host</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;logs_volume_host&#39;</span><span class="p">)</span>
+
+        <span class="c1"># This prop may optionally be set for PV Claims and is used to write logs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">base_log_folder</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">core_section</span><span class="p">,</span> <span class="s1">&#39;base_log_folder&#39;</span><span class="p">)</span>
+
+        <span class="c1"># The Kubernetes Namespace in which the Scheduler and Webserver reside. Note</span>
+        <span class="c1"># that if your</span>
+        <span class="c1"># cluster has RBAC enabled, your scheduler may need service account permissions to</span>
+        <span class="c1"># create, watch, get, and delete pods in this namespace.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_namespace</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;namespace&#39;</span><span class="p">)</span>
+        <span class="c1"># The Kubernetes Namespace in which pods will be created by the executor. Note</span>
+        <span class="c1"># that if your</span>
+        <span class="c1"># cluster has RBAC enabled, your workers may need service account permissions to</span>
+        <span class="c1"># interact with cluster components.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">executor_namespace</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;namespace&#39;</span><span class="p">)</span>
+        <span class="c1"># Task secrets managed by KubernetesExecutor.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_service_account_keys</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span>
+                                                 <span class="s1">&#39;gcp_service_account_keys&#39;</span><span class="p">)</span>
+
+        <span class="c1"># If the user is using the git-sync container to clone their repository via git,</span>
+        <span class="c1"># allow them to specify repository, tag, and pod name for the init container.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_container_repository</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_sync_container_repository&#39;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_container_tag</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_sync_container_tag&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_container</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_container_repository</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_container_tag</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">git_sync_init_container_name</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;git_sync_init_container_name&#39;</span><span class="p">)</span>
+
+        <span class="c1"># The worker pod may optionally have a  valid Airflow config loaded via a</span>
+        <span class="c1"># configmap</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">airflow_configmap</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;airflow_configmap&#39;</span><span class="p">)</span>
+
+        <span class="n">affinity_json</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;affinity&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">affinity_json</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_affinity</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">affinity_json</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_affinity</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="n">tolerations_json</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">kubernetes_section</span><span class="p">,</span> <span class="s1">&#39;tolerations&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">tolerations_json</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_tolerations</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">tolerations_json</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_tolerations</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">_validate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="c1"># TODO: use XOR for dags_volume_claim and git_dags_folder_mount_point</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags_volume_claim</span> \
+           <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags_volume_host</span> \
+           <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags_in_image</span> \
+           <span class="ow">and</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">git_repo</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">git_branch</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">git_dags_folder_mount_point</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowConfigException</span><span class="p">(</span>
+                <span class="s1">&#39;In kubernetes mode the following must be set in the `kubernetes` &#39;</span>
+                <span class="s1">&#39;config section: `dags_volume_claim` &#39;</span>
+                <span class="s1">&#39;or `dags_volume_host` &#39;</span>
+                <span class="s1">&#39;or `dags_in_image` &#39;</span>
+                <span class="s1">&#39;or `git_repo and git_branch and git_dags_folder_mount_point`&#39;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">KubernetesJobWatcher</span><span class="p">(</span><span class="n">multiprocessing</span><span class="o">.</span><span class="n">Process</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">namespace</span><span class="p">,</span> <span class="n">watcher_queue</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">,</span> <span class="n">worker_uuid</span><span class="p">):</span>
+        <span class="n">multiprocessing</span><span class="o">.</span><span class="n">Process</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span> <span class="o">=</span> <span class="n">namespace</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span> <span class="o">=</span> <span class="n">worker_uuid</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span> <span class="o">=</span> <span class="n">watcher_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resource_version</span> <span class="o">=</span> <span class="n">resource_version</span>
+
+    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">kube_client</span> <span class="o">=</span> <span class="n">get_kube_client</span><span class="p">()</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">resource_version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_run</span><span class="p">(</span><span class="n">kube_client</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">resource_version</span><span class="p">,</span>
+                                                  <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s1">&#39;Unknown error in KubernetesJobWatcher. Failing&#39;</span><span class="p">)</span>
+                <span class="k">raise</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Watch died gracefully, starting back up with: &#39;</span>
+                              <span class="s1">&#39;last resource_version: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">resource_version</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">kube_client</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">,</span> <span class="n">worker_uuid</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Event: and now my watch begins starting at resource_version: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">resource_version</span>
+        <span class="p">)</span>
+        <span class="n">watcher</span> <span class="o">=</span> <span class="n">watch</span><span class="o">.</span><span class="n">Watch</span><span class="p">()</span>
+
+        <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;label_selector&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow-worker=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">worker_uuid</span><span class="p">)}</span>
+        <span class="k">if</span> <span class="n">resource_version</span><span class="p">:</span>
+            <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;resource_version&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">resource_version</span>
+
+        <span class="n">last_resource_version</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">for</span> <span class="n">event</span> <span class="ow">in</span> <span class="n">watcher</span><span class="o">.</span><span class="n">stream</span><span class="p">(</span><span class="n">kube_client</span><span class="o">.</span><span class="n">list_namespaced_pod</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">,</span>
+                                    <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+            <span class="n">task</span> <span class="o">=</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;object&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Event: </span><span class="si">%s</span><span class="s1"> had an event of type </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span>
+            <span class="p">)</span>
+            <span class="k">if</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;ERROR&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">process_error</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">process_status</span><span class="p">(</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">task</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">phase</span><span class="p">,</span> <span class="n">task</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">labels</span><span class="p">,</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">resource_version</span>
+            <span class="p">)</span>
+            <span class="n">last_resource_version</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">metadata</span><span class="o">.</span><span class="n">resource_version</span>
+
+        <span class="k">return</span> <span class="n">last_resource_version</span>
+
+    <span class="k">def</span> <span class="nf">process_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+            <span class="s1">&#39;Encountered Error response from k8s list namespaced pod stream =&gt; </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">event</span>
+        <span class="p">)</span>
+        <span class="n">raw_object</span> <span class="o">=</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;raw_object&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">raw_object</span><span class="p">[</span><span class="s1">&#39;code&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">410</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Kubernetes resource version is too old, must reset to 0 =&gt; </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="n">raw_object</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span>
+            <span class="p">)</span>
+            <span class="c1"># Return resource version 0</span>
+            <span class="k">return</span> <span class="s1">&#39;0&#39;</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+            <span class="s1">&#39;Kubernetes failure for </span><span class="si">%s</span><span class="s1"> with code </span><span class="si">%s</span><span class="s1"> and message: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">raw_object</span><span class="p">[</span><span class="s1">&#39;reason&#39;</span><span class="p">],</span> <span class="n">raw_object</span><span class="p">[</span><span class="s1">&#39;code&#39;</span><span class="p">],</span> <span class="n">raw_object</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">process_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">,</span> <span class="n">status</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;Pending&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Event: </span><span class="si">%s</span><span class="s1"> Pending&#39;</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;Failed&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Event: </span><span class="si">%s</span><span class="s1"> Failed&#39;</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">pod_id</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;Succeeded&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Event: </span><span class="si">%s</span><span class="s1"> Succeeded&#39;</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">pod_id</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;Running&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Event: </span><span class="si">%s</span><span class="s1"> is Running&#39;</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                <span class="s1">&#39;Event: Invalid state: </span><span class="si">%s</span><span class="s1"> on pod: </span><span class="si">%s</span><span class="s1"> with labels: </span><span class="si">%s</span><span class="s1"> with &#39;</span>
+                <span class="s1">&#39;resource_version: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">status</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">resource_version</span>
+            <span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">AirflowKubernetesScheduler</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">kube_config</span><span class="p">,</span> <span class="n">task_queue</span><span class="p">,</span> <span class="n">result_queue</span><span class="p">,</span> <span class="n">kube_client</span><span class="p">,</span> <span class="n">worker_uuid</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Creating Kubernetes executor&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span> <span class="o">=</span> <span class="n">kube_config</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">kube_namespace</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Kubernetes using namespace </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span> <span class="o">=</span> <span class="n">kube_client</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">launcher</span> <span class="o">=</span> <span class="n">PodLauncher</span><span class="p">(</span><span class="n">kube_client</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_configuration</span> <span class="o">=</span> <span class="n">WorkerConfiguration</span><span class="p">(</span><span class="n">kube_config</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span> <span class="o">=</span> <span class="n">multiprocessing</span><span class="o">.</span><span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span> <span class="o">=</span> <span class="n">worker_uuid</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_watcher</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_make_kube_watcher</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">_make_kube_watcher</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">resource_version</span> <span class="o">=</span> <span class="n">KubeResourceVersion</span><span class="o">.</span><span class="n">get_current_resource_version</span><span class="p">()</span>
+        <span class="n">watcher</span> <span class="o">=</span> <span class="n">KubernetesJobWatcher</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span><span class="p">,</span>
+                                       <span class="n">resource_version</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span><span class="p">)</span>
+        <span class="n">watcher</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">watcher</span>
+
+    <span class="k">def</span> <span class="nf">_health_check_kube_watcher</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_watcher</span><span class="o">.</span><span class="n">is_alive</span><span class="p">():</span>
+            <span class="k">pass</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                <span class="s1">&#39;Error while health checking kube watcher process. &#39;</span>
+                <span class="s1">&#39;Process died for unknown reasons&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_watcher</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_make_kube_watcher</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">run_next</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">next_job</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+
+<span class="sd">        The run_next command will check the task_queue for any un-run jobs.</span>
+<span class="sd">        It will then create a unique job-id, launch that job in the cluster,</span>
+<span class="sd">        and store relevant info in the current_jobs map so we can track the job&#39;s</span>
+<span class="sd">        status</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Kubernetes job is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">next_job</span><span class="p">))</span>
+        <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">kube_executor_config</span> <span class="o">=</span> <span class="n">next_job</span>
+        <span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">try_number</span> <span class="o">=</span> <span class="n">key</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Kubernetes running for command </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">command</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Kubernetes launching image </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">kube_image</span><span class="p">)</span>
+        <span class="n">pod</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_configuration</span><span class="o">.</span><span class="n">make_pod</span><span class="p">(</span>
+            <span class="n">namespace</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">,</span> <span class="n">worker_uuid</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span><span class="p">,</span>
+            <span class="n">pod_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_create_pod_id</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">),</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span> <span class="n">try_number</span><span class="o">=</span><span class="n">try_number</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_datetime_to_label_safe_datestring</span><span class="p">(</span><span class="n">execution_date</span><span class="p">),</span>
+            <span class="n">airflow_command</span><span class="o">=</span><span class="n">command</span><span class="p">,</span> <span class="n">kube_executor_config</span><span class="o">=</span><span class="n">kube_executor_config</span>
+        <span class="p">)</span>
+        <span class="c1"># the watcher will monitor pods, so we do not block.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">launcher</span><span class="o">.</span><span class="n">run_pod_async</span><span class="p">(</span><span class="n">pod</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Kubernetes Job created!&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">delete_pod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">delete_worker_pods</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="o">.</span><span class="n">delete_namespaced_pod</span><span class="p">(</span>
+                    <span class="n">pod_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">client</span><span class="o">.</span><span class="n">V1DeleteOptions</span><span class="p">())</span>
+            <span class="k">except</span> <span class="n">ApiException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="c1"># If the pod is already deleted</span>
+                <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="mi">404</span><span class="p">:</span>
+                    <span class="k">raise</span>
+
+    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        The sync function checks the status of all currently running kubernetes jobs.</span>
+<span class="sd">        If a job is completed, it&#39;s status is placed in the result queue to</span>
+<span class="sd">        be sent back to the scheduler.</span>
+
+<span class="sd">        :return:</span>
+
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_health_check_kube_watcher</span><span class="p">()</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">process_watcher_task</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">process_watcher_task</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">pod_id</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">resource_version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">watcher_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Attempting to finish pod; pod_id: </span><span class="si">%s</span><span class="s1">; state: </span><span class="si">%s</span><span class="s1">; labels: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">pod_id</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">labels</span>
+        <span class="p">)</span>
+        <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_labels_to_key</span><span class="p">(</span><span class="n">labels</span><span class="o">=</span><span class="n">labels</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">key</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;finishing job </span><span class="si">%s</span><span class="s1"> - </span><span class="si">%s</span><span class="s1"> (</span><span class="si">%s</span><span class="s1">)&#39;</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">,< [...]
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">,</span> <span class="n">resource_version</span><span class="p">))</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_strip_unsafe_kubernetes_special_chars</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Kubernetes only supports lowercase alphanumeric characters and &quot;-&quot; and &quot;.&quot; in</span>
+<span class="sd">        the pod name</span>
+<span class="sd">        However, there are special rules about how &quot;-&quot; and &quot;.&quot; can be used so let&#39;s</span>
+<span class="sd">        only keep</span>
+<span class="sd">        alphanumeric chars  see here for detail:</span>
+<span class="sd">        https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</span>
+
+<span class="sd">        :param string: The requested Pod name</span>
+<span class="sd">        :return: ``str`` Pod name stripped of any unsafe characters</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">ch</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">for</span> <span class="n">ind</span><span class="p">,</span> <span class="n">ch</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">string</span><span class="p">)</span>  [...]
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_make_safe_pod_id</span><span class="p">(</span><span class="n">safe_dag_id</span><span class="p">,</span> <span class="n">safe_task_id</span><span class="p">,</span> <span class="n">safe_uuid</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for</span>
+<span class="sd">        validation</span>
+<span class="sd">        &quot;^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$&quot;</span>
+
+<span class="sd">        :param safe_dag_id: a dag_id with only alphanumeric characters</span>
+<span class="sd">        :param safe_task_id: a task_id with only alphanumeric characters</span>
+<span class="sd">        :param random_uuid: a uuid</span>
+<span class="sd">        :return: ``str`` valid Pod name of appropriate length</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">MAX_POD_ID_LEN</span> <span class="o">=</span> <span class="mi">253</span>
+
+        <span class="n">safe_key</span> <span class="o">=</span> <span class="n">safe_dag_id</span> <span class="o">+</span> <span class="n">safe_task_id</span>
+
+        <span class="n">safe_pod_id</span> <span class="o">=</span> <span class="n">safe_key</span><span class="p">[:</span><span class="n">MAX_POD_ID_LEN</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">safe_uuid</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="n">safe_uuid</span>
+
+        <span class="k">return</span> <span class="n">safe_pod_id</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_create_pod_id</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
+        <span class="n">safe_dag_id</span> <span class="o">=</span> <span class="n">AirflowKubernetesScheduler</span><span class="o">.</span><span class="n">_strip_unsafe_kubernetes_special_chars</span><span class="p">(</span>
+            <span class="n">dag_id</span><span class="p">)</span>
+        <span class="n">safe_task_id</span> <span class="o">=</span> <span class="n">AirflowKubernetesScheduler</span><span class="o">.</span><span class="n">_strip_unsafe_kubernetes_special_chars</span><span class="p">(</span>
+            <span class="n">task_id</span><span class="p">)</span>
+        <span class="n">safe_uuid</span> <span class="o">=</span> <span class="n">AirflowKubernetesScheduler</span><span class="o">.</span><span class="n">_strip_unsafe_kubernetes_special_chars</span><span class="p">(</span>
+            <span class="n">uuid4</span><span class="p">()</span><span class="o">.</span><span class="n">hex</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">AirflowKubernetesScheduler</span><span class="o">.</span><span class="n">_make_safe_pod_id</span><span class="p">(</span><span class="n">safe_dag_id</span><span class="p">,</span> <span class="n">safe_task_id</span><span class="p">,</span>
+                                                            <span class="n">safe_uuid</span><span class="p">)</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_label_safe_datestring_to_datetime</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Kubernetes doesn&#39;t permit &quot;:&quot; in labels. ISO datetime format uses &quot;:&quot; but not</span>
+<span class="sd">        &quot;_&quot;, let&#39;s</span>
+<span class="sd">        replace &quot;:&quot; with &quot;_&quot;</span>
+
+<span class="sd">        :param string: string</span>
+<span class="sd">        :return: datetime.datetime object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;_plus_&#39;</span><span class="p">,</span> <span class="s1">&#39;+&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;_&quot;</span><sp [...]
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_datetime_to_label_safe_datestring</span><span class="p">(</span><span class="n">datetime_obj</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Kubernetes doesn&#39;t like &quot;:&quot; in labels, since ISO datetime format uses &quot;:&quot; but</span>
+<span class="sd">        not &quot;_&quot; let&#39;s</span>
+<span class="sd">        replace &quot;:&quot; with &quot;_&quot;</span>
+<span class="sd">        :param datetime_obj: datetime.datetime object</span>
+<span class="sd">        :return: ISO-like string representing the datetime</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">datetime_obj</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;:&quot;</span><span class="p">,</span> <span class="s2">&quot;_&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;+&#39;</span><span class="p">,</span> [...]
+
+    <span class="k">def</span> <span class="nf">_labels_to_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">labels</span><span class="p">):</span>
+        <span class="n">try_num</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">try_num</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">labels</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;try_number&#39;</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">))</span>
+        <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;could not get try_number as an int: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">labels</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;try_number&#39;</span><span class="p">,</span> <span cl [...]
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="p">(</span>
+                <span class="n">labels</span><span class="p">[</span><span class="s1">&#39;dag_id&#39;</span><span class="p">],</span> <span class="n">labels</span><span class="p">[</span><span class="s1">&#39;task_id&#39;</span><span class="p">],</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_label_safe_datestring_to_datetime</span><span class="p">(</span><span class="n">labels</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]),</span>
+                <span class="n">try_num</span><span class="p">,</span>
+            <span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                <span class="s1">&#39;Error while converting labels to key; labels: </span><span class="si">%s</span><span class="s1">; exception: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="n">labels</span><span class="p">,</span> <span class="n">e</span>
+            <span class="p">)</span>
+            <span class="k">return</span> <span class="kc">None</span>
+
+
+<div class="viewcode-block" id="KubernetesExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">[docs]</a><span class="k">class</span> <span class="nc">KubernetesExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span> <span class="o">=</span> <span class="n">KubeConfig</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_scheduler</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">KubernetesExecutor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">parallelism</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">parallelism</span><span class="p">)</span>
+
+<div class="viewcode-block" id="KubernetesExecutor.clear_not_launched_queued_tasks"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">[docs]</a>    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">clear_not_launched_queued_tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        If the airflow scheduler restarts with pending &quot;Queued&quot; tasks, the tasks may or</span>
+<span class="sd">        may not</span>
+<span class="sd">        have been launched Thus, on starting up the scheduler let&#39;s check every</span>
+<span class="sd">        &quot;Queued&quot; task to</span>
+<span class="sd">        see if it has been launched (ie: if there is a corresponding pod on kubernetes)</span>
+
+<span class="sd">        If it has been launched then do nothing, otherwise reset the state to &quot;None&quot; so</span>
+<span class="sd">        the task</span>
+<span class="sd">        will be rescheduled</span>
+
+<span class="sd">        This will not be necessary in a future version of airflow in which there is</span>
+<span class="sd">        proper support</span>
+<span class="sd">        for State.LAUNCHED</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">queued_tasks</span> <span class="o">=</span> <span class="n">session</span>\
+            <span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TaskInstance</span><span class="p">)</span>\
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span><span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;When executor started up, found </span><span class="si">%s</span><span class="s1"> queued task instances&#39;</span><span class="p">,</span>
+            <span class="nb">len</span><span class="p">(</span><span class="n">queued_tasks</span><span class="p">)</span>
+        <span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">queued_tasks</span><span class="p">:</span>
+            <span class="n">dict_string</span> <span class="o">=</span> <span class="s2">&quot;dag_id=</span><span class="si">{}</span><span class="s2">,task_id=</span><span class="si">{}</span><span class="s2">,execution_date=</span><span class="si">{}</span><span class="s2">,airflow-worker=</span><span class="si">{}</span><span class="s2">&quot;</span> \
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+                        <span class="n">AirflowKubernetesScheduler</span><span class="o">.</span><span class="n">_datetime_to_label_safe_datestring</span><span class="p">(</span>
+                            <span class="n">task</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span><span class="p">)</span>
+            <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label_selector</span><span class="o">=</span><span class="n">dict_string</span><span class="p">)</span>
+            <span class="n">pod_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="o">.</span><span class="n">list_namespaced_pod</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">kube_namespace</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">pod_list</span><span class="o">.</span><span class="n">items</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;TaskInstance: </span><span class="si">%s</span><span class="s1"> found in queued state but was not launched, &#39;</span>
+                    <span class="s1">&#39;rescheduling&#39;</span><span class="p">,</span> <span class="n">task</span>
+                <span class="p">)</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TaskInstance</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                    <span class="n">TaskInstance</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                    <span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+                    <span class="n">TaskInstance</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">execution_date</span>
+                <span class="p">)</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span><span class="p">:</span> <span class="n">State</span><span class="o">.</span><span class="n">NONE</span><span class="p">})</span></div>
+
+    <span class="k">def</span> <span class="nf">_inject_secrets</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">def</span> <span class="nf">_create_or_update_secret</span><span class="p">(</span><span class="n">secret_name</span><span class="p">,</span> <span class="n">secret_path</span><span class="p">):</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="o">.</span><span class="n">create_namespaced_secret</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">executor_namespace</span><span class="p">,</span> <span class="n">kubernetes</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">V1Secret</span><span class="p">(</span>
+                        <span class="n">data</span><span class="o">=</span><span class="p">{</span>
+                            <span class="s1">&#39;key.json&#39;</span><span class="p">:</span> <span class="n">base64</span><span class="o">.</span><span class="n">b64encode</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">secret_path</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())},</span>
+                        <span class="n">metadata</span><span class="o">=</span><span class="n">kubernetes</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">V1ObjectMeta</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">secret_name</span><span class="p">)))</span>
+            <span class="k">except</span> <span class="n">ApiException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">409</span><span class="p">:</span>
+                    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="o">.</span><span class="n">replace_namespaced_secret</span><span class="p">(</span>
+                        <span class="n">secret_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">executor_namespace</span><span class="p">,</span>
+                        <span class="n">kubernetes</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">V1Secret</span><span class="p">(</span>
+                            <span class="n">data</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;key.json&#39;</span><span class="p">:</span> <span class="n">base64</span><span class="o">.</span><span class="n">b64encode</span><span class="p">(</span>
+                                <span class="nb">open</span><span class="p">(</span><span class="n">secret_path</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())},</span>
+                            <span class="n">metadata</span><span class="o">=</span><span class="n">kubernetes</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">V1ObjectMeta</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">secret_name</span><span class="p">)))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span>
+                    <span class="s1">&#39;Exception while trying to inject secret. &#39;</span>
+                    <span class="s1">&#39;Secret name: </span><span class="si">%s</span><span class="s1">, error details: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">secret_name</span><span class="p">,</span> <span class="n">e</span>
+                <span class="p">)</span>
+                <span class="k">raise</span>
+
+        <span class="c1"># For each GCP service account key, inject it as a secret in executor</span>
+        <span class="c1"># namespace with the specific secret name configured in the airflow.cfg.</span>
+        <span class="c1"># We let exceptions to pass through to users.</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">gcp_service_account_keys</span><span class="p">:</span>
+            <span class="n">name_path_pair_list</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="p">{</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="n">account_spec</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;=&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span>
+                 <span class="s1">&#39;path&#39;</span><span class="p">:</span> <span class="n">account_spec</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;=&#39;</span><span class="p">)[</span><span class="mi">1</span><span class="p">]}</span>
+                <span class="k">for</span> <span class="n">account_spec</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="o">.</span><span class="n">gcp_service_account_keys</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
+            <span class="k">for</span> <span class="n">service_account</span> <span class="ow">in</span> <span class="n">name_path_pair_list</span><span class="p">:</span>
+                <span class="n">_create_or_update_secret</span><span class="p">(</span><span class="n">service_account</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="n">service_account</span><span class="p">[</span><span class="s1">&#39;path&#39;</span><span class="p">])</span>
+
+<div class="viewcode-block" id="KubernetesExecutor.start"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">[docs]</a>    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Start Kubernetes executor&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span> <span class="o">=</span> <span class="n">KubeWorkerIdentifier</span><span class="o">.</span><span class="n">get_or_create_current_kube_worker_uuid</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Start with worker_uuid: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span><span class="p">)</span>
+        <span class="c1"># always need to reset resource version since we don&#39;t know</span>
+        <span class="c1"># when we last started, note for behavior below</span>
+        <span class="c1"># https://github.com/kubernetes-client/python/blob/master/kubernetes/docs</span>
+        <span class="c1"># /CoreV1Api.md#list_namespaced_pod</span>
+        <span class="n">KubeResourceVersion</span><span class="o">.</span><span class="n">reset_resource_version</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span> <span class="o">=</span> <span class="n">get_kube_client</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_scheduler</span> <span class="o">=</span> <span class="n">AirflowKubernetesScheduler</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_config</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_client</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_uuid</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_inject_secrets</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">clear_not_launched_queued_tasks</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="KubernetesExecutor.execute_async"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">[docs]</a>    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><spa [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Add task </span><span class="si">%s</span><span class="s1"> with command </span><span class="si">%s</span><span class="s1"> with executor_config </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">executor_config</span>
+        <span class="p">)</span>
+        <span class="n">kube_executor_config</span> <span class="o">=</span> <span class="n">KubernetesExecutorConfig</span><span class="o">.</span><span class="n">from_dict</span><span class="p">(</span><span class="n">executor_config</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">kube_executor_config</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="KubernetesExecutor.sync"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">[docs]</a>    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">running</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;self.running: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">queued_tasks</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;self.queued: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">queued_tasks</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kube_scheduler</span><span class="o">.</span><span class="n">sync</span><span class="p">()</span>
+
+        <span class="n">last_resource_version</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">,</span> <span class="n">resource_version</span> <span class="o">=</span> <span class="n">results</span>
+            <span class="n">last_resource_version</span> <span class="o">=</span> <span class="n">resource_version</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Changing state of </span><span class="si">%s</span><span class="s1"> to </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">results</span><span class="p">,</span> <span class="n">state</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_change_state</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">)</span>
+
+        <span class="n">KubeResourceVersion</span><span class="o">.</span><span class="n">checkpoint_resource_version</span><span class="p">(</span><span class="n">last_resource_version</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">kube_executor_config</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_scheduler</span><span class="o">.</span><span class="n">run_next</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">kube_executor_config</span><span class="p">))</span></div>
+
+    <span class="k">def</span> <span class="nf">_change_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">pod_id</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">kube_scheduler</span><span class="o">.</span><span class="n">delete_pod</span><span class="p">(</span><span class="n">pod_id</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleted pod: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">running</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Could not find key: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
+                <span class="k">pass</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">event_buffer</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">state</span>
+        <span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">ex_time</span><span class="p">,</span> <span class="n">try_number</span><span class="p">)</span> <span class="o">=</span> <span class="n">key</span>
+        <span class="k">with</span> <span class="n">create_session</span><span class="p">()</span> <span class="k">as</span> <span class="n">session</span><span class="p">:</span>
+            <span class="n">item</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TaskInstance</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span>
+                <span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">,</span>
+                <span class="n">task_id</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span>
+                <span class="n">execution_date</span><span class="o">=</span><span class="n">ex_time</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">one</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
+                <span class="n">item</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+
+<div class="viewcode-block" id="KubernetesExecutor.end"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">[docs]</a>    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Shutting down Kubernetes executor&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/executors/mesos_executor.html b/1.10.2/_modules/airflow/contrib/executors/mesos_executor.html
new file mode 100644
index 0000000..ec4460f
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/executors/mesos_executor.html
@@ -0,0 +1,549 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.executors.mesos_executor</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.executors.mesos_executor</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.www.utils</span> <span class="k">import</span> <span class="n">LoginMixin</span>
+
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
+
+<span class="kn">import</span> <span class="nn">mesos.interface</span>
+<span class="kn">from</span> <span class="nn">mesos.interface</span> <span class="k">import</span> <span class="n">mesos_pb2</span>
+<span class="kn">import</span> <span class="nn">mesos.native</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.settings</span> <span class="k">import</span> <span class="n">Session</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
+<span class="n">DEFAULT_FRAMEWORK_NAME</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
+<span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;mesos_framework_&#39;</span>
+
+
+<span class="k">def</span> <span class="nf">get_framework_name</span><span class="p">():</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">DEFAULT_FRAMEWORK_NAME</span>
+    <span class="k">return</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">)</span>
+
+
+<span class="c1"># AirflowMesosScheduler, implements Mesos Scheduler interface</span>
+<span class="c1"># To schedule airflow jobs on mesos</span>
+<span class="k">class</span> <span class="nc">AirflowMesosScheduler</span><span class="p">(</span><span class="n">mesos</span><span class="o">.</span><span class="n">interface</span><span class="o">.</span><span class="n">Scheduler</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Airflow Mesos scheduler implements mesos scheduler interface</span>
+<span class="sd">    to schedule airflow tasks on mesos.</span>
+<span class="sd">    Basically, it schedules a command like</span>
+<span class="sd">    &#39;airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; --local -p=&lt;pickle&gt;&#39;</span>
+<span class="sd">    to run on a mesos slave.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">task_queue</span><span class="p">,</span>
+                 <span class="n">result_queue</span><span class="p">,</span>
+                 <span class="n">task_cpu</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
+                 <span class="n">task_mem</span><span class="o">=</span><span class="mi">256</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="o">=</span> <span class="n">task_cpu</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span> <span class="o">=</span> <span class="n">task_mem</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                      <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> \
+                <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
+            <span class="c1"># Import here to work around a circular import error</span>
+            <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
+
+            <span class="c1"># Update the Framework ID in the database.</span>
+            <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
+            <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">get_framework_name</span><span class="p">()</span>
+            <span class="n">connection</span> <span class="o">=</span> <span class="n">Session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="s1">&#39;mesos_framework-id&#39;</span><span class="p">,</span>
+                                        <span class="n">extra</span><span class="o">=</span><span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span>
+
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">connection</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="n">Session</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">reregistered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler re-registered to mesos&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">disconnected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler disconnected from mesos&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">offerRescinded</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offerId</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler offer </span><span class="si">%s</span><span class="s2"> rescinded&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">offerId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">frameworkMessage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler received framework message </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">executorLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">status</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler executor </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">executorId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">slaveLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler slave </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">slaveId</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">resourceOffers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offers</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">offer</span> <span class="ow">in</span> <span class="n">offers</span><span class="p">:</span>
+            <span class="n">tasks</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="n">offerCpus</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="n">offerMem</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">for</span> <span class="n">resource</span> <span class="ow">in</span> <span class="n">offer</span><span class="o">.</span><span class="n">resources</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;cpus&quot;</span><span class="p">:</span>
+                    <span class="n">offerCpus</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
+                <span class="k">elif</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;mem&quot;</span><span class="p">:</span>
+                    <span class="n">offerMem</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                          <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">offerCpus</span><span class="p">,</span> <span class="n">offerMem</span><span class="p">)</span>
+
+            <span class="n">remainingCpus</span> <span class="o">=</span> <span class="n">offerCpus</span>
+            <span class="n">remainingMem</span> <span class="o">=</span> <span class="n">offerMem</span>
+
+            <span class="k">while</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">())</span> <span class="ow">and</span> \
+                    <span class="n">remainingCpus</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="ow">and</span> \
+                    <span class="n">remainingMem</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span><span class="p">:</span>
+                <span class="n">key</span><span class="p">,</span> <span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+                <span class="n">tid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">+=</span> <span class="mi">1</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)]</span> <span class="o">=</span> <span class="n">key</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Launching task </span><span class="si">%d</span><span class="s2"> using offer </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">tid</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span  [...]
+
+                <span class="n">task</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskInfo</span><span class="p">()</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">offer</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;AirflowTask </span><span class="si">%d</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">tid</span>
+
+                <span class="n">cpus</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;cpus&quot;</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
+                <span class="n">cpus</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
+
+                <span class="n">mem</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;mem&quot;</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
+                <span class="n">mem</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
+
+                <span class="n">command</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">CommandInfo</span><span class="p">()</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">shell</span> <span class="o">=</span> <span class="kc">True</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">cmd</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
+
+                <span class="c1"># If docker image for airflow is specified in config then pull that</span>
+                <span class="c1"># image before running the above airflow command</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">:</span>
+                    <span class="n">network</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="o">.</span><span class="n">Network</span><span class="o">.</span><span class="n">Value</span><span class="p">(</span><span class="s1">&#39;BRIDGE&#39;</span><span class="p">)</span>
+                    <span class="n">docker</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="p">(</span>
+                        <span class="n">image</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">,</span>
+                        <span class="n">force_pull_image</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                        <span class="n">network</span><span class="o">=</span><span class="n">network</span>
+                    <span class="p">)</span>
+                    <span class="n">container</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="p">(</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">,</span>
+                        <span class="n">docker</span><span class="o">=</span><span class="n">docker</span>
+                    <span class="p">)</span>
+                    <span class="n">task</span><span class="o">.</span><span class="n">container</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">container</span><span class="p">)</span>
+
+                <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+
+                <span class="n">remainingCpus</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
+                <span class="n">remainingMem</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
+
+            <span class="n">driver</span><span class="o">.</span><span class="n">launchTasks</span><span class="p">(</span><span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="n">tasks</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">statusUpdate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">update</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Task </span><span class="si">%s</span><span class="s2"> is in state </span><span class="si">%s</span><span class="s2">, data </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+            <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskState</span><span class="o">.</span><span class="n">Name</span><span class="p">(</span><span class="n">update</span><span class="o">.</span><span class="n">state</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span [...]
+        <span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
+        <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
+            <span class="c1"># The map may not contain an item if the framework re-registered</span>
+            <span class="c1"># after a failover.</span>
+            <span class="c1"># Discard these tasks.</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="k">return</span>
+
+        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_LOST</span> <span class="ow">or</span> \
+           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_KILLED</span> <span class="ow">or</span> \
+           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FAILED</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+
+
+<div class="viewcode-block" id="MesosExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">[docs]</a><span class="k">class</span> <span class="nc">MesosExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">,</span> <span class="n">LoginMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    MesosExecutor allows distributing the execution of task</span>
+<span class="sd">    instances to multiple mesos workers.</span>
+
+<span class="sd">    Apache Mesos is a distributed systems kernel which abstracts</span>
+<span class="sd">    CPU, memory, storage, and other compute resources away from</span>
+<span class="sd">    machines (physical or virtual), enabling fault-tolerant and</span>
+<span class="sd">    elastic distributed systems to easily be built and run effectively.</span>
+<span class="sd">    See http://mesos.apache.org/</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+<div class="viewcode-block" id="MesosExecutor.start"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.start">[docs]</a>    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
+        <span class="n">framework</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">FrameworkInfo</span><span class="p">()</span>
+        <span class="n">framework</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.master not provided for mesos executor&quot;</span><span class="p">)</span>
+
+        <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
+
+        <span class="n">framework</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">get_framework_name</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">):</span>
+            <span class="n">task_cpu</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">task_cpu</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">):</span>
+            <span class="n">task_memory</span> <span class="o">=</span> <span class="mi">256</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">True</span>
+
+            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
+                <span class="c1"># Import here to work around a circular import error</span>
+                <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
+
+                <span class="c1"># Query the database to get the ID of the Mesos Framework, if available.</span>
+                <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span>
+                <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
+                <span class="n">connection</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p [...]
+                <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="c1"># Set the Framework ID to let the scheduler reconnect</span>
+                    <span class="c1"># with running tasks.</span>
+                    <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
+
+                <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
+                    <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span>
+                <span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
+            <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span><span class="p">)</span>
+        <span class="p">)</span>
+
+        <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
+
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
+
+            <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">secret</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">)</span>
+
+            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">credential</span><span class="o">.</span><span class="n">principal</span>
+
+            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
+                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
+                                      <span class="n">task_cpu</span><span class="p">,</span>
+                                      <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">framework</span><span class="p">,</span>
+                <span class="n">master</span><span class="p">,</span>
+                <span class="n">implicit_acknowledgements</span><span class="p">,</span>
+                <span class="n">credential</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
+            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
+                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
+                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
+                                      <span class="n">task_cpu</span><span class="p">,</span>
+                                      <span class="n">task_memory</span><span class="p">),</span>
+                <span class="n">framework</span><span class="p">,</span>
+                <span class="n">master</span><span class="p">,</span>
+                <span class="n">implicit_acknowledgements</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="MesosExecutor.execute_async"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">[docs]</a>    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</ [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="MesosExecutor.sync"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.sync">[docs]</a>    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="MesosExecutor.end"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.end">[docs]</a>    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_athena_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_athena_hook.html
new file mode 100644
index 0000000..a310379
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_athena_hook.html
@@ -0,0 +1,369 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_athena_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_athena_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_athena_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">time</span> <span class="k">import</span> <span class="n">sleep</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AWSAthenaHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook">[docs]</a><span class="k">class</span> <span class="nc">AWSAthenaHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS Athena to run, poll queries and return query results</span>
+
+<span class="sd">    :param aws_conn_id: aws connection to use.</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    :param sleep_time: Time to wait between two consecutive call to check query status on athena</span>
+<span class="sd">    :type sleep_time: int</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">INTERMEDIATE_STATES</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;QUEUED&#39;</span><span class="p">,</span> <span class="s1">&#39;RUNNING&#39;</span><span class="p">,)</span>
+    <span class="n">FAILURE_STATES</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;FAILED&#39;</span><span class="p">,</span> <span class="s1">&#39;CANCELLED&#39;</span><span class="p">,)</span>
+    <span class="n">SUCCESS_STATES</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">,)</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;aws_default&#39;</span><span class="p">,</span> <span class="n">sleep_time</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n" [...]
+        <span class="nb">super</span><span class="p">(</span><span class="n">AWSAthenaHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sleep_time</span> <span class="o">=</span> <span class="n">sleep_time</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="AWSAthenaHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        check if aws conn exists already or create one and return it</span>
+
+<span class="sd">        :return: boto3 session</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;athena&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="AWSAthenaHook.run_query"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query">[docs]</a>    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query</span><span class="p">,</span> <span class="n">query_context</span><span class="p">,</span> <span class="n">result_configuration</span><span class [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Run Presto query on athena with provided config and return submitted query_execution_id</span>
+
+<span class="sd">        :param query: Presto query to run</span>
+<span class="sd">        :type query: str</span>
+<span class="sd">        :param query_context: Context in which query need to be run</span>
+<span class="sd">        :type query_context: dict</span>
+<span class="sd">        :param result_configuration: Dict with path to store results in and config related to encryption</span>
+<span class="sd">        :type result_configuration: dict</span>
+<span class="sd">        :param client_request_token: Unique token created by user to avoid multiple executions of same query</span>
+<span class="sd">        :type client_request_token: str</span>
+<span class="sd">        :return: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">start_query_execution</span><span class="p">(</span><span class="n">QueryString</span><span class="o">=</span><span class="n">query</span><span class="p">,</span>
+                                                   <span class="n">ClientRequestToken</span><span class="o">=</span><span class="n">client_request_token</span><span class="p">,</span>
+                                                   <span class="n">QueryExecutionContext</span><span class="o">=</span><span class="n">query_context</span><span class="p">,</span>
+                                                   <span class="n">ResultConfiguration</span><span class="o">=</span><span class="n">result_configuration</span><span class="p">)</span>
+        <span class="n">query_execution_id</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;QueryExecutionId&#39;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">query_execution_id</span></div>
+
+<div class="viewcode-block" id="AWSAthenaHook.check_query_status"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status">[docs]</a>    <span class="k">def</span> <span class="nf">check_query_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query_execution_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch the status of submitted athena query. Returns None or one of valid query states.</span>
+
+<span class="sd">        :param query_execution_id: Id of submitted athena query</span>
+<span class="sd">        :type query_execution_id: str</span>
+<span class="sd">        :return: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">get_query_execution</span><span class="p">(</span><span class="n">QueryExecutionId</span><span class="o">=</span><span class="n">query_execution_id</span><span class="p">)</span>
+        <span class="n">state</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;QueryExecution&#39;</span><span class="p">][</span><span class="s1">&#39;Status&#39;</span><span class="p">][</span><span class="s1">&#39;State&#39;</span><span class="p">]</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Exception while getting query state&#39;</span><span class="p">,</span> <span class="n">ex</span><span class="p">)</span>
+        <span class="k">finally</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">state</span></div>
+
+<div class="viewcode-block" id="AWSAthenaHook.get_query_results"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results">[docs]</a>    <span class="k">def</span> <span class="nf">get_query_results</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query_execution_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch submitted athena query results. returns none if query is in intermediate state or</span>
+<span class="sd">        failed/cancelled state else dict of query output</span>
+
+<span class="sd">        :param query_execution_id: Id of submitted athena query</span>
+<span class="sd">        :type query_execution_id: str</span>
+<span class="sd">        :return: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">query_state</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_query_status</span><span class="p">(</span><span class="n">query_execution_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">query_state</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Invalid Query state&#39;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">None</span>
+        <span class="k">elif</span> <span class="n">query_state</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">INTERMEDIATE_STATES</span> <span class="ow">or</span> <span class="n">query_state</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">FAILURE_STATES</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Query is in </span><span class="si">{state}</span><span class="s1"> state. Cannot fetch results&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state</span><span class="o">=</span><span class="n">query_state</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">None</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">get_query_results</span><span class="p">(</span><span class="n">QueryExecutionId</span><span class="o">=</span><span class="n">query_execution_id</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AWSAthenaHook.poll_query_status"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status">[docs]</a>    <span class="k">def</span> <span class="nf">poll_query_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query_execution_id</span><span class="p">,</span> <span class="n">max_tries</span><span class="o">=</span><span class="kc">None< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Poll the status of submitted athena query until query state reaches final state.</span>
+<span class="sd">        Returns one of the final states</span>
+
+<span class="sd">        :param query_execution_id: Id of submitted athena query</span>
+<span class="sd">        :type query_execution_id: str</span>
+<span class="sd">        :param max_tries: Number of times to poll for query state before function exits</span>
+<span class="sd">        :type max_tries: int</span>
+<span class="sd">        :return: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">try_number</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="n">final_query_state</span> <span class="o">=</span> <span class="kc">None</span>  <span class="c1"># Query state when query reaches final state or max_tries reached</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">query_state</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_query_status</span><span class="p">(</span><span class="n">query_execution_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">query_state</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Trial </span><span class="si">{try_number}</span><span class="s1">: Invalid query state. Retrying again&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">try_number</span><span class="o">=</span><span class="n">try_number</span><span class="p">))</span>
+            <span class="k">elif</span> <span class="n">query_state</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">INTERMEDIATE_STATES</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Trial </span><span class="si">{try_number}</span><span class="s1">: Query is still in an intermediate state - </span><span class="si">{state}</span><span class="s1">&#39;</span>
+                              <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">try_number</span><span class="o">=</span><span class="n">try_number</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">query_state</span><span class="p">))</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Trial </span><span class="si">{try_number}</span><span class="s1">: Query execution completed. Final state is </span><span class="si">{state}</span><span class="s1">&#39;</span>
+                              <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">try_number</span><span class="o">=</span><span class="n">try_number</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">query_state</span><span class="p">))</span>
+                <span class="n">final_query_state</span> <span class="o">=</span> <span class="n">query_state</span>
+                <span class="k">break</span>
+            <span class="k">if</span> <span class="n">max_tries</span> <span class="ow">and</span> <span class="n">try_number</span> <span class="o">&gt;=</span> <span class="n">max_tries</span><span class="p">:</span>  <span class="c1"># Break loop if max_tries reached</span>
+                <span class="n">final_query_state</span> <span class="o">=</span> <span class="n">query_state</span>
+                <span class="k">break</span>
+            <span class="n">try_number</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sleep_time</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">final_query_state</span></div>
+
+<div class="viewcode-block" id="AWSAthenaHook.stop_query"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query">[docs]</a>    <span class="k">def</span> <span class="nf">stop_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query_execution_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Cancel the submitted athena query</span>
+
+<span class="sd">        :param query_execution_id: Id of submitted athena query</span>
+<span class="sd">        :type query_execution_id: str</span>
+<span class="sd">        :return: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">stop_query_execution</span><span class="p">(</span><span class="n">QueryExecutionId</span><span class="o">=</span><span class="n">query_execution_id</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
new file mode 100644
index 0000000..3563f0d
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -0,0 +1,288 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_dynamodb_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_dynamodb_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsDynamoDBHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">[docs]</a><span class="k">class</span> <span class="nc">AwsDynamoDBHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS DynamoDB.</span>
+
+<span class="sd">    :param table_keys: partition key and sort key</span>
+<span class="sd">    :type table_keys: list</span>
+<span class="sd">    :param table_name: target DynamoDB table</span>
+<span class="sd">    :type table_name: str</span>
+<span class="sd">    :param region_name: aws region name (example: us-east-1)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">table_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">table_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">table_keys</span> <span class="o">=</span> <span class="n">table_keys</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">table_name</span> <span class="o">=</span> <span class="n">table_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsDynamoDBHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;dynamodb&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+
+<div class="viewcode-block" id="AwsDynamoDBHook.write_batch_data"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">[docs]</a>    <span class="k">def</span> <span class="nf">write_batch_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">items</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Write batch items to dynamodb table with provisioned throughout capacity.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">dynamodb_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">table</span> <span class="o">=</span> <span class="n">dynamodb_conn</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">table_name</span><span class="p">)</span>
+
+            <span class="k">with</span> <span class="n">table</span><span class="o">.</span><span class="n">batch_writer</span><span class="p">(</span><span class="n">overwrite_by_pkeys</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">table_keys</span><span class="p">)</span> <span class="k">as</span> <span class="n">batch</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">items</span><span class="p">:</span>
+                    <span class="n">batch</span><span class="o">.</span><span class="n">put_item</span><span class="p">(</span><span class="n">Item</span><span class="o">=</span><span class="n">item</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">general_error</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Failed to insert items in dynamodb, error: </span><span class="si">{error}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">error</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">general_error</span><span class="p">)</span>
+                <span class="p">)</span>
+            <span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_firehose_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_firehose_hook.html
new file mode 100644
index 0000000..feb126a
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_firehose_hook.html
@@ -0,0 +1,275 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_firehose_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_firehose_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsFirehoseHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">[docs]</a><span class="k">class</span> <span class="nc">AwsFirehoseHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS Kinesis Firehose.</span>
+<span class="sd">    :param delivery_stream: Name of the delivery stream</span>
+<span class="sd">    :type delivery_stream: str</span>
+<span class="sd">    :param region_name: AWS region name (example: us-east-1)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delivery_stream</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delivery_stream</span> <span class="o">=</span> <span class="n">delivery_stream</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsFirehoseHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="AwsFirehoseHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns AwsHook connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;firehose&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="AwsFirehoseHook.put_records"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">[docs]</a>    <span class="k">def</span> <span class="nf">put_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">records</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Write batch records to Kinesis Firehose</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">firehose_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">firehose_conn</span><span class="o">.</span><span class="n">put_record_batch</span><span class="p">(</span>
+            <span class="n">DeliveryStreamName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delivery_stream</span><span class="p">,</span>
+            <span class="n">Records</span><span class="o">=</span><span class="n">records</span>
+        <span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">response</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
new file mode 100644
index 0000000..e2403e0
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
@@ -0,0 +1,337 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_glue_catalog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_glue_catalog_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_glue_catalog_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsGlueCatalogHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook">[docs]</a><span class="k">class</span> <span class="nc">AwsGlueCatalogHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS Glue Catalog</span>
+
+<span class="sd">    :param aws_conn_id: ID of the Airflow connection where</span>
+<span class="sd">        credentials and extra configuration are stored</span>
+<span class="sd">    :type aws_conn_id: str</span>
+<span class="sd">    :param region_name: aws region name (example: us-east-1)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;aws_default&#39;</span><span class="p">,</span>
+                 <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsGlueCatalogHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="n">aws_conn_id</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n" [...]
+
+<div class="viewcode-block" id="AwsGlueCatalogHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns glue connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;glue&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="AwsGlueCatalogHook.get_partitions"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_partitions">[docs]</a>    <span class="k">def</span> <span class="nf">get_partitions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                       <span class="n">database_name</span><span class="p">,</span>
+                       <span class="n">table_name</span><span class="p">,</span>
+                       <span class="n">expression</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span>
+                       <span class="n">page_size</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                       <span class="n">max_items</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves the partition values for a table.</span>
+
+<span class="sd">        :param database_name: The name of the catalog database where the partitions reside.</span>
+<span class="sd">        :type database_name: str</span>
+<span class="sd">        :param table_name: The name of the partitions&#39; table.</span>
+<span class="sd">        :type table_name: str</span>
+<span class="sd">        :param expression: An expression filtering the partitions to be returned.</span>
+<span class="sd">            Please see official AWS documentation for further information.</span>
+<span class="sd">            https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions</span>
+<span class="sd">        :type expression: str</span>
+<span class="sd">        :param page_size: pagination size</span>
+<span class="sd">        :type page_size: int</span>
+<span class="sd">        :param max_items: maximum items to return</span>
+<span class="sd">        :type max_items: int</span>
+<span class="sd">        :return: set of partition values where each value is a tuple since</span>
+<span class="sd">            a partition may be composed of multiple columns. For example:</span>
+<span class="sd">        {(&#39;2018-01-01&#39;,&#39;1&#39;), (&#39;2018-01-01&#39;,&#39;2&#39;)}</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;PageSize&#39;</span><span class="p">:</span> <span class="n">page_size</span><span class="p">,</span>
+            <span class="s1">&#39;MaxItems&#39;</span><span class="p">:</span> <span class="n">max_items</span><span class="p">,</span>
+        <span class="p">}</span>
+
+        <span class="n">paginator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">get_paginator</span><span class="p">(</span><span class="s1">&#39;get_partitions&#39;</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">paginator</span><span class="o">.</span><span class="n">paginate</span><span class="p">(</span>
+            <span class="n">DatabaseName</span><span class="o">=</span><span class="n">database_name</span><span class="p">,</span>
+            <span class="n">TableName</span><span class="o">=</span><span class="n">table_name</span><span class="p">,</span>
+            <span class="n">Expression</span><span class="o">=</span><span class="n">expression</span><span class="p">,</span>
+            <span class="n">PaginationConfig</span><span class="o">=</span><span class="n">config</span>
+        <span class="p">)</span>
+
+        <span class="n">partitions</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">page</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">page</span><span class="p">[</span><span class="s1">&#39;Partitions&#39;</span><span class="p">]:</span>
+                <span class="n">partitions</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="nb">tuple</span><span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="s1">&#39;Values&#39;</span><span class="p">]))</span>
+
+        <span class="k">return</span> <span class="n">partitions</span></div>
+
+<div class="viewcode-block" id="AwsGlueCatalogHook.check_for_partition"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_partition">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_partition</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">database_name</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks whether a partition exists</span>
+
+<span class="sd">        :param database_name: Name of hive database (schema) @table belongs to</span>
+<span class="sd">        :type database_name: str</span>
+<span class="sd">        :param table_name: Name of hive table @partition belongs to</span>
+<span class="sd">        :type table_name: str</span>
+<span class="sd">        :expression: Expression that matches the partitions to check for</span>
+<span class="sd">            (eg `a = &#39;b&#39; AND c = &#39;d&#39;`)</span>
+<span class="sd">        :type expression: str</span>
+<span class="sd">        :rtype: bool</span>
+
+<span class="sd">        &gt;&gt;&gt; hook = AwsGlueCatalogHook()</span>
+<span class="sd">        &gt;&gt;&gt; t = &#39;static_babynames_partitioned&#39;</span>
+<span class="sd">        &gt;&gt;&gt; hook.check_for_partition(&#39;airflow&#39;, t, &quot;ds=&#39;2015-01-01&#39;&quot;)</span>
+<span class="sd">        True</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">partitions</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_partitions</span><span class="p">(</span><span class="n">database_name</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">max_items</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">partitions</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_hook.html
new file mode 100644
index 0000000..eb874a2
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_hook.html
@@ -0,0 +1,424 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">boto3</span>
+<span class="kn">import</span> <span class="nn">configparser</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<span class="k">def</span> <span class="nf">_parse_s3_config</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">,</span> <span class="n">config_format</span><span class="o">=</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="n">profile</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Parses a config file for s3 credentials. Can currently</span>
+<span class="sd">    parse boto, s3cmd.conf and AWS SDK config formats</span>
+
+<span class="sd">    :param config_file_name: path to the config file</span>
+<span class="sd">    :type config_file_name: str</span>
+<span class="sd">    :param config_format: config type. One of &quot;boto&quot;, &quot;s3cmd&quot; or &quot;aws&quot;.</span>
+<span class="sd">        Defaults to &quot;boto&quot;</span>
+<span class="sd">    :type config_format: str</span>
+<span class="sd">    :param profile: profile name in AWS type config file</span>
+<span class="sd">    :type profile: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">config</span> <span class="o">=</span> <span class="n">configparser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">sections</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">sections</span><span class="p">()</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Couldn&#39;t read </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">))</span>
+    <span class="c1"># Setting option names depending on file format</span>
+    <span class="k">if</span> <span class="n">config_format</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">config_format</span> <span class="o">=</span> <span class="s1">&#39;boto&#39;</span>
+    <span class="n">conf_format</span> <span class="o">=</span> <span class="n">config_format</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;boto&#39;</span><span class="p">:</span>  <span class="c1"># pragma: no cover</span>
+        <span class="k">if</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;Credentials&#39;</span>
+    <span class="k">elif</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;aws&#39;</span> <span class="ow">and</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="n">profile</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;default&#39;</span>
+    <span class="c1"># Option names</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="s1">&#39;aws&#39;</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;aws_access_key_id&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span>
+        <span class="c1"># security_token_option = &#39;aws_security_token&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;access_key&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;secret_key&#39;</span>
+    <span class="c1"># Actual Parsing</span>
+    <span class="k">if</span> <span class="n">cred_section</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;This config file format is not recognized&quot;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">access_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">key_id_option</span><span class="p">)</span>
+            <span class="n">secret_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">secret_key_option</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Option Error in parsing s3 config file&quot;</span><span class="p">)</span>
+            <span class="k">raise</span>
+        <span class="k">return</span> <span class="n">access_key</span><span class="p">,</span> <span class="n">secret_key</span>
+
+
+<div class="viewcode-block" id="AwsHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook">[docs]</a><span class="k">class</span> <span class="nc">AwsHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS.</span>
+<span class="sd">    This class is a thin wrapper around the boto3 python library.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;aws_default&#39;</span><span class="p">,</span> <span class="n">verify</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">verify</span> <span class="o">=</span> <span class="n">verify</span>
+
+    <span class="k">def</span> <span class="nf">_get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="p">):</span>
+        <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">aws_session_token</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">endpoint_url</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">connection_object</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                <span class="n">extra_config</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span>
+                <span class="k">if</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">password</span>
+
+                <span class="k">elif</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">extra_config</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="p">[</span>
+                        <span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">extra_config</span><span class="p">[</span>
+                        <span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
+
+                <span class="k">elif</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="n">extra_config</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span><span class="p">,</span> <span class="n">aws_secret_access_key</span> <span class="o">=</span> \
+                        <span class="n">_parse_s3_config</span><span class="p">(</span>
+                            <span class="n">extra_config</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
+                            <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">),</span>
+                            <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;profile&#39;</span><span class="p">))</span>
+
+                <span class="k">if</span> <span class="n">region_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">region_name</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;region_name&#39;</span><span class="p">)</span>
+
+                <span class="n">role_arn</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span>
+                <span class="n">external_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;external_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_account_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_iam_role</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">aws_account_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> \
+                        <span class="n">aws_iam_role</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">role_arn</span> <span class="o">=</span> <span class="s2">&quot;arn:aws:iam::</span><span class="si">{}</span><span class="s2">:role/</span><span class="si">{}</span><span class="s2">&quot;</span> \
+                        <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">aws_account_id</span><span class="p">,</span> <span class="n">aws_iam_role</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">sts_session</span> <span class="o">=</span> <span class="n">boto3</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">Session</span><span class="p">(</span>
+                        <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">aws_access_key_id</span><span class="p">,</span>
+                        <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">aws_secret_access_key</span><span class="p">,</span>
+                        <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">)</span>
+
+                    <span class="n">sts_client</span> <span class="o">=</span> <span class="n">sts_session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="s1">&#39;sts&#39;</span><span class="p">)</span>
+
+                    <span class="k">if</span> <span class="n">external_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                        <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                            <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
+                            <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                            <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
+                            <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">,</span>
+                            <span class="n">ExternalId</span><span class="o">=</span><span class="n">external_id</span><span class="p">)</span>
+
+                    <span class="n">credentials</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">]</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;AccessKeyId&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;SecretAccessKey&#39;</span><span class="p">]</span>
+                    <span class="n">aws_session_token</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;SessionToken&#39;</span><span class="p">]</span>
+
+                <span class="n">endpoint_url</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">)</span>
+
+            <span class="k">except</span> <span class="n">AirflowException</span><span class="p">:</span>
+                <span class="c1"># No connection found: fallback on boto3 credential strategy</span>
+                <span class="c1"># http://boto3.readthedocs.io/en/latest/guide/configuration.html</span>
+                <span class="k">pass</span>
+
+        <span class="k">return</span> <span class="n">boto3</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">Session</span><span class="p">(</span>
+            <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">aws_access_key_id</span><span class="p">,</span>
+            <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">aws_secret_access_key</span><span class="p">,</span>
+            <span class="n">aws_session_token</span><span class="o">=</span><span class="n">aws_session_token</span><span class="p">,</span>
+            <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">),</span> <span class="n">endpoint_url</span>
+
+    <span class="k">def</span> <span class="nf">get_client_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="n">client_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">,</span>
+                              <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">,</span> <span class="n">verify</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">verify</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_resource_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">resource_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">resource</span><span class="p">(</span><span class="n">resource_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">,</span>
+                                <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">,</span> <span class="n">verify</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">verify</span><span class="p">)</span>
+
+<div class="viewcode-block" id="AwsHook.get_session"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_session">[docs]</a>    <span class="k">def</span> <span class="nf">get_session</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Get the underlying boto3.session.&quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">session</span></div>
+
+<div class="viewcode-block" id="AwsHook.get_credentials"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">[docs]</a>    <span class="k">def</span> <span class="nf">get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Get the underlying `botocore.Credentials` object.</span>
+
+<span class="sd">        This contains the following authentication attributes: access_key, secret_key and token.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="c1"># Credentials are refreshable, so accessing your access key and</span>
+        <span class="c1"># secret key separately can lead to a race condition.</span>
+        <span class="c1"># See https://stackoverflow.com/a/36291428/8283373</span>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_frozen_credentials</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="AwsHook.expand_role"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.expand_role">[docs]</a>    <span class="k">def</span> <span class="nf">expand_role</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">role</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.</span>
+<span class="sd">        If IAM role is already an IAM role ARN, no change is made.</span>
+
+<span class="sd">        :param role: IAM role name or ARN</span>
+<span class="sd">        :return: IAM role ARN</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="s1">&#39;/&#39;</span> <span class="ow">in</span> <span class="n">role</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">role</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;iam&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">get_role</span><span class="p">(</span><span class="n">RoleName</span><span class="o">=</span><span class="n">role</span><span class="p">)[</span><span class="s1">&#39;Role&#39;</span><span class="p">][</span><span class="s1">&#39;Arn& [...]
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/1.10.2/_modules/airflow/contrib/hooks/aws_lambda_hook.html
new file mode 100644
index 0000000..127ff53
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -0,0 +1,287 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_lambda_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_lambda_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsLambdaHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">[docs]</a><span class="k">class</span> <span class="nc">AwsLambdaHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS Lambda</span>
+
+<span class="sd">    :param function_name: AWS Lambda Function Name</span>
+<span class="sd">    :type function_name: str</span>
+<span class="sd">    :param region_name: AWS Region Name (example: us-west-2)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    :param log_type: Tail Invocation Request</span>
+<span class="sd">    :type log_type: str</span>
+<span class="sd">    :param qualifier: AWS Lambda Function Version or Alias Name</span>
+<span class="sd">    :type qualifier: str</span>
+<span class="sd">    :param invocation_type: AWS Lambda Invocation Type (RequestResponse, Event etc)</span>
+<span class="sd">    :type invocation_type: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function_name</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">log_type</span><span class="o">=</span><span class="s1">&#39;None&#39;</span><span class="p">,</span> <span class="n">qualifier</span><span class="o">=</span><span class="s1">&#39;$LATEST&#39;</span><span class="p">,</span>
+                 <span class="n">invocation_type</span><span class="o">=</span><span class="s1">&#39;RequestResponse&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">function_name</span> <span class="o">=</span> <span class="n">function_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log_type</span> <span class="o">=</span> <span class="n">log_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">invocation_type</span> <span class="o">=</span> <span class="n">invocation_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">qualifier</span> <span class="o">=</span> <span class="n">qualifier</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsLambdaHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;lambda&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+
+<div class="viewcode-block" id="AwsLambdaHook.invoke_lambda"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">[docs]</a>    <span class="k">def</span> <span class="nf">invoke_lambda</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">payload</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Invoke Lambda Function</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">awslambda_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">awslambda_conn</span><span class="o">.</span><span class="n">invoke</span><span class="p">(</span>
+            <span class="n">FunctionName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">function_name</span><span class="p">,</span>
+            <span class="n">InvocationType</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">invocation_type</span><span class="p">,</span>
+            <span class="n">LogType</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">log_type</span><span class="p">,</span>
+            <span class="n">Payload</span><span class="o">=</span><span class="n">payload</span><span class="p">,</span>
+            <span class="n">Qualifier</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">qualifier</span>
+        <span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">response</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/azure_cosmos_hook.html b/1.10.2/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
new file mode 100644
index 0000000..72c04e5
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
@@ -0,0 +1,506 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_cosmos_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.azure_cosmos_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.azure_cosmos_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">import</span> <span class="nn">azure.cosmos.cosmos_client</span> <span class="k">as</span> <span class="nn">cosmos_client</span>
+<span class="kn">from</span> <span class="nn">azure.cosmos.errors</span> <span class="k">import</span> <span class="n">HTTPFailure</span>
+<span class="kn">import</span> <span class="nn">uuid</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowBadRequest</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<div class="viewcode-block" id="AzureCosmosDBHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook">[docs]</a><span class="k">class</span> <span class="nc">AzureCosmosDBHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure CosmosDB.</span>
+
+<span class="sd">    login should be the endpoint uri, password should be the master key</span>
+<span class="sd">    optionally, you can use the following extras to default these values</span>
+<span class="sd">    {&quot;database_name&quot;: &quot;&lt;DATABASE_NAME&gt;&quot;, &quot;collection_name&quot;: &quot;COLLECTION_NAME&quot;}.</span>
+
+<span class="sd">    :param azure_cosmos_conn_id: Reference to the Azure CosmosDB connection.</span>
+<span class="sd">    :type azure_cosmos_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">azure_cosmos_conn_id</span><span class="o">=</span><span class="s1">&#39;azure_cosmos_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">azure_cosmos_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extras</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">extra_dejson</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">endpoint_uri</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">login</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">master_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">password</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">default_database_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;database_name&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">default_collection_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;collection_name&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cosmos_client</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return a cosmos db client.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cosmos_client</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cosmos_client</span>
+
+        <span class="c1"># Initialize the Python Azure Cosmos DB client</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cosmos_client</span> <span class="o">=</span> <span class="n">cosmos_client</span><span class="o">.</span><span class="n">CosmosClient</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">endpoint_uri</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;masterKey&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</ [...]
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cosmos_client</span></div>
+
+    <span class="k">def</span> <span class="nf">__get_database_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">db_name</span> <span class="o">=</span> <span class="n">database_name</span>
+        <span class="k">if</span> <span class="n">db_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">db_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_database_name</span>
+
+        <span class="k">if</span> <span class="n">db_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Database name must be specified&quot;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">db_name</span>
+
+    <span class="k">def</span> <span class="nf">__get_collection_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">collection_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">coll_name</span> <span class="o">=</span> <span class="n">collection_name</span>
+        <span class="k">if</span> <span class="n">coll_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">coll_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_collection_name</span>
+
+        <span class="k">if</span> <span class="n">coll_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Collection name must be specified&quot;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">coll_name</span>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.does_collection_exist"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist">[docs]</a>    <span class="k">def</span> <span class="nf">does_collection_exist</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">collection_name</span><span class="p">,</span> <span class="n">database_name</span><span class="o"> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a collection exists in CosmosDB.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">collection_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Collection name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="n">existing_container</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">QueryContainers</span><span class="p">(</span>
+            <span class="n">get_database_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">)),</span> <span class="p">{</span>
+                <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM r WHERE r.id=@id&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="p">[</span>
+                    <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;@id&quot;</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="n">collection_name</span><span class="p">}</span>
+                <span class="p">]</span>
+            <span class="p">}))</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">existing_container</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span>
+
+        <span class="k">return</span> <span class="kc">True</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.create_collection"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection">[docs]</a>    <span class="k">def</span> <span class="nf">create_collection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">collection_name</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><spa [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">collection_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Collection name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="c1"># We need to check to see if this container already exists so we don&#39;t try</span>
+        <span class="c1"># to create it twice</span>
+        <span class="n">existing_container</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">QueryContainers</span><span class="p">(</span>
+            <span class="n">get_database_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">)),</span> <span class="p">{</span>
+                <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM r WHERE r.id=@id&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="p">[</span>
+                    <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;@id&quot;</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="n">collection_name</span><span class="p">}</span>
+                <span class="p">]</span>
+            <span class="p">}))</span>
+
+        <span class="c1"># Only create if we did not find it already existing</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">existing_container</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">CreateContainer</span><span class="p">(</span>
+                <span class="n">get_database_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">)),</span>
+                <span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">collection_name</span><span class="p">})</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.does_database_exist"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist">[docs]</a>    <span class="k">def</span> <span class="nf">does_database_exist</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">database_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a database exists in CosmosDB.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">database_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Database name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="n">existing_database</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">QueryDatabases</span><span class="p">({</span>
+            <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM r WHERE r.id=@id&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;@id&quot;</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="n">database_name</span><span class="p">}</span>
+            <span class="p">]</span>
+        <span class="p">}))</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">existing_database</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span>
+
+        <span class="k">return</span> <span class="kc">True</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.create_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database">[docs]</a>    <span class="k">def</span> <span class="nf">create_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">database_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new database in CosmosDB.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">database_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Database name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="c1"># We need to check to see if this database already exists so we don&#39;t try</span>
+        <span class="c1"># to create it twice</span>
+        <span class="n">existing_database</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">QueryDatabases</span><span class="p">({</span>
+            <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM r WHERE r.id=@id&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;@id&quot;</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="n">database_name</span><span class="p">}</span>
+            <span class="p">]</span>
+        <span class="p">}))</span>
+
+        <span class="c1"># Only create if we did not find it already existing</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">existing_database</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">CreateDatabase</span><span class="p">({</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">database_name</span><span class="p">})</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.delete_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database">[docs]</a>    <span class="k">def</span> <span class="nf">delete_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">database_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes an existing database in CosmosDB.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">database_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Database name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">DeleteDatabase</span><span class="p">(</span><span class="n">get_database_link</span><span class="p">(</span><span class="n">database_name</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.delete_collection"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection">[docs]</a>    <span class="k">def</span> <span class="nf">delete_collection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">collection_name</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><spa [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes an existing collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">collection_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Collection name cannot be None.&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">DeleteContainer</span><span class="p">(</span>
+            <span class="n">get_collection_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span> <span class="n">collection_name</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.upsert_document"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.upsert_document">[docs]</a>    <span class="k">def</span> <span class="nf">upsert_document</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">document</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class="kc"> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Inserts a new document (or updates an existing one) into an existing</span>
+<span class="sd">        collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># Assign unique ID if one isn&#39;t provided</span>
+        <span class="k">if</span> <span class="n">document_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">document_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">())</span>
+
+        <span class="k">if</span> <span class="n">document</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;You cannot insert a None document&quot;</span><span class="p">)</span>
+
+        <span class="c1"># Add document id if isn&#39;t found</span>
+        <span class="k">if</span> <span class="s1">&#39;id&#39;</span> <span class="ow">in</span> <span class="n">document</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">document</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">document</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">document_id</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">document</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">document_id</span>
+
+        <span class="n">created_document</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">CreateItem</span><span class="p">(</span>
+            <span class="n">get_collection_link</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">__get_collection_name</span><span class="p">(</span><span class="n">collection_name</span><span class="p">)),</span>
+            <span class="n">document</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">created_document</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.insert_documents"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documents">[docs]</a>    <span class="k">def</span> <span class="nf">insert_documents</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">documents</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class=" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Insert a list of new documents into an existing collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">documents</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;You cannot insert empty documents&quot;</span><span class="p">)</span>
+
+        <span class="n">created_documents</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">single_document</span> <span class="ow">in</span> <span class="n">documents</span><span class="p">:</span>
+            <span class="n">created_documents</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">CreateItem</span><span class="p">(</span>
+                    <span class="n">get_collection_link</span><span class="p">(</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">__get_collection_name</span><span class="p">(</span><span class="n">collection_name</span><span class="p">)),</span>
+                    <span class="n">single_document</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="n">created_documents</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.delete_document"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_document">[docs]</a>    <span class="k">def</span> <span class="nf">delete_document</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">document_id</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class="k [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete an existing document out of a collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">document_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Cannot delete a document without an id&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">DeleteItem</span><span class="p">(</span>
+            <span class="n">get_document_link</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">__get_collection_name</span><span class="p">(</span><span class="n">collection_name</span><span class="p">),</span>
+                <span class="n">document_id</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.get_document"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document">[docs]</a>    <span class="k">def</span> <span class="nf">get_document</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">document_id</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class="kc">None</ [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a document from an existing collection in the CosmosDB database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">document_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;Cannot get a document without an id&quot;</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">ReadItem</span><span class="p">(</span>
+                <span class="n">get_document_link</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">__get_collection_name</span><span class="p">(</span><span class="n">collection_name</span><span class="p">),</span>
+                    <span class="n">document_id</span><span class="p">))</span>
+        <span class="k">except</span> <span class="n">HTTPFailure</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">None</span></div>
+
+<div class="viewcode-block" id="AzureCosmosDBHook.get_documents"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_documents">[docs]</a>    <span class="k">def</span> <span class="nf">get_documents</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql_string</span><span class="p">,</span> <span class="n">database_name</span><span class="o">=</span><span class="kc">None [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a list of documents from an existing collection in the CosmosDB database via SQL query.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">sql_string</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowBadRequest</span><span class="p">(</span><span class="s2">&quot;SQL query string cannot be None&quot;</span><span class="p">)</span>
+
+        <span class="c1"># Query them in SQL</span>
+        <span class="n">query</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">sql_string</span><span class="p">}</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">result_iterable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">QueryItems</span><span class="p">(</span>
+                <span class="n">get_collection_link</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">__get_database_name</span><span class="p">(</span><span class="n">database_name</span><span class="p">),</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">__get_collection_name</span><span class="p">(</span><span class="n">collection_name</span><span class="p">)),</span>
+                <span class="n">query</span><span class="p">,</span>
+                <span class="n">partition_key</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">result_iterable</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HTTPFailure</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">None</span></div></div>
+
+
+<span class="k">def</span> <span class="nf">get_database_link</span><span class="p">(</span><span class="n">database_id</span><span class="p">):</span>
+    <span class="k">return</span> <span class="s2">&quot;dbs/&quot;</span> <span class="o">+</span> <span class="n">database_id</span>
+
+
+<span class="k">def</span> <span class="nf">get_collection_link</span><span class="p">(</span><span class="n">database_id</span><span class="p">,</span> <span class="n">collection_id</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">get_database_link</span><span class="p">(</span><span class="n">database_id</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;/colls/&quot;</span> <span class="o">+</span> <span class="n">collection_id</span>
+
+
+<span class="k">def</span> <span class="nf">get_document_link</span><span class="p">(</span><span class="n">database_id</span><span class="p">,</span> <span class="n">collection_id</span><span class="p">,</span> <span class="n">document_id</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">get_collection_link</span><span class="p">(</span><span class="n">database_id</span><span class="p">,</span> <span class="n">collection_id</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;/docs/&quot;</span> <span class="o">+</span> <span class="n">document_id</span>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/1.10.2/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
new file mode 100644
index 0000000..8308899
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
@@ -0,0 +1,360 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.azure_data_lake_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.azure_data_lake_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">azure.datalake.store</span> <span class="k">import</span> <span class="n">core</span><span class="p">,</span> <span class="n">lib</span><span class="p">,</span> <span class="n">multithread</span>
+
+
+<div class="viewcode-block" id="AzureDataLakeHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook">[docs]</a><span class="k">class</span> <span class="nc">AzureDataLakeHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure Data Lake.</span>
+
+<span class="sd">    Client ID and client secret should be in user and password parameters.</span>
+<span class="sd">    Tenant and account name should be extra field as</span>
+<span class="sd">    {&quot;tenant&quot;: &quot;&lt;TENANT&gt;&quot;, &quot;account_name&quot;: &quot;ACCOUNT_NAME&quot;}.</span>
+
+<span class="sd">    :param azure_data_lake_conn_id: Reference to the Azure Data Lake connection.</span>
+<span class="sd">    :type azure_data_lake_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">azure_data_lake_conn_id</span><span class="o">=</span><span class="s1">&#39;azure_data_lake_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">azure_data_lake_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+<div class="viewcode-block" id="AzureDataLakeHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Return a AzureDLFileSystem object.&quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="n">service_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">account_name</span> <span class="o">=</span> <span class="n">service_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">)</span>
+
+        <span class="n">adlCreds</span> <span class="o">=</span> <span class="n">lib</span><span class="o">.</span><span class="n">auth</span><span class="p">(</span><span class="n">tenant_id</span><span class="o">=</span><span class="n">service_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tenant&#39;</span><span class="p">),</span>
+                            <span class="n">client_secret</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                            <span class="n">client_id</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">)</span>
+        <span class="n">adlsFileSystemClient</span> <span class="o">=</span> <span class="n">core</span><span class="o">.</span><span class="n">AzureDLFileSystem</span><span class="p">(</span><span class="n">adlCreds</span><span class="p">,</span>
+                                                      <span class="n">store_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">account_name</span><span class="p">)</span>
+        <span class="n">adlsFileSystemClient</span><span class="o">.</span><span class="n">connect</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">adlsFileSystemClient</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.check_for_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a file exists on Azure Data Lake.</span>
+
+<span class="sd">        :param file_path: Path and name of the file.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">files</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">details</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">invalidate_cache</span><span class="o">=</span><span class="kc">True</span><span clas [...]
+            <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span>
+        <span class="k">except</span> <span class="ne">FileNotFoundError</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.upload_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.upload_file">[docs]</a>    <span class="k">def</span> <span class="nf">upload_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_path</span><span class="p">,</span> <span class="n">remote_path</span><span class="p">,</span> <span class="n">nthreads< [...]
+                    <span class="n">buffersize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">,</span> <span class="n">blocksize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a file to Azure Data Lake.</span>
+
+<span class="sd">        :param local_path: local path. Can be single file, directory (in which case,</span>
+<span class="sd">            upload recursively) or glob pattern. Recursive glob patterns using `**`</span>
+<span class="sd">            are not supported.</span>
+<span class="sd">        :type local_path: str</span>
+<span class="sd">        :param remote_path: Remote path to upload to; if multiple files, this is the</span>
+<span class="sd">            dircetory root to write within.</span>
+<span class="sd">        :type remote_path: str</span>
+<span class="sd">        :param nthreads: Number of threads to use. If None, uses the number of cores.</span>
+<span class="sd">        :type nthreads: int</span>
+<span class="sd">        :param overwrite: Whether to forcibly overwrite existing files/directories.</span>
+<span class="sd">            If False and remote path is a directory, will quit regardless if any files</span>
+<span class="sd">            would be overwritten or not. If True, only matching filenames are actually</span>
+<span class="sd">            overwritten.</span>
+<span class="sd">        :type overwrite: bool</span>
+<span class="sd">        :param buffersize: int [2**22]</span>
+<span class="sd">            Number of bytes for internal buffer. This block cannot be bigger than</span>
+<span class="sd">            a chunk and cannot be smaller than a block.</span>
+<span class="sd">        :type buffersize: int</span>
+<span class="sd">        :param blocksize: int [2**22]</span>
+<span class="sd">            Number of bytes for a block. Within each chunk, we write a smaller</span>
+<span class="sd">            block for each API call. This block cannot be bigger than a chunk.</span>
+<span class="sd">        :type blocksize: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">multithread</span><span class="o">.</span><span class="n">ADLUploader</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="p">,</span>
+                                <span class="n">lpath</span><span class="o">=</span><span class="n">local_path</span><span class="p">,</span>
+                                <span class="n">rpath</span><span class="o">=</span><span class="n">remote_path</span><span class="p">,</span>
+                                <span class="n">nthreads</span><span class="o">=</span><span class="n">nthreads</span><span class="p">,</span>
+                                <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">,</span>
+                                <span class="n">buffersize</span><span class="o">=</span><span class="n">buffersize</span><span class="p">,</span>
+                                <span class="n">blocksize</span><span class="o">=</span><span class="n">blocksize</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureDataLakeHook.download_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.download_file">[docs]</a>    <span class="k">def</span> <span class="nf">download_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_path</span><span class="p">,</span> <span class="n">remote_path</span><span class="p">,</span> <span class="n">nth [...]
+                      <span class="n">buffersize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">,</span> <span class="n">blocksize</span><span class="o">=</span><span class="mi">4194304</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure Blob Storage.</span>
+
+<span class="sd">        :param local_path: local path. If downloading a single file, will write to this</span>
+<span class="sd">            specific file, unless it is an existing directory, in which case a file is</span>
+<span class="sd">            created within it. If downloading multiple files, this is the root</span>
+<span class="sd">            directory to write within. Will create directories as required.</span>
+<span class="sd">        :type local_path: str</span>
+<span class="sd">        :param remote_path: remote path/globstring to use to find remote files.</span>
+<span class="sd">            Recursive glob patterns using `**` are not supported.</span>
+<span class="sd">        :type remote_path: str</span>
+<span class="sd">        :param nthreads: Number of threads to use. If None, uses the number of cores.</span>
+<span class="sd">        :type nthreads: int</span>
+<span class="sd">        :param overwrite: Whether to forcibly overwrite existing files/directories.</span>
+<span class="sd">            If False and remote path is a directory, will quit regardless if any files</span>
+<span class="sd">            would be overwritten or not. If True, only matching filenames are actually</span>
+<span class="sd">            overwritten.</span>
+<span class="sd">        :type overwrite: bool</span>
+<span class="sd">        :param buffersize: int [2**22]</span>
+<span class="sd">            Number of bytes for internal buffer. This block cannot be bigger than</span>
+<span class="sd">            a chunk and cannot be smaller than a block.</span>
+<span class="sd">        :type buffersize: int</span>
+<span class="sd">        :param blocksize: int [2**22]</span>
+<span class="sd">            Number of bytes for a block. Within each chunk, we write a smaller</span>
+<span class="sd">            block for each API call. This block cannot be bigger than a chunk.</span>
+<span class="sd">        :type blocksize: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">multithread</span><span class="o">.</span><span class="n">ADLDownloader</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="p">,</span>
+                                  <span class="n">lpath</span><span class="o">=</span><span class="n">local_path</span><span class="p">,</span>
+                                  <span class="n">rpath</span><span class="o">=</span><span class="n">remote_path</span><span class="p">,</span>
+                                  <span class="n">nthreads</span><span class="o">=</span><span class="n">nthreads</span><span class="p">,</span>
+                                  <span class="n">overwrite</span><span class="o">=</span><span class="n">overwrite</span><span class="p">,</span>
+                                  <span class="n">buffersize</span><span class="o">=</span><span class="n">buffersize</span><span class="p">,</span>
+                                  <span class="n">blocksize</span><span class="o">=</span><span class="n">blocksize</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/1.10.2/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
new file mode 100644
index 0000000..a7696ab
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
@@ -0,0 +1,431 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_fileshare_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.azure_fileshare_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.azure_fileshare_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">azure.storage.file</span> <span class="k">import</span> <span class="n">FileService</span>
+
+
+<div class="viewcode-block" id="AzureFileShareHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook">[docs]</a><span class="k">class</span> <span class="nc">AzureFileShareHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interacts with Azure FileShare Storage.</span>
+
+<span class="sd">    Additional options passed in the &#39;extra&#39; field of the connection will be</span>
+<span class="sd">    passed to the `FileService()` constructor.</span>
+
+<span class="sd">    :param wasb_conn_id: Reference to the wasb connection.</span>
+<span class="sd">    :type wasb_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wasb_conn_id</span><span class="o">=</span><span class="s1">&#39;wasb_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">wasb_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Return the FileService object.&quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="n">service_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="k">return</span> <span class="n">FileService</span><span class="p">(</span><span class="n">account_name</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+                           <span class="n">account_key</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span> <span class="o">**</span><span class="n">service_options</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.check_for_directory"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_directory">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a directory exists on Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.exists()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                      <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.check_for_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_file">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span class [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a file exists on Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.exists()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: True if the file exists, False otherwise.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                      <span class="n">file_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.list_directories_and_files"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.list_directories_and_files">[docs]</a>    <span class="k">def</span> <span class="nf">list_directories_and_files</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the list of directories and files stored on a Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.list_directories_and_files()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: A list of files and directories</span>
+<span class="sd">        :rtype: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">list_directories_and_files</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span>
+                                                          <span class="n">directory_name</span><span class="p">,</span>
+                                                          <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.create_directory"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new directory on a Azure File Share.</span>
+
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_directory()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        :return: A list of files and directories</span>
+<span class="sd">        :rtype: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_directory</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file">[docs]</a>    <span class="k">def</span> <span class="nf">get_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure File Share.</span>
+
+<span class="sd">        :param file_path: Where to store the file.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.get_file_to_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_file_to_path</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                         <span class="n">file_name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.get_file_to_stream"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file_to_stream">[docs]</a>    <span class="k">def</span> <span class="nf">get_file_to_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Download a file from Azure File Share.</span>
+
+<span class="sd">        :param stream: A filehandle to store the file to.</span>
+<span class="sd">        :type stream: file-like object</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.get_file_to_stream()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_file_to_stream</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                           <span class="n">file_name</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a file to Azure File Share.</span>
+
+<span class="sd">        :param file_path: Path to the file to load.</span>
+<span class="sd">        :type file_path: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_path</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                              <span class="n">file_name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_string"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directo [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a string to Azure File Share.</span>
+
+<span class="sd">        :param string_data: String to load.</span>
+<span class="sd">        :type string_data: str</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_text()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_text</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                              <span class="n">file_name</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="AzureFileShareHook.load_stream"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_stream">[docs]</a>    <span class="k">def</span> <span class="nf">load_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">share_name</span><span class="p">,</span> <span class="n">directory_na [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Upload a stream to Azure File Share.</span>
+
+<span class="sd">        :param stream: Opened file/stream to upload as the file content.</span>
+<span class="sd">        :type stream: file-like</span>
+<span class="sd">        :param share_name: Name of the share.</span>
+<span class="sd">        :type share_name: str</span>
+<span class="sd">        :param directory_name: Name of the directory.</span>
+<span class="sd">        :type directory_name: str</span>
+<span class="sd">        :param file_name: Name of the file.</span>
+<span class="sd">        :type file_name: str</span>
+<span class="sd">        :param count: Size of the stream in bytes</span>
+<span class="sd">        :type count: int</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `FileService.create_file_from_stream()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">create_file_from_stream</span><span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">directory_name</span><span class="p">,</span>
+                                                <span class="n">file_name</span><span class="p">,</span> <span class="n">stream</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/bigquery_hook.html b/1.10.2/_modules/airflow/contrib/hooks/bigquery_hook.html
new file mode 100644
index 0000000..162344f
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -0,0 +1,2184 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.bigquery_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.bigquery_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.bigquery_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">This module contains a BigQuery Hook, as well as a very basic PEP 249</span>
+<span class="sd">implementation for BigQuery.</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">six</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">range</span>
+<span class="kn">from</span> <span class="nn">copy</span> <span class="k">import</span> <span class="n">deepcopy</span>
+<span class="kn">from</span> <span class="nn">six</span> <span class="k">import</span> <span class="n">iteritems</span>
+
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.errors</span> <span class="k">import</span> <span class="n">HttpError</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> \
+    <span class="n">_check_google_client_version</span> <span class="k">as</span> <span class="n">gbq_check_google_client_version</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq</span> <span class="k">import</span> <span class="n">read_gbq</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> \
+    <span class="n">_test_google_api_imports</span> <span class="k">as</span> <span class="n">gbq_test_google_api_imports</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> <span class="n">GbqConnector</span>
+
+
+<div class="viewcode-block" id="BigQueryHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook">[docs]</a><span class="k">class</span> <span class="nc">BigQueryHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">,</span> <span class="n">DbApiHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with BigQuery. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;bigquery_conn_id&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="n">location</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="n">location</span>
+
+<div class="viewcode-block" id="BigQueryHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a BigQuery PEP 249 connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
+        <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">BigQueryConnection</span><span class="p">(</span>
+            <span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project</span><span class="p">,</span>
+            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">,</span>
+            <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
+        <span class="p">)</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.get_service"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service">[docs]</a>    <span class="k">def</span> <span class="nf">get_service</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a BigQuery service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;bigquery&#39;</span><span class="p">,</span> <span class="s1">&#39;v2&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.insert_rows"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Insertion is currently unsupported. Theoretically, you could use</span>
+<span class="sd">        BigQuery&#39;s streaming API to insert rows into a table, but this hasn&#39;t</span>
+<span class="sd">        been implemented.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Pandas DataFrame for the results produced by a BigQuery</span>
+<span class="sd">        query. The DbApiHook method must be overridden because Pandas</span>
+<span class="sd">        doesn&#39;t support PEP 249 connections, except for SQLite. See:</span>
+
+<span class="sd">        https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</span>
+<span class="sd">        https://github.com/pydata/pandas/issues/6900</span>
+
+<span class="sd">        :param sql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type sql: string</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with (not</span>
+<span class="sd">            used, leave to override superclass method)</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        :param dialect: Dialect of BigQuery SQL – legacy SQL or standard SQL</span>
+<span class="sd">            defaults to use `self.use_legacy_sql` if not specified</span>
+<span class="sd">        :type dialect: string in {&#39;legacy&#39;, &#39;standard&#39;}</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">dialect</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">dialect</span> <span class="o">=</span> <span class="s1">&#39;legacy&#39;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="k">else</span> <span class="s1">&#39;standard&#39;</span>
+
+        <span class="k">return</span> <span class="n">read_gbq</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span>
+                        <span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">),</span>
+                        <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+                        <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BigQueryHook.table_exists"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists">[docs]</a>    <span class="k">def</span> <span class="nf">table_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span cla [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks for the existence of a table in Google BigQuery.</span>
+
+<span class="sd">        :param project_id: The Google cloud project in which to look for the</span>
+<span class="sd">            table. The connection supplied to the hook must provide access to</span>
+<span class="sd">            the specified project.</span>
+<span class="sd">        :type project_id: string</span>
+<span class="sd">        :param dataset_id: The name of the dataset in which to look for the</span>
+<span class="sd">            table.</span>
+<span class="sd">        :type dataset_id: string</span>
+<span class="sd">        :param table_id: The name of the table to check the existence of.</span>
+<span class="sd">        :type table_id: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">BigQueryPandasConnector</span><span class="p">(</span><span class="n">GbqConnector</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This connector behaves identically to GbqConnector (from Pandas), except</span>
+<span class="sd">    that it allows the service to be injected, and disables a call to</span>
+<span class="sd">    self.get_credentials(). This allows Airflow to use BigQuery with Pandas</span>
+<span class="sd">    without forcing a three legged OAuth connection. Instead, we can inject</span>
+<span class="sd">    service account credentials into the binding.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">service</span><span class="p">,</span>
+                 <span class="n">reauth</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">dialect</span><span class="o">=</span><span class="s1">&#39;legacy&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryPandasConnector</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">project_id</span><span class="p">)</span>
+        <span class="n">gbq_check_google_client_version</span><span class="p">()</span>
+        <span class="n">gbq_test_google_api_imports</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">reauth</span> <span class="o">=</span> <span class="n">reauth</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryConnection</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    BigQuery does not have a notion of a persistent connection. Thus, these</span>
+<span class="sd">    objects are small stateless factories for cursors, which do all the real</span>
+<span class="sd">    work.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_args</span> <span class="o">=</span> <span class="n">args</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_kwargs</span> <span class="o">=</span> <span class="n">kwargs</span>
+
+    <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; BigQueryConnection does not have anything to close. &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; BigQueryConnection does not support transactions. &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">cursor</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Return a new :py:class:`Cursor` object using the connection. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">BigQueryCursor</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">_args</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">_kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
+            <span class="s2">&quot;BigQueryConnection does not have transactions&quot;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryBaseCursor</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    The BigQuery base cursor contains helper methods to execute queries against</span>
+<span class="sd">    BigQuery. The methods can be used directly by operators, in cases where a</span>
+<span class="sd">    PEP 249 cursor isn&#39;t needed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">service</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="n">api_resource_configs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">location</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
+        <span class="k">if</span> <span class="n">api_resource_configs</span><span class="p">:</span>
+            <span class="n">_validate_value</span><span class="p">(</span><span class="s2">&quot;api_resource_configs&quot;</span><span class="p">,</span> <span class="n">api_resource_configs</span><span class="p">,</span> <span class="nb">dict</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_resource_configs</span> <span class="o">=</span> <span class="n">api_resource_configs</span> \
+            <span class="k">if</span> <span class="n">api_resource_configs</span> <span class="k">else</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="n">location</span>
+
+    <span class="k">def</span> <span class="nf">create_empty_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                           <span class="n">project_id</span><span class="p">,</span>
+                           <span class="n">dataset_id</span><span class="p">,</span>
+                           <span class="n">table_id</span><span class="p">,</span>
+                           <span class="n">schema_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="n">time_partitioning</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="n">view</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new, empty table in the dataset.</span>
+<span class="sd">        To create a view, which is defined by a SQL query, parse a dictionary to &#39;view&#39; kwarg</span>
+
+<span class="sd">        :param project_id: The project to create the table into.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The dataset to create the table into.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param table_id: The Name of the table to be created.</span>
+<span class="sd">        :type table_id: str</span>
+<span class="sd">        :param schema_fields: If set, the schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param labels: a dictionary containing labels for the table, passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
+
+<span class="sd">        **Example**: ::</span>
+
+<span class="sd">            schema_fields=[{&quot;name&quot;: &quot;emp_name&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;mode&quot;: &quot;REQUIRED&quot;},</span>
+<span class="sd">                           {&quot;name&quot;: &quot;salary&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;mode&quot;: &quot;NULLABLE&quot;}]</span>
+
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and expiration as per API specifications.</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#timePartitioning</span>
+<span class="sd">        :type time_partitioning: dict</span>
+<span class="sd">        :param view: [Optional] A dictionary containing definition for the view.</span>
+<span class="sd">            If set, it will create a view instead of a table:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view</span>
+<span class="sd">        :type view: dict</span>
+
+<span class="sd">        **Example**: ::</span>
+
+<span class="sd">            view = {</span>
+<span class="sd">                &quot;query&quot;: &quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 1000&quot;,</span>
+<span class="sd">                &quot;useLegacySql&quot;: False</span>
+<span class="sd">            }</span>
+
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="n">table_resource</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;tableReference&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">table_id</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span><span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">time_partitioning</span>
+
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">if</span> <span class="n">view</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;view&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">view</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table created successfully: </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                          <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">create_external_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                              <span class="n">external_project_dataset_table</span><span class="p">,</span>
+                              <span class="n">schema_fields</span><span class="p">,</span>
+                              <span class="n">source_uris</span><span class="p">,</span>
+                              <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+                              <span class="n">autodetect</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+                              <span class="n">ignore_unknown_values</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                              <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                              <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+                              <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                              <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">src_fmt_configs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                              <span class="n">labels</span><span class="o">=</span><span class="kc">None</span>
+                              <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new external table in the dataset with the data in Google</span>
+<span class="sd">        Cloud Storage. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</span>
+
+<span class="sd">        for more details about these parameters.</span>
+
+<span class="sd">        :param external_project_dataset_table:</span>
+<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;) BigQuery</span>
+<span class="sd">            table name to create external table.</span>
+<span class="sd">            If &lt;project&gt; is not included, project will be the</span>
+<span class="sd">            project defined in the connection json.</span>
+<span class="sd">        :type external_project_dataset_table: string</span>
+<span class="sd">        :param schema_fields: The schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param source_uris: The source Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild</span>
+<span class="sd">            per-object name can be used.</span>
+<span class="sd">        :type source_uris: list</span>
+<span class="sd">        :param source_format: File format to export.</span>
+<span class="sd">        :type source_format: string</span>
+<span class="sd">        :param autodetect: Try to detect schema and format options automatically.</span>
+<span class="sd">            Any option specified explicitly will be honored.</span>
+<span class="sd">        :type autodetect: bool</span>
+<span class="sd">        :param compression: [Optional] The compression type of the data source.</span>
+<span class="sd">            Possible values include GZIP and NONE.</span>
+<span class="sd">            The default value is NONE.</span>
+<span class="sd">            This setting is ignored for Google Cloud Bigtable,</span>
+<span class="sd">                Google Cloud Datastore backups and Avro formats.</span>
+<span class="sd">        :type compression: string</span>
+<span class="sd">        :param ignore_unknown_values: [Optional] Indicates if BigQuery should allow</span>
+<span class="sd">            extra values that are not represented in the table schema.</span>
+<span class="sd">            If true, the extra values are ignored. If false, records with extra columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an</span>
+<span class="sd">            invalid error is returned in the job result.</span>
+<span class="sd">        :type ignore_unknown_values: bool</span>
+<span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
+<span class="sd">            ignore when running the job.</span>
+<span class="sd">        :type max_bad_records: int</span>
+<span class="sd">        :param skip_leading_rows: Number of rows to skip when loading from a CSV.</span>
+<span class="sd">        :type skip_leading_rows: int</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV</span>
+<span class="sd">            file.</span>
+<span class="sd">        :type quote_character: string</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not</span>
+<span class="sd">            (false).</span>
+<span class="sd">        :type allow_quoted_newlines: boolean</span>
+<span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing</span>
+<span class="sd">            trailing columns are treated as bad records, and if there are too many bad</span>
+<span class="sd">            records, an invalid error is returned in the job result. Only applicable when</span>
+<span class="sd">            soure_format is CSV.</span>
+<span class="sd">        :type allow_jagged_rows: bool</span>
+<span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
+<span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        :param labels: a dictionary containing labels for the table, passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">src_fmt_configs</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">external_table_id</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">external_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;external_project_dataset_table&#39;</span><span class="p">)</span>
+
+        <span class="c1"># bigquery only allows certain source formats</span>
+        <span class="c1"># we check to make sure the passed source format is valid</span>
+        <span class="c1"># if it&#39;s not, we raise a ValueError</span>
+        <span class="c1"># Refer to this link for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#externalDataConfiguration.sourceFormat</span>
+
+        <span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">,</span> <span class="s2">&quot;PARQUET&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_formats</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid source format. &quot;</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
+
+        <span class="n">compression</span> <span class="o">=</span> <span class="n">compression</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_compressions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span> <span class="s1">&#39;GZIP&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">compression</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_compressions</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid compression format. &quot;</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">compression</span><span class="p">,</span> <span class="n">allowed_compressions</span><span class="p">))</span>
+
+        <span class="n">table_resource</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;autodetect&#39;</span><span class="p">:</span> <span class="n">autodetect</span><span class="p">,</span>
+                <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
+                <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
+                <span class="s1">&#39;compression&#39;</span><span class="p">:</span> <span class="n">compression</span><span class="p">,</span>
+                <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">:</span> <span class="n">ignore_unknown_values</span>
+            <span class="p">},</span>
+            <span class="s1">&#39;tableReference&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">project_id</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">dataset_id</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">external_table_id</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;schema&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
+                <span class="p">}</span>
+            <span class="p">})</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating external table: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">external_project_dataset_table</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">max_bad_records</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">][</span><span class="s1">&#39;maxBadRecords&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_bad_records</span>
+
+        <span class="c1"># if following fields are not specified in src_fmt_configs,</span>
+        <span class="c1"># honor the top-level params for backward-compatibility</span>
+        <span class="k">if</span> <span class="s1">&#39;skipLeadingRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+        <span class="k">if</span> <span class="s1">&#39;fieldDelimiter&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="k">if</span> <span class="s1">&#39;quote_character&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;quote&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">quote_character</span>
+        <span class="k">if</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
+        <span class="k">if</span> <span class="s1">&#39;allowJaggedRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_jagged_rows</span>
+
+        <span class="n">src_fmt_to_param_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="s1">&#39;csvOptions&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;GOOGLE_SHEETS&#39;</span><span class="p">:</span> <span class="s1">&#39;googleSheetsOptions&#39;</span>
+        <span class="p">}</span>
+
+        <span class="n">src_fmt_to_configs_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;csvOptions&#39;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;quote&#39;</span>
+            <span class="p">],</span>
+            <span class="s1">&#39;googleSheetsOptions&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">in</span> <span class="n">src_fmt_to_param_mapping</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
+
+            <span class="n">valid_configs</span> <span class="o">=</span> <span class="n">src_fmt_to_configs_mapping</span><span class="p">[</span>
+                <span class="n">src_fmt_to_param_mapping</span><span class="p">[</span><span class="n">source_format</span><span class="p">]</span>
+            <span class="p">]</span>
+
+            <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="n">k</span><span class="p">:</span> <span class="n">v</span>
+                <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span>
+            <span class="p">}</span>
+
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">][</span><span class="n">src_fmt_to_param_mapping</span><span class="p">[</span>
+                <span class="n">source_format</span><span class="p">]]</span> <span class="o">=</span> <span class="n">src_fmt_configs</span>
+
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;External table created successfully: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                          <span class="n">external_project_dataset_table</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                  <span class="n">bql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                  <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">flatten_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">udf_config</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">maximum_bytes_billed</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                  <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
+                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span>
+                  <span class="n">time_partitioning</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">api_resource_configs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">cluster_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">location</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery SQL query. Optionally persists results in a BigQuery</span>
+<span class="sd">        table. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param bql: (Deprecated. Use `sql` parameter instead) The BigQuery SQL</span>
+<span class="sd">            to execute.</span>
+<span class="sd">        :type bql: string</span>
+<span class="sd">        :param sql: The BigQuery SQL to execute.</span>
+<span class="sd">        :type sql: string</span>
+<span class="sd">        :param destination_dataset_table: The dotted &lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery table to save the query results.</span>
+<span class="sd">        :type destination_dataset_table: string</span>
+<span class="sd">        :param write_disposition: What to do if the table already exists in</span>
+<span class="sd">            BigQuery.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param allow_large_results: Whether to allow large results.</span>
+<span class="sd">        :type allow_large_results: boolean</span>
+<span class="sd">        :param flatten_results: If true and query uses legacy SQL dialect, flattens</span>
+<span class="sd">            all nested and repeated fields in the query results. ``allowLargeResults``</span>
+<span class="sd">            must be true if this is set to false. For standard SQL queries, this</span>
+<span class="sd">            flag is ignored and results are never flattened.</span>
+<span class="sd">        :type flatten_results: boolean</span>
+<span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
+<span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
+<span class="sd">        :type udf_config: list</span>
+<span class="sd">        :param use_legacy_sql: Whether to use legacy SQL (true) or standard SQL (false).</span>
+<span class="sd">            If `None`, defaults to `self.use_legacy_sql`.</span>
+<span class="sd">        :type use_legacy_sql: boolean</span>
+<span class="sd">        :param api_resource_configs: a dictionary that contain params</span>
+<span class="sd">            &#39;configuration&#39; applied for Google BigQuery Jobs API:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs</span>
+<span class="sd">            for example, {&#39;query&#39;: {&#39;useQueryCache&#39;: False}}. You could use it</span>
+<span class="sd">            if you need to provide some params that are not supported by the</span>
+<span class="sd">            BigQueryHook like args.</span>
+<span class="sd">        :type api_resource_configs: dict</span>
+<span class="sd">        :param maximum_billing_tier: Positive integer that serves as a</span>
+<span class="sd">            multiplier of the basic price.</span>
+<span class="sd">        :type maximum_billing_tier: integer</span>
+<span class="sd">        :param maximum_bytes_billed: Limits the bytes billed for this job.</span>
+<span class="sd">            Queries that will have bytes billed beyond this limit will fail</span>
+<span class="sd">            (without incurring a charge). If unspecified, this will be</span>
+<span class="sd">            set to your project default.</span>
+<span class="sd">        :type maximum_bytes_billed: float</span>
+<span class="sd">        :param create_disposition: Specifies whether the job is allowed to</span>
+<span class="sd">            create new tables.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param query_params a dictionary containing query parameter types and</span>
+<span class="sd">            values, passed to BigQuery</span>
+<span class="sd">        :type query_params: dict</span>
+<span class="sd">        :param labels a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        :param schema_update_options: Allows the schema of the destination</span>
+<span class="sd">            table to be updated as a side effect of the query job.</span>
+<span class="sd">        :type schema_update_options: tuple</span>
+<span class="sd">        :param priority: Specifies a priority for the query.</span>
+<span class="sd">            Possible values include INTERACTIVE and BATCH.</span>
+<span class="sd">            The default value is INTERACTIVE.</span>
+<span class="sd">        :type priority: string</span>
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and expiration as per API specifications.</span>
+<span class="sd">        :type time_partitioning: dict</span>
+<span class="sd">        :param cluster_fields: Request that the result of this query be stored sorted</span>
+<span class="sd">            by one or more columns. This is only available in combination with</span>
+<span class="sd">            time_partitioning. The order of columns given determines the sort order.</span>
+<span class="sd">        :type cluster_fields: list of str</span>
+<span class="sd">        :param location: The geographic location of the job. Required except for</span>
+<span class="sd">            US and EU. See details at</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/locations#specifying_your_location</span>
+<span class="sd">        :type location: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">time_partitioning</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">time_partitioning</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="n">location</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="n">location</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">api_resource_configs</span><span class="p">:</span>
+            <span class="n">api_resource_configs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_resource_configs</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">_validate_value</span><span class="p">(</span><span class="s1">&#39;api_resource_configs&#39;</span><span class="p">,</span>
+                            <span class="n">api_resource_configs</span><span class="p">,</span> <span class="nb">dict</span><span class="p">)</span>
+        <span class="n">configuration</span> <span class="o">=</span> <span class="n">deepcopy</span><span class="p">(</span><span class="n">api_resource_configs</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;query&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">configuration</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">_validate_value</span><span class="p">(</span><span class="s2">&quot;api_resource_configs[&#39;query&#39;]&quot;</span><span class="p">,</span>
+                            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">],</span> <span class="nb">dict</span><span class="p">)</span>
+
+        <span class="n">sql</span> <span class="o">=</span> <span class="n">bql</span> <span class="k">if</span> <span class="n">sql</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">sql</span>
+
+        <span class="c1"># TODO remove `bql` in Airflow 2.0 - Jira: [AIRFLOW-2513]</span>
+        <span class="k">if</span> <span class="n">bql</span><span class="p">:</span>
+            <span class="kn">import</span> <span class="nn">warnings</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Deprecated parameter `bql` used in &#39;</span>
+                          <span class="s1">&#39;`BigQueryBaseCursor.run_query` &#39;</span>
+                          <span class="s1">&#39;Use `sql` parameter instead to pass the sql to be &#39;</span>
+                          <span class="s1">&#39;executed. `bql` parameter is deprecated and &#39;</span>
+                          <span class="s1">&#39;will be removed in a future version of &#39;</span>
+                          <span class="s1">&#39;Airflow.&#39;</span><span class="p">,</span>
+                          <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">sql</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;`BigQueryBaseCursor.run_query` &#39;</span>
+                            <span class="s1">&#39;missing 1 required positional argument: `sql`&#39;</span><span class="p">)</span>
+
+        <span class="c1"># BigQuery also allows you to define how you want a table&#39;s schema to change</span>
+        <span class="c1"># as a side effect of a query job</span>
+        <span class="c1"># for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.schemaUpdateOptions</span>
+
+        <span class="n">allowed_schema_update_options</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span> <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
+        <span class="p">]</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span>
+                   <span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> contains invalid schema update options. &quot;</span>
+                             <span class="s2">&quot;Please only use one or more of the following &quot;</span>
+                             <span class="s2">&quot;options: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span>
+                                     <span class="n">allowed_schema_update_options</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;schema_update_options is only &quot;</span>
+                                 <span class="s2">&quot;allowed if write_disposition is &quot;</span>
+                                 <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
+            <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+                <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_dataset_table</span><span class="p">,</span>
+                                 <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+
+            <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
+            <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">cluster_fields</span><span class="p">:</span>
+            <span class="n">cluster_fields</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">cluster_fields</span><span class="p">}</span>
+
+        <span class="n">query_param_list</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">priority</span><span class="p">,</span> <span class="s1">&#39;priority&#39;</span><span class="p">,</span> <span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">use_legacy_sql</span><span class="p">,</span> <span class="s1">&#39;useLegacySql&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">,</span> <span class="nb">bool</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">query_params</span><span class="p">,</span> <span class="s1">&#39;queryParameters&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">dict</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">list</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">maximum_billing_tier</span><span class="p">,</span> <span class="s1">&#39;maximumBillingTier&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">int</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">maximum_bytes_billed</span><span class="p">,</span> <span class="s1">&#39;maximumBytesBilled&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">float</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">time_partitioning</span><span class="p">,</span> <span class="s1">&#39;timePartitioning&#39;</span><span class="p">,</span> <span class="p">{},</span> <span class="nb">dict</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="s1">&#39;destinationTable&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">dict</span><span class="p">),</span>
+            <span class="p">(</span><span class="n">cluster_fields</span><span class="p">,</span> <span class="s1">&#39;clustering&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="nb">dict</span><span class="p">),</span>
+        <span class="p">]</span>
+
+        <span class="k">for</span> <span class="n">param_tuple</span> <span class="ow">in</span> <span class="n">query_param_list</span><span class="p">:</span>
+
+            <span class="n">param</span><span class="p">,</span> <span class="n">param_name</span><span class="p">,</span> <span class="n">param_default</span><span class="p">,</span> <span class="n">param_type</span> <span class="o">=</span> <span class="n">param_tuple</span>
+
+            <span class="k">if</span> <span class="n">param_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">param</span> <span class="ow">in</span> <span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">{},</span> <span class="p">()]:</span>
+                <span class="k">if</span> <span class="n">param_name</span> <span class="o">==</span> <span class="s1">&#39;timePartitioning&#39;</span><span class="p">:</span>
+                    <span class="n">param_default</span> <span class="o">=</span> <span class="n">_cleanse_time_partitioning</span><span class="p">(</span>
+                        <span class="n">destination_dataset_table</span><span class="p">,</span> <span class="n">time_partitioning</span><span class="p">)</span>
+                <span class="n">param</span> <span class="o">=</span> <span class="n">param_default</span>
+
+            <span class="k">if</span> <span class="n">param</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">{},</span> <span class="p">()]:</span>
+                <span class="n">_api_resource_configs_duplication_check</span><span class="p">(</span>
+                    <span class="n">param_name</span><span class="p">,</span> <span class="n">param</span><span class="p">,</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">])</span>
+
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="n">param_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">param</span>
+
+                <span class="c1"># check valid type of provided param,</span>
+                <span class="c1"># it last step because we can get param from 2 sources,</span>
+                <span class="c1"># and first of all need to find it</span>
+
+                <span class="n">_validate_value</span><span class="p">(</span><span class="n">param_name</span><span class="p">,</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="n">param_name</span><span class="p">],</span>
+                                <span class="n">param_type</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">param_name</span> <span class="o">==</span> <span class="s1">&#39;schemaUpdateOptions&#39;</span> <span class="ow">and</span> <span class="n">param</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Adding experimental &#39;schemaUpdateOptions&#39;: &quot;</span>
+                                  <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">))</span>
+
+                <span class="k">if</span> <span class="n">param_name</span> <span class="o">==</span> <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span>
+                    <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;projectId&#39;</span><span class="p">,</span> <span class="s1">&#39;datasetId&#39;</span><span class="p">,</span> <span class="s1">&#39;tableId&#39;</span><span class="p">]:</span>
+                        <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;destinationTable&#39;</span><span class="p">]:</span>
+                            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                                <span class="s2">&quot;Not correct &#39;destinationTable&#39; in &quot;</span>
+                                <span class="s2">&quot;api_resource_configs. &#39;destinationTable&#39; &quot;</span>
+                                <span class="s2">&quot;must be a dict with {&#39;projectId&#39;:&#39;&#39;, &quot;</span>
+                                <span class="s2">&quot;&#39;datasetId&#39;:&#39;&#39;, &#39;tableId&#39;:&#39;&#39;}&quot;</span><span class="p">)</span>
+
+                    <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                        <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span> <span class="n">allow_large_results</span><span class="p">,</span>
+                        <span class="s1">&#39;flattenResults&#39;</span><span class="p">:</span> <span class="n">flatten_results</span><span class="p">,</span>
+                        <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                        <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                    <span class="p">})</span>
+
+        <span class="k">if</span> <span class="s1">&#39;useLegacySql&#39;</span> <span class="ow">in</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span> <span class="ow">and</span> \
+                <span class="s1">&#39;queryParameters&#39;</span> <span class="ow">in</span> <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Query parameters are not allowed &quot;</span>
+                             <span class="s2">&quot;when using legacy SQL&quot;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">_api_resource_configs_duplication_check</span><span class="p">(</span>
+                <span class="s1">&#39;labels&#39;</span><span class="p">,</span> <span class="n">labels</span><span class="p">,</span> <span class="n">configuration</span><span class="p">)</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_extract</span><span class="p">(</span>  <span class="c1"># noqa</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">source_project_dataset_table</span><span class="p">,</span>
+            <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+            <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+            <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+            <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+            <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery extract command to copy data from BigQuery to</span>
+<span class="sd">        Google Cloud Storage. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param source_project_dataset_table: The dotted &lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery table to use as the source data.</span>
+<span class="sd">        :type source_project_dataset_table: string</span>
+<span class="sd">        :param destination_cloud_storage_uris: The destination Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). Follows</span>
+<span class="sd">            convention defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</span>
+<span class="sd">        :type destination_cloud_storage_uris: list</span>
+<span class="sd">        :param compression: Type of compression to use.</span>
+<span class="sd">        :type compression: string</span>
+<span class="sd">        :param export_format: File format to export.</span>
+<span class="sd">        :type export_format: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when extracting to a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
+<span class="sd">        :type print_header: boolean</span>
+<span class="sd">        :param labels: a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">)</span>
+
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;extract&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;sourceTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span><span class="p">,</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;compression&#39;</span><span class="p">:</span> <span class="n">compression</span><span class="p">,</span>
+                <span class="s1">&#39;destinationUris&#39;</span><span class="p">:</span> <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+                <span class="s1">&#39;destinationFormat&#39;</span><span class="p">:</span> <span class="n">export_format</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">if</span> <span class="n">export_format</span> <span class="o">==</span> <span class="s1">&#39;CSV&#39;</span><span class="p">:</span>
+            <span class="c1"># Only set fieldDelimiter and printHeader fields if using CSV.</span>
+            <span class="c1"># Google does not like it if you set these fields for other export</span>
+            <span class="c1"># formats.</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;extract&#39;</span><span class="p">][</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;extract&#39;</span><span class="p">][</span><span class="s1">&#39;printHeader&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">print_header</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">source_project_dataset_tables</span><span class="p">,</span>
+                 <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery copy command to copy data from one BigQuery table</span>
+<span class="sd">        to another. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param source_project_dataset_tables: One or more dotted</span>
+<span class="sd">            (project:|project.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">            BigQuery tables to use as the source data. Use a list if there are</span>
+<span class="sd">            multiple source tables.</span>
+<span class="sd">            If &lt;project&gt; is not included, project will be the project defined</span>
+<span class="sd">            in the connection json.</span>
+<span class="sd">        :type source_project_dataset_tables: list|string</span>
+<span class="sd">        :param destination_project_dataset_table: The destination BigQuery</span>
+<span class="sd">            table. Format is: (project:|project.)&lt;dataset&gt;.&lt;table&gt;</span>
+<span class="sd">        :type destination_project_dataset_table: string</span>
+<span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param labels a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="p">([</span>
+            <span class="n">source_project_dataset_tables</span>
+        <span class="p">]</span> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span> <span class="k">else</span>
+            <span class="n">source_project_dataset_tables</span><span class="p">)</span>
+
+        <span class="n">source_project_dataset_tables_fixup</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">source_project_dataset_table</span> <span class="ow">in</span> <span class="n">source_project_dataset_tables</span><span class="p">:</span>
+            <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
+                <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
+                                 <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                 <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">)</span>
+            <span class="n">source_project_dataset_tables_fixup</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span>
+                <span class="n">source_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span>
+                <span class="n">source_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span>
+                <span class="n">source_table</span>
+            <span class="p">})</span>
+
+        <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;copy&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;sourceTables&#39;</span><span class="p">:</span> <span class="n">source_project_dataset_tables_fixup</span><span class="p">,</span>
+                <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span>
+                <span class="p">}</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                 <span class="n">source_uris</span><span class="p">,</span>
+                 <span class="n">schema_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                 <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                 <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                 <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+                 <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                 <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">ignore_unknown_values</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
+                 <span class="n">src_fmt_configs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">time_partitioning</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">cluster_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">autodetect</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery load command to load data from Google Cloud Storage</span>
+<span class="sd">        to BigQuery. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about these parameters.</span>
+
+<span class="sd">        :param destination_project_dataset_table:</span>
+<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;) BigQuery</span>
+<span class="sd">            table to load data into. If &lt;project&gt; is not included, project will be the</span>
+<span class="sd">            project defined in the connection json. If a partition is specified the</span>
+<span class="sd">            operator will automatically append the data, create a new partition or create</span>
+<span class="sd">            a new DAY partitioned table.</span>
+<span class="sd">        :type destination_project_dataset_table: string</span>
+<span class="sd">        :param schema_fields: The schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</span>
+<span class="sd">            Required if autodetect=False; optional if autodetect=True.</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param autodetect: Attempt to autodetect the schema for CSV and JSON</span>
+<span class="sd">            source files.</span>
+<span class="sd">        :type autodetect: bool</span>
+<span class="sd">        :param source_uris: The source Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild</span>
+<span class="sd">            per-object name can be used.</span>
+<span class="sd">        :type source_uris: list</span>
+<span class="sd">        :param source_format: File format to export.</span>
+<span class="sd">        :type source_format: string</span>
+<span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param skip_leading_rows: Number of rows to skip when loading from a CSV.</span>
+<span class="sd">        :type skip_leading_rows: int</span>
+<span class="sd">        :param write_disposition: The write disposition if the table already exists.</span>
+<span class="sd">        :type write_disposition: string</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
+<span class="sd">            ignore when running the job.</span>
+<span class="sd">        :type max_bad_records: int</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV</span>
+<span class="sd">            file.</span>
+<span class="sd">        :type quote_character: string</span>
+<span class="sd">        :param ignore_unknown_values: [Optional] Indicates if BigQuery should allow</span>
+<span class="sd">            extra values that are not represented in the table schema.</span>
+<span class="sd">            If true, the extra values are ignored. If false, records with extra columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an</span>
+<span class="sd">            invalid error is returned in the job result.</span>
+<span class="sd">        :type ignore_unknown_values: bool</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not</span>
+<span class="sd">            (false).</span>
+<span class="sd">        :type allow_quoted_newlines: boolean</span>
+<span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing</span>
+<span class="sd">            trailing columns are treated as bad records, and if there are too many bad</span>
+<span class="sd">            records, an invalid error is returned in the job result. Only applicable when</span>
+<span class="sd">            soure_format is CSV.</span>
+<span class="sd">        :type allow_jagged_rows: bool</span>
+<span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
+<span class="sd">            table to be updated as a side effect of the load job.</span>
+<span class="sd">        :type schema_update_options: tuple</span>
+<span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
+<span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and  expiration as per API specifications.</span>
+<span class="sd">        :type time_partitioning: dict</span>
+<span class="sd">        :param cluster_fields: Request that the result of this load be stored sorted</span>
+<span class="sd">            by one or more columns. This is only available in combination with</span>
+<span class="sd">            time_partitioning. The order of columns given determines the sort order.</span>
+<span class="sd">        :type cluster_fields: list of str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># bigquery only allows certain source formats</span>
+        <span class="c1"># we check to make sure the passed source format is valid</span>
+        <span class="c1"># if it&#39;s not, we raise a ValueError</span>
+        <span class="c1"># Refer to this link for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.tableDefinitions.(key).sourceFormat</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">autodetect</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;You must either pass a schema or autodetect=True.&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">src_fmt_configs</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">,</span> <span class="s2">&quot;PARQUET&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_formats</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid source format. &quot;</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
+
+        <span class="c1"># bigquery also allows you to define how you want a table&#39;s schema to change</span>
+        <span class="c1"># as a side effect of a load</span>
+        <span class="c1"># for more details:</span>
+        <span class="c1"># https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schemaUpdateOptions</span>
+        <span class="n">allowed_schema_update_options</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span> <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span><span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span>
+                <span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> contains invalid schema update options.&quot;</span>
+                <span class="s2">&quot;Please only use one or more of the following options: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="n">allowed_schema_update_options</span><span class="p">))</span>
+
+        <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
+
+        <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;load&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;autodetect&#39;</span><span class="p">:</span> <span class="n">autodetect</span><span class="p">,</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
+                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
+                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">destination_table</span><span class="p">,</span>
+                <span class="p">},</span>
+                <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
+                <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">:</span> <span class="n">ignore_unknown_values</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">_cleanse_time_partitioning</span><span class="p">(</span>
+            <span class="n">destination_project_dataset_table</span><span class="p">,</span>
+            <span class="n">time_partitioning</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;timePartitioning&#39;</span><span class="p">:</span> <span class="n">time_partitioning</span>
+            <span class="p">})</span>
+
+        <span class="k">if</span> <span class="n">cluster_fields</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;clustering&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">cluster_fields</span><span class="p">}})</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span><span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;schema_update_options is only &quot;</span>
+                                 <span class="s2">&quot;allowed if write_disposition is &quot;</span>
+                                 <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Adding experimental &quot;</span>
+                    <span class="s2">&quot;&#39;schemaUpdateOptions&#39;: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">))</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span>
+                    <span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">schema_update_options</span>
+
+        <span class="k">if</span> <span class="n">max_bad_records</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;maxBadRecords&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_bad_records</span>
+
+        <span class="c1"># if following fields are not specified in src_fmt_configs,</span>
+        <span class="c1"># honor the top-level params for backward-compatibility</span>
+        <span class="k">if</span> <span class="s1">&#39;skipLeadingRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+        <span class="k">if</span> <span class="s1">&#39;fieldDelimiter&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="k">if</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ignore_unknown_values</span>
+        <span class="k">if</span> <span class="n">quote_character</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;quote&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">quote_character</span>
+        <span class="k">if</span> <span class="n">allow_quoted_newlines</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
+
+        <span class="n">src_fmt_to_configs_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span> <span class="s1">&#39;autodetect&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;nullMarker&#39;</span><span class="p">,</span> <span class="s1">&#39;quote&#39;</span>
+            <span class="p">],</span>
+            <span class="s1">&#39;DATASTORE_BACKUP&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;projectionFields&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;NEWLINE_DELIMITED_JSON&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;autodetect&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;PARQUET&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;autodetect&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;AVRO&#39;</span><span class="p">:</span> <span class="p">[],</span>
+        <span class="p">}</span>
+        <span class="n">valid_configs</span> <span class="o">=</span> <span class="n">src_fmt_to_configs_mapping</span><span class="p">[</span><span class="n">source_format</span><span class="p">]</span>
+        <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="n">k</span><span class="p">:</span> <span class="n">v</span>
+            <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span>
+        <span class="p">}</span>
+        <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">src_fmt_configs</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">allow_jagged_rows</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_jagged_rows</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_with_configuration</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">configuration</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery SQL query. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/v2/jobs</span>
+
+<span class="sd">        For more details about the configuration parameter.</span>
+
+<span class="sd">        :param configuration: The configuration parameter maps directly to</span>
+<span class="sd">            BigQuery&#39;s configuration field in the job object. See</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs for</span>
+<span class="sd">            details.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="n">job_data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;configuration&#39;</span><span class="p">:</span> <span class="n">configuration</span><span class="p">}</span>
+
+        <span class="c1"># Send query and wait for reply.</span>
+        <span class="n">query_reply</span> <span class="o">=</span> <span class="n">jobs</span> \
+            <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">job_data</span><span class="p">)</span> \
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="o">=</span> <span class="n">query_reply</span><span class="p">[</span><span class="s1">&#39;jobReference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
+
+        <span class="c1"># Wait for query to finish.</span>
+        <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="k">while</span> <span class="n">keep_polling_job</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">:</span>
+                    <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                        <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                        <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">,</span>
+                        <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                        <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                        <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">:</span>
+                    <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">False</span>
+                    <span class="c1"># Check if job had errors.</span>
+                    <span class="k">if</span> <span class="s1">&#39;errorResult&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
+                        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                            <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">{}</span><span class="s1">. The job was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span>
+                            <span class="nb">format</span><span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">],</span> <span class="n">job</span><span class="p">))</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                                  <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+
+            <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">503</span><span class="p">]:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                        <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error, waiting for job to complete: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                        <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                        <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                        <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span>
+
+    <span class="k">def</span> <span class="nf">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_id</span><span class="p">):</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">:</span>
+                <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                               <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">,</span>
+                               <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                               <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">503</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error while polling job with id </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                    <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
+        <span class="k">return</span> <span class="kc">False</span>
+
+    <span class="k">def</span> <span class="nf">cancel_query</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Cancel all started queries that have not yet completed</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="ow">and</span>
+                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Attempting to cancel job : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                          <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">:</span>
+                <span class="n">jobs</span><span class="o">.</span><span class="n">cancel</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">,</span>
+                    <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">jobs</span><span class="o">.</span><span class="n">cancel</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;No running BigQuery jobs to cancel.&#39;</span><span class="p">)</span>
+            <span class="k">return</span>
+
+        <span class="c1"># Wait for all the calls to cancel to finish</span>
+        <span class="n">max_polling_attempts</span> <span class="o">=</span> <span class="mi">12</span>
+        <span class="n">polling_attempts</span> <span class="o">=</span> <span class="mi">0</span>
+
+        <span class="n">job_complete</span> <span class="o">=</span> <span class="kc">False</span>
+        <span class="k">while</span> <span class="n">polling_attempts</span> <span class="o">&lt;</span> <span class="n">max_polling_attempts</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">job_complete</span><span class="p">:</span>
+            <span class="n">polling_attempts</span> <span class="o">=</span> <span class="n">polling_attempts</span> <span class="o">+</span> <span class="mi">1</span>
+            <span class="n">job_complete</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">job_complete</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Job successfully canceled: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">polling_attempts</span> <span class="o">==</span> <span class="n">max_polling_attempts</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Stopping polling due to timeout. Job with id </span><span class="si">%s</span><span class="s2"> &quot;</span>
+                    <span class="s2">&quot;has not completed cancel and may or may not finish.&quot;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for canceled job with id </span><span class="si">%s</span><span class="s1"> to finish.&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_schema</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the schema for a given datset.table.</span>
+<span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
+
+<span class="sd">        :param dataset_id: the dataset ID of the requested table</span>
+<span class="sd">        :param table_id: the table ID of the requested table</span>
+<span class="sd">        :return: a table schema</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">tables_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
+            <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span> <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">)</span> \
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">tables_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">get_tabledata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span>
+                      <span class="n">max_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">selected_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">start_index</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the data of a given dataset.table and optionally with selected columns.</span>
+<span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list</span>
+
+<span class="sd">        :param dataset_id: the dataset ID of the requested table.</span>
+<span class="sd">        :param table_id: the table ID of the requested table.</span>
+<span class="sd">        :param max_results: the maximum results to return.</span>
+<span class="sd">        :param selected_fields: List of fields to return (comma-separated). If</span>
+<span class="sd">            unspecified, all fields are returned.</span>
+<span class="sd">        :param page_token: page token, returned from a previous call,</span>
+<span class="sd">            identifying the result set.</span>
+<span class="sd">        :param start_index: zero based index of the starting row to read.</span>
+<span class="sd">        :return: map containing the requested rows.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">optional_params</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">max_results</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;maxResults&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_results</span>
+        <span class="k">if</span> <span class="n">selected_fields</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;selectedFields&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">selected_fields</span>
+        <span class="k">if</span> <span class="n">page_token</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;pageToken&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">page_token</span>
+        <span class="k">if</span> <span class="n">start_index</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;startIndex&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">start_index</span>
+        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tabledata</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+            <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">optional_params</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deletion_dataset_table</span><span class="p">,</span>
+                         <span class="n">ignore_if_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete an existing table from the dataset;</span>
+<span class="sd">        If the table does not exist, return an error unless ignore_if_missing</span>
+<span class="sd">        is set to True.</span>
+
+<span class="sd">        :param deletion_dataset_table: A dotted</span>
+<span class="sd">        (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; that indicates which table</span>
+<span class="sd">        will be deleted.</span>
+<span class="sd">        :type deletion_dataset_table: str</span>
+<span class="sd">        :param ignore_if_missing: if True, then return success even if the</span>
+<span class="sd">        requested table does not exist.</span>
+<span class="sd">        :type ignore_if_missing: boolean</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">deletion_project</span><span class="p">,</span> <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">deletion_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">deletion_project</span><span class="p">,</span>
+                        <span class="n">datasetId</span><span class="o">=</span><span class="n">deletion_dataset</span><span class="p">,</span>
+                        <span class="n">tableId</span><span class="o">=</span><span class="n">deletion_table</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleted table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">.&#39;</span><span class="p">,</span> <span class="n">deletion_project</span><span class="p">,</span>
+                          <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">ignore_if_missing</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Table deletion failed. Table does not exist.&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table does not exist. Skipping.&#39;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_table_upsert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_resource</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        creates a new, empty table in the dataset;</span>
+<span class="sd">        If the table already exists, update the existing table.</span>
+<span class="sd">        Since BigQuery does not natively allow table upserts, this is not an</span>
+<span class="sd">        atomic operation.</span>
+
+<span class="sd">        :param dataset_id: the dataset to upsert the table into.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param table_resource: a table resource. see</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</span>
+<span class="sd">        :type table_resource: dict</span>
+<span class="sd">        :param project_id: the project to upsert the table into.  If None,</span>
+<span class="sd">        project will be self.project_id.</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># check to see if the table exists</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tables&#39;</span><span class="p">,</span> <span class="p">[]):</span>
+                <span class="k">if</span> <span class="n">table</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">table_id</span><span class="p">:</span>
+                    <span class="c1"># found the table, do update</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
+                                  <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span>
+                        <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                        <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                        <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+                        <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="c1"># If there is a next page, we need to check the next page.</span>
+            <span class="k">if</span> <span class="s1">&#39;nextPageToken&#39;</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">:</span>
+                <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span>\
+                    <span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                          <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                          <span class="n">pageToken</span><span class="o">=</span><span class="n">tables_list_resp</span><span class="p">[</span><span class="s1">&#39;nextPageToken&#39;</span><span class="p">])</span>\
+                    <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="c1"># If there is no next page, then the table doesn&#39;t exist.</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="c1"># do insert</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
+                              <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                    <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">run_grant_dataset_view_access</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                                      <span class="n">source_dataset</span><span class="p">,</span>
+                                      <span class="n">view_dataset</span><span class="p">,</span>
+                                      <span class="n">view_table</span><span class="p">,</span>
+                                      <span class="n">source_project</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                                      <span class="n">view_project</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Grant authorized view access of a dataset to a view table.</span>
+<span class="sd">        If this view has already been granted access to the dataset, do nothing.</span>
+<span class="sd">        This method is not atomic.  Running it may clobber a simultaneous update.</span>
+
+<span class="sd">        :param source_dataset: the source dataset</span>
+<span class="sd">        :type source_dataset: str</span>
+<span class="sd">        :param view_dataset: the dataset that the view is in</span>
+<span class="sd">        :type view_dataset: str</span>
+<span class="sd">        :param view_table: the table of the view</span>
+<span class="sd">        :type view_table: str</span>
+<span class="sd">        :param source_project: the project of the source dataset. If None,</span>
+<span class="sd">        self.project_id will be used.</span>
+<span class="sd">        :type source_project: str</span>
+<span class="sd">        :param view_project: the project that the view is in. If None,</span>
+<span class="sd">        self.project_id will be used.</span>
+<span class="sd">        :type view_project: str</span>
+<span class="sd">        :return: the datasets resource of the source dataset.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># Apply default values to projects</span>
+        <span class="n">source_project</span> <span class="o">=</span> <span class="n">source_project</span> <span class="k">if</span> <span class="n">source_project</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">view_project</span> <span class="o">=</span> <span class="n">view_project</span> <span class="k">if</span> <span class="n">view_project</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="c1"># we don&#39;t want to clobber any existing accesses, so we have to get</span>
+        <span class="c1"># info on the dataset before we can add view access</span>
+        <span class="n">source_dataset_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">access</span> <span class="o">=</span> <span class="n">source_dataset_resource</span><span class="p">[</span>
+            <span class="s1">&#39;access&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="s1">&#39;access&#39;</span> <span class="ow">in</span> <span class="n">source_dataset_resource</span> <span class="k">else</span> <span class="p">[]</span>
+        <span class="n">view_access</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;view&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">view_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">view_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">view_table</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+        <span class="c1"># check to see if the view we want to add already exists.</span>
+        <span class="k">if</span> <span class="n">view_access</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">access</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Granting table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span>
+                <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="n">access</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">view_access</span><span class="p">)</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="p">{</span>
+                    <span class="s1">&#39;access&#39;</span><span class="p">:</span> <span class="n">access</span>
+                <span class="p">})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="c1"># if view is already in access, do nothing.</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">source_dataset_resource</span>
+
+    <span class="k">def</span> <span class="nf">create_empty_dataset</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                             <span class="n">dataset_reference</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a new empty dataset:</span>
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/insert</span>
+
+<span class="sd">        :param project_id: The name of the project where we want to create</span>
+<span class="sd">            an empty a dataset. Don&#39;t need to provide, if projectId in dataset_reference.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The id of dataset. Don&#39;t need to provide,</span>
+<span class="sd">            if datasetId in dataset_reference.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param dataset_reference: Dataset reference that could be provided</span>
+<span class="sd">            with request body. More info:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource</span>
+<span class="sd">        :type dataset_reference: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">dataset_reference</span><span class="p">:</span>
+            <span class="n">_validate_value</span><span class="p">(</span><span class="s1">&#39;dataset_reference&#39;</span><span class="p">,</span> <span class="n">dataset_reference</span><span class="p">,</span> <span class="nb">dict</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">dataset_reference</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="s2">&quot;datasetReference&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dataset_reference</span><span class="p">:</span>
+            <span class="n">dataset_reference</span><span class="p">[</span><span class="s2">&quot;datasetReference&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dataset_reference</span><span class="p">[</span><span class="s2">&quot;datasetReference&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;datasetId&quot;</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">dataset_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> not provided datasetId. Impossible to create dataset&quot;</span><span class="p">)</span>
+
+        <span class="n">dataset_required_params</span> <span class="o">=</span> <span class="p">[(</span><span class="n">dataset_id</span><span class="p">,</span> <span class="s2">&quot;datasetId&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">),</span>
+                                   <span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="s2">&quot;projectId&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)]</span>
+        <span class="k">for</span> <span class="n">param_tuple</span> <span class="ow">in</span> <span class="n">dataset_required_params</span><span class="p">:</span>
+            <span class="n">param</span><span class="p">,</span> <span class="n">param_name</span><span class="p">,</span> <span class="n">param_default</span> <span class="o">=</span> <span class="n">param_tuple</span>
+            <span class="k">if</span> <span class="n">param_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dataset_reference</span><span class="p">[</span><span class="s1">&#39;datasetReference&#39;</span><span class="p">]:</span>
+                <span class="k">if</span> <span class="n">param_default</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">param</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> was not specified. Will be used default &quot;</span>
+                                  <span class="s2">&quot;value </span><span class="si">{}</span><span class="s2">.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">param_name</span><span class="p">,</span>
+                                                     <span class="n">param_default</span><span class="p">))</span>
+                    <span class="n">param</span> <span class="o">=</span> <span class="n">param_default</span>
+                <span class="n">dataset_reference</span><span class="p">[</span><span class="s1">&#39;datasetReference&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span>
+                    <span class="p">{</span><span class="n">param_name</span><span class="p">:</span> <span class="n">param</span><span class="p">})</span>
+            <span class="k">elif</span> <span class="n">param</span><span class="p">:</span>
+                <span class="n">_api_resource_configs_duplication_check</span><span class="p">(</span>
+                    <span class="n">param_name</span><span class="p">,</span> <span class="n">param</span><span class="p">,</span>
+                    <span class="n">dataset_reference</span><span class="p">[</span><span class="s1">&#39;datasetReference&#39;</span><span class="p">],</span> <span class="s1">&#39;dataset_reference&#39;</span><span class="p">)</span>
+
+        <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">dataset_reference</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;datasetReference&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;datasetId&quot;</span><span class="p">)</span>
+        <span class="n">dataset_project_id</span> <span class="o">=</span> <span class="n">dataset_reference</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;datasetReference&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="s2">&quot;projectId&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Dataset: </span><span class="si">%s</span><span class="s1"> in project: </span><span class="si">%s</span><span class="s1"> &#39;</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span>
+                      <span class="n">dataset_project_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">dataset_project_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">dataset_reference</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dataset created successfully: In project </span><span class="si">%s</span><span class="s1"> &#39;</span>
+                          <span class="s1">&#39;Dataset </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">dataset_project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">delete_dataset</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete a dataset of Big query in your project.</span>
+<span class="sd">        :param project_id: The name of the project where we have the dataset .</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The dataset to be delete.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleting from project: </span><span class="si">%s</span><span class="s1">  Dataset:</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dataset deleted successfully: In project </span><span class="si">%s</span><span class="s1"> &#39;</span>
+                          <span class="s1">&#39;Dataset </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_dataset</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Method returns dataset_resource if dataset exist</span>
+<span class="sd">        and raised 404 error if dataset does not exist</span>
+
+<span class="sd">        :param dataset_id: The BigQuery Dataset ID</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param project_id: The GCP Project ID</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :return: dataset_resource</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">                For more information, see Dataset Resource content:</span>
+<span class="sd">                https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dataset_id</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dataset_id</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;dataset_id argument must be provided and has &quot;</span>
+                             <span class="s2">&quot;a type &#39;str&#39;. You provided: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dataset_id</span><span class="p">))</span>
+
+        <span class="n">dataset_project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">dataset_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span> <span class="n">projectId</span><span class="o">=</span><span class="n">dataset_project_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Dataset Resource: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dataset_resource</span><span class="p">))</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="n">dataset_resource</span>
+
+    <span class="k">def</span> <span class="nf">get_datasets_list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Method returns full list of BigQuery datasets in the current project</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            For more information, see:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/list</span>
+
+<span class="sd">        :param project_id: Google Cloud Project for which you</span>
+<span class="sd">            try to get all datasets</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :return: datasets_list</span>
+
+<span class="sd">            Example of returned datasets_list: ::</span>
+
+<span class="sd">                   {</span>
+<span class="sd">                      &quot;kind&quot;:&quot;bigquery#dataset&quot;,</span>
+<span class="sd">                      &quot;location&quot;:&quot;US&quot;,</span>
+<span class="sd">                      &quot;id&quot;:&quot;your-project:dataset_2_test&quot;,</span>
+<span class="sd">                      &quot;datasetReference&quot;:{</span>
+<span class="sd">                         &quot;projectId&quot;:&quot;your-project&quot;,</span>
+<span class="sd">                         &quot;datasetId&quot;:&quot;dataset_2_test&quot;</span>
+<span class="sd">                      }</span>
+<span class="sd">                   },</span>
+<span class="sd">                   {</span>
+<span class="sd">                      &quot;kind&quot;:&quot;bigquery#dataset&quot;,</span>
+<span class="sd">                      &quot;location&quot;:&quot;US&quot;,</span>
+<span class="sd">                      &quot;id&quot;:&quot;your-project:dataset_1_test&quot;,</span>
+<span class="sd">                      &quot;datasetReference&quot;:{</span>
+<span class="sd">                         &quot;projectId&quot;:&quot;your-project&quot;,</span>
+<span class="sd">                         &quot;datasetId&quot;:&quot;dataset_1_test&quot;</span>
+<span class="sd">                      }</span>
+<span class="sd">                   }</span>
+<span class="sd">                ]</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dataset_project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">datasets_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">dataset_project_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()[</span><span class="s1">&#39;datasets&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Datasets List: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">datasets_list</span><span class="p">))</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="n">datasets_list</span>
+
+    <span class="k">def</span> <span class="nf">insert_all</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span>
+                   <span class="n">rows</span><span class="p">,</span> <span class="n">ignore_unknown_values</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                   <span class="n">skip_invalid_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">fail_on_error</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Method to stream data into BigQuery one record at a time without needing</span>
+<span class="sd">        to run a load job</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            For more information, see:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll</span>
+
+<span class="sd">        :param project_id: The name of the project where we have the table</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The name of the dataset where we have the table</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param table_id: The name of the table</span>
+<span class="sd">        :type table_id: str</span>
+<span class="sd">        :param rows: the rows to insert</span>
+<span class="sd">        :type rows: list</span>
+
+<span class="sd">        **Example or rows**:</span>
+<span class="sd">            rows=[{&quot;json&quot;: {&quot;a_key&quot;: &quot;a_value_0&quot;}}, {&quot;json&quot;: {&quot;a_key&quot;: &quot;a_value_1&quot;}}]</span>
+
+<span class="sd">        :param ignore_unknown_values: [Optional] Accept rows that contain values</span>
+<span class="sd">            that do not match the schema. The unknown values are ignored.</span>
+<span class="sd">            The default value  is false, which treats unknown values as errors.</span>
+<span class="sd">        :type ignore_unknown_values: bool</span>
+<span class="sd">        :param skip_invalid_rows: [Optional] Insert all valid rows of a request,</span>
+<span class="sd">            even if invalid rows exist. The default value is false, which causes</span>
+<span class="sd">            the entire request to fail if any invalid rows exist.</span>
+<span class="sd">        :type skip_invalid_rows: bool</span>
+<span class="sd">        :param fail_on_error: [Optional] Force the task to fail if any errors occur.</span>
+<span class="sd">            The default value is false, which indicates the task should not fail</span>
+<span class="sd">            even if any insertion errors occur.</span>
+<span class="sd">        :type fail_on_error: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">dataset_project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s2">&quot;rows&quot;</span><span class="p">:</span> <span class="n">rows</span><span class="p">,</span>
+            <span class="s2">&quot;ignoreUnknownValues&quot;</span><span class="p">:</span> <span class="n">ignore_unknown_values</span><span class="p">,</span>
+            <span class="s2">&quot;kind&quot;</span><span class="p">:</span> <span class="s2">&quot;bigquery#tableDataInsertAllRequest&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;skipInvalidRows&quot;</span><span class="p">:</span> <span class="n">skip_invalid_rows</span><span class="p">,</span>
+        <span class="p">}</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Inserting </span><span class="si">{}</span><span class="s1"> row(s) into Table </span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">.</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span cla [...]
+                <span class="nb">len</span><span class="p">(</span><span class="n">rows</span><span class="p">),</span> <span class="n">dataset_project_id</span><span class="p">,</span>
+                <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">))</span>
+
+            <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tabledata</span><span class="p">()</span><span class="o">.</span><span class="n">insertAll</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">dataset_project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="s1">&#39;insertErrors&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">resp</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;All row(s) inserted successfully: </span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">.</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">dataset_project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">))</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">error_msg</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1"> insert error(s) occured: </span><span class="si">{}</span><span class="s1">:</span><span class="si">{}</span><span class="s1">.</span><span class="si">{}</span><span class="s1">. Details: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="nb">len</span><span class="p">(</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;insertErrors&#39;</span><span class="p">]),</span>
+                    <span class="n">dataset_project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;insertErrors&#39;</span><span class="p">])</span>
+                <span class="k">if</span> <span class="n">fail_on_error</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                        <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_msg</span><span class="p">)</span>
+                    <span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">error_msg</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">BigQueryCursor</span><span class="p">(</span><span class="n">BigQueryBaseCursor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    A very basic BigQuery PEP 249 cursor implementation. The PyHive PEP 249</span>
+<span class="sd">    implementation was used as a reference:</span>
+
+<span class="sd">    https://github.com/dropbox/PyHive/blob/master/pyhive/presto.py</span>
+<span class="sd">    https://github.com/dropbox/PyHive/blob/master/pyhive/common.py</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">location</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="n">use_legacy_sql</span><span class="p">,</span>
+            <span class="n">location</span><span class="o">=</span><span class="n">location</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="kc">False</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">description</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; The schema description method is not currently implemented. &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span>
+
+    <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; By default, do nothing &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">rowcount</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; By default, return -1 to indicate that this is not supported. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="o">-</span><span class="mi">1</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes a BigQuery query, and returns the job ID.</span>
+
+<span class="sd">        :param operation: The query to execute.</span>
+<span class="sd">        :type operation: string</span>
+<span class="sd">        :param parameters: Parameters to substitute into the query.</span>
+<span class="sd">        :type parameters: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">sql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span>
+                               <span class="n">parameters</span><span class="p">)</span> <span class="k">if</span> <span class="n">parameters</span> <span class="k">else</span> <span class="n">operation</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">executemany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">seq_of_parameters</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Execute a BigQuery query multiple times with different parameters.</span>
+
+<span class="sd">        :param operation: The query to execute.</span>
+<span class="sd">        :type operation: string</span>
+<span class="sd">        :param seq_of_parameters: List of dictionary parameters to substitute into the</span>
+<span class="sd">            query.</span>
+<span class="sd">        :type seq_of_parameters: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">for</span> <span class="n">parameters</span> <span class="ow">in</span> <span class="n">seq_of_parameters</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">fetchone</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Fetch the next row of a query result set. &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">next</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Helper method for fetchone, which returns the next row from a buffer.</span>
+<span class="sd">        If the buffer is empty, attempts to paginate through the result set for</span>
+<span class="sd">        the next page, and load it into the buffer.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">None</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">None</span>
+
+            <span class="n">query_results</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">getQueryResults</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span>
+                <span class="n">pageToken</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">())</span>
+
+            <span class="k">if</span> <span class="s1">&#39;rows&#39;</span> <span class="ow">in</span> <span class="n">query_results</span> <span class="ow">and</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;rows&#39;</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="n">query_results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;pageToken&#39;</span><span class="p">)</span>
+                <span class="n">fields</span> <span class="o">=</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">][</span><span class="s1">&#39;fields&#39;</span><span class="p">]</span>
+                <span class="n">col_types</span> <span class="o">=</span> <span class="p">[</span><span class="n">field</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="n">fields</span><span class="p">]</span>
+                <span class="n">rows</span> <span class="o">=</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;rows&#39;</span><span class="p">]</span>
+
+                <span class="k">for</span> <span class="n">dict_row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
+                    <span class="n">typed_row</span> <span class="o">=</span> <span class="p">([</span>
+                        <span class="n">_bq_cast</span><span class="p">(</span><span class="n">vs</span><span class="p">[</span><span class="s1">&#39;v&#39;</span><span class="p">],</span> <span class="n">col_types</span><span class="p">[</span><span class="n">idx</span><span class="p">])</span>
+                        <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">vs</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">dict_row</span><span class="p">[</span><span class="s1">&#39;f&#39;</span><span class="p">])</span>
+                    <span class="p">])</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">typed_row</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span> <span class="o">=</span> <span class="kc">True</span>
+
+            <span class="k">else</span><span class="p">:</span>
+                <span class="c1"># Reset all state since we&#39;ve exhausted the results.</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="k">return</span> <span class="kc">None</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">fetchmany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch the next set of rows of a query result, returning a sequence of sequences</span>
+<span class="sd">        (e.g. a list of tuples). An empty sequence is returned when no more rows are</span>
+<span class="sd">        available. The number of rows to fetch per call is specified by the parameter.</span>
+<span class="sd">        If it is not given, the cursor&#39;s arraysize determines the number of rows to be</span>
+<span class="sd">        fetched. The method should try to fetch as many rows as indicated by the size</span>
+<span class="sd">        parameter. If this is not possible due to the specified number of rows not being</span>
+<span class="sd">        available, fewer rows may be returned. An :py:class:`~pyhive.exc.Error`</span>
+<span class="sd">        (or subclass) exception is raised if the previous call to</span>
+<span class="sd">        :py:meth:`execute` did not produce any result set or no call was issued yet.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arraysize</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">size</span><span class="p">):</span>
+            <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="k">def</span> <span class="nf">fetchall</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetch all (remaining) rows of a query result, returning them as a sequence of</span>
+<span class="sd">        sequences (e.g. a list of tuples).</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">one</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="k">def</span> <span class="nf">get_arraysize</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Specifies the number of rows to fetch at a time with .fetchmany() &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffersize</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="k">else</span> <span class="mi">1</span>
+
+    <span class="k">def</span> <span class="nf">set_arraysize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">arraysize</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Specifies the number of rows to fetch at a time with .fetchmany() &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="n">arraysize</span>
+
+    <span class="n">arraysize</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">get_arraysize</span><span class="p">,</span> <span class="n">set_arraysize</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">setinputsizes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sizes</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">setoutputsize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">column</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Does nothing by default &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+
+<span class="k">def</span> <span class="nf">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot; Helper method that binds parameters to a SQL query. &quot;&quot;&quot;</span>
+    <span class="c1"># inspired by MySQL Python Connector (conversion.py)</span>
+    <span class="n">string_parameters</span> <span class="o">=</span> <span class="p">{}</span>
+    <span class="k">for</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> <span class="ow">in</span> <span class="n">iteritems</span><span class="p">(</span><span class="n">parameters</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;NULL&#39;</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">_escape</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">string_parameters</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">operation</span> <span class="o">%</span> <span class="n">string_parameters</span>
+
+
+<span class="k">def</span> <span class="nf">_escape</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot; Helper method that escapes parameters to a SQL query. &quot;&quot;&quot;</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">s</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\\</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\\\</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">n&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\r</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">r&#39;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;</span><span class="se">\\</span><span class="s2">&#39;&quot;</span><span class="p">)</span>
+    <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;&quot;&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">&quot;&#39;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">e</span>
+
+
+<span class="k">def</span> <span class="nf">_bq_cast</span><span class="p">(</span><span class="n">string_field</span><span class="p">,</span> <span class="n">bq_type</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Helper method that casts a BigQuery row to the appropriate data types.</span>
+<span class="sd">    This is useful because BigQuery returns all fields as strings.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">if</span> <span class="n">string_field</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">return</span> <span class="kc">None</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;INTEGER&#39;</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;BOOLEAN&#39;</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">string_field</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;true&#39;</span><span class="p">,</span> <span class="s1">&#39;false&#39;</span><span class="p">]:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> must have value &#39;true&#39; or &#39;false&#39;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">string_field</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">string_field</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span> <span class="n">string_field</span>
+
+
+<span class="k">def</span> <span class="nf">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="p">,</span> <span class="n">default_project_id</span><span class="p">,</span> <span class="n">var_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+
+    <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">table_input</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+            <span class="s1">&#39;Expected target table name in the format of &#39;</span>
+            <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">default_project_id</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;INTERNAL: No default project is specified&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s2">&quot;Format exception for </span><span class="si">{var}</span><span class="s2">: &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">)</span>
+
+    <span class="k">if</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Use either : or . to specify project &#39;</span>
+                         <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                             <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+    <span class="n">cmpt</span> <span class="o">=</span> <span class="n">table_input</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+    <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="n">rest</span> <span class="o">=</span> <span class="n">table_input</span>
+    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">rest</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+    <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">)</span> <span class="o">&lt;=</span> <span class= [...]
+        <span class="k">if</span> <span class="n">cmpt</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
+            <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+            <span class="n">rest</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+                         <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                             <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="n">cmpt</span> <span class="o">=</span> <span class="n">rest</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">project_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">)))</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
+
+    <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
+        <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+            <span class="p">(</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project.|&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+             <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+
+    <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+            <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Project not included in </span><span class="si">{var}</span><span class="s1">: </span><span class="si">{input}</span><span class="s1">; &#39;</span>
+                     <span class="s1">&#39;using project &quot;</span><span class="si">{project}</span><span class="s1">&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                         <span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span>
+                         <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">,</span>
+                         <span class="n">project</span><span class="o">=</span><span class="n">default_project_id</span><span class="p">))</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">default_project_id</span>
+
+    <span class="k">return</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
+
+
+<span class="k">def</span> <span class="nf">_cleanse_time_partitioning</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">,</span> <span class="n">time_partitioning_in</span><span class="p">):</span>
+    <span class="c1"># if it is a partitioned table ($ is in the table name) add partition load option</span>
+
+    <span class="k">if</span> <span class="n">time_partitioning_in</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">time_partitioning_in</span> <span class="o">=</span> <span class="p">{}</span>
+
+    <span class="n">time_partitioning_out</span> <span class="o">=</span> <span class="p">{}</span>
+    <span class="k">if</span> <span class="n">destination_dataset_table</span> <span class="ow">and</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
+        <span class="n">time_partitioning_out</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;DAY&#39;</span>
+    <span class="n">time_partitioning_out</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">time_partitioning_in</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">time_partitioning_out</span>
+
+
+<span class="k">def</span> <span class="nf">_validate_value</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">expected_type</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot; function to check expected type and raise</span>
+<span class="sd">    error if type is not correct &quot;&quot;&quot;</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">expected_type</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> argument must have a type </span><span class="si">{}</span><span class="s2"> not </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">expected_type</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span>
+
+
+<span class="k">def</span> <span class="nf">_api_resource_configs_duplication_check</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">config_dict</span><span class="p">,</span>
+                                            <span class="n">config_dict_name</span><span class="o">=</span><span class="s1">&#39;api_resource_configs&#39;</span><span class="p">):</span>
+    <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">config_dict</span> <span class="ow">and</span> <span class="n">value</span> <span class="o">!=</span> <span class="n">config_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]:</span>
+        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Values of </span><span class="si">{param_name}</span><span class="s2"> param are duplicated. &quot;</span>
+                         <span class="s2">&quot;</span><span class="si">{dict_name}</span><span class="s2"> contained </span><span class="si">{param_name}</span><span class="s2"> param &quot;</span>
+                         <span class="s2">&quot;in `query` config and </span><span class="si">{param_name}</span><span class="s2"> was also provided &quot;</span>
+                         <span class="s2">&quot;with arg to run_query() method. Please remove duplicates.&quot;</span>
+                         <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">param_name</span><span class="o">=</span><span class="n">key</span><span class="p">,</span> <span class="n">dict_name</span><span class="o">=</span><span class="n">config_dict_name</span><span class="p">))</span>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/cassandra_hook.html b/1.10.2/_modules/airflow/contrib/hooks/cassandra_hook.html
new file mode 100644
index 0000000..d51e64c
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/cassandra_hook.html
@@ -0,0 +1,416 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.cassandra_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.cassandra_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.cassandra_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">cassandra.cluster</span> <span class="k">import</span> <span class="n">Cluster</span>
+<span class="kn">from</span> <span class="nn">cassandra.policies</span> <span class="k">import</span> <span class="p">(</span><span class="n">RoundRobinPolicy</span><span class="p">,</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">,</span>
+                                <span class="n">TokenAwarePolicy</span><span class="p">,</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">cassandra.auth</span> <span class="k">import</span> <span class="n">PlainTextAuthProvider</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="CassandraHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook">[docs]</a><span class="k">class</span> <span class="nc">CassandraHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook used to interact with Cassandra</span>
+
+<span class="sd">    Contact points can be specified as a comma-separated string in the &#39;hosts&#39;</span>
+<span class="sd">    field of the connection.</span>
+
+<span class="sd">    Port can be specified in the port field of the connection.</span>
+
+<span class="sd">    If SSL is enabled in Cassandra, pass in a dict in the extra field as kwargs for</span>
+<span class="sd">    ``ssl.wrap_socket()``. For example:</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;ssl_options&#39; : {</span>
+<span class="sd">                    &#39;ca_certs&#39; : PATH_TO_CA_CERTS</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+
+<span class="sd">    Default load balancing policy is RoundRobinPolicy. To specify a different LB policy:</span>
+<span class="sd">        - DCAwareRoundRobinPolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;DCAwareRoundRobinPolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;local_dc&#39;: LOCAL_DC_NAME,                      // optional</span>
+<span class="sd">                    &#39;used_hosts_per_remote_dc&#39;: SOME_INT_VALUE,     // optional</span>
+<span class="sd">                }</span>
+<span class="sd">             }</span>
+<span class="sd">        - WhiteListRoundRobinPolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;WhiteListRoundRobinPolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;hosts&#39;: [&#39;HOST1&#39;, &#39;HOST2&#39;, &#39;HOST3&#39;]</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+<span class="sd">        - TokenAwarePolicy</span>
+<span class="sd">            {</span>
+<span class="sd">                &#39;load_balancing_policy&#39;: &#39;TokenAwarePolicy&#39;,</span>
+<span class="sd">                &#39;load_balancing_policy_args&#39;: {</span>
+<span class="sd">                    &#39;child_load_balancing_policy&#39;: CHILD_POLICY_NAME, // optional</span>
+<span class="sd">                    &#39;child_load_balancing_policy_args&#39;: { ... }       // optional</span>
+<span class="sd">                }</span>
+<span class="sd">            }</span>
+
+<span class="sd">    For details of the Cluster config, see cassandra.cluster.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cassandra_conn_id</span><span class="o">=</span><span class="s1">&#39;cassandra_default&#39;</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">cassandra_conn_id</span><span class="p">)</span>
+
+        <span class="n">conn_config</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;contact_points&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;port&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;auth_provider&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">PlainTextAuthProvider</span><span class="p">(</span>
+                <span class="n">username</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
+
+        <span class="n">policy_name</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">policy_args</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load_balancing_policy_args&#39;</span><span class="p">,</span> <span class="p">{})</span>
+        <span class="n">lb_policy</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_lb_policy</span><span class="p">(</span><span class="n">policy_name</span><span class="p">,</span> <span class="n">policy_args</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">lb_policy</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;load_balancing_policy&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">lb_policy</span>
+
+        <span class="n">cql_version</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;cql_version&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">cql_version</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;cql_version&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cql_version</span>
+
+        <span class="n">ssl_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ssl_options&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">ssl_options</span><span class="p">:</span>
+            <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;ssl_options&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ssl_options</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span> <span class="o">=</span> <span class="n">Cluster</span><span class="p">(</span><span class="o">**</span><span class="n">conn_config</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="CassandraHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a cassandra Session object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">is_shutdown</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span></div>
+
+    <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span>
+
+<div class="viewcode-block" id="CassandraHook.shutdown_cluster"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.shutdown_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">shutdown_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Closes all sessions and connections associated with this Cluster.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">is_shutdown</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">shutdown</span><span class="p">()</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">get_lb_policy</span><span class="p">(</span><span class="n">policy_name</span><span class="p">,</span> <span class="n">policy_args</span><span class="p">):</span>
+        <span class="n">policies</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">RoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">:</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">,</span>
+            <span class="s1">&#39;TokenAwarePolicy&#39;</span><span class="p">:</span> <span class="n">TokenAwarePolicy</span><span class="p">,</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">policies</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">policy_name</span><span class="p">)</span> <span class="ow">or</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">RoundRobinPolicy</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="n">local_dc</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;local_dc&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+            <span class="n">used_hosts_per_remote_dc</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;used_hosts_per_remote_dc&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span>
+            <span class="k">return</span> <span class="n">DCAwareRoundRobinPolicy</span><span class="p">(</span><span class="n">local_dc</span><span class="p">,</span> <span class="n">used_hosts_per_remote_dc</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">:</span>
+            <span class="n">hosts</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;hosts&#39;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">hosts</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Hosts must be specified for WhiteListRoundRobinPolicy&#39;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">WhiteListRoundRobinPolicy</span><span class="p">(</span><span class="n">hosts</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">policy_name</span> <span class="o">==</span> <span class="s1">&#39;TokenAwarePolicy&#39;</span><span class="p">:</span>
+            <span class="n">allowed_child_policies</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">,</span>
+                                      <span class="s1">&#39;DCAwareRoundRobinPolicy&#39;</span><span class="p">,</span>
+                                      <span class="s1">&#39;WhiteListRoundRobinPolicy&#39;</span><span class="p">,)</span>
+            <span class="n">child_policy_name</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;child_load_balancing_policy&#39;</span><span class="p">,</span>
+                                                <span class="s1">&#39;RoundRobinPolicy&#39;</span><span class="p">)</span>
+            <span class="n">child_policy_args</span> <span class="o">=</span> <span class="n">policy_args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;child_load_balancing_policy_args&#39;</span><span class="p">,</span> <span class="p">{})</span>
+            <span class="k">if</span> <span class="n">child_policy_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_child_policies</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">TokenAwarePolicy</span><span class="p">(</span><span class="n">RoundRobinPolicy</span><span class="p">())</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">child_policy</span> <span class="o">=</span> <span class="n">CassandraHook</span><span class="o">.</span><span class="n">get_lb_policy</span><span class="p">(</span><span class="n">child_policy_name</span><span class="p">,</span>
+                                                           <span class="n">child_policy_args</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">TokenAwarePolicy</span><span class="p">(</span><span class="n">child_policy</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CassandraHook.table_exists"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.table_exists">[docs]</a>    <span class="k">def</span> <span class="nf">table_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a table exists in Cassandra</span>
+
+<span class="sd">        :param table: Target Cassandra table.</span>
+<span class="sd">                      Use dot notation to target a specific keyspace.</span>
+<span class="sd">        :type table: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">keyspace</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span>
+        <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+            <span class="n">keyspace</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">cluster_metadata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">cluster</span><span class="o">.</span><span class="n">metadata</span>
+        <span class="k">return</span> <span class="p">(</span><span class="n">keyspace</span> <span class="ow">in</span> <span class="n">cluster_metadata</span><span class="o">.</span><span class="n">keyspaces</span> <span class="ow">and</span>
+                <span class="n">table</span> <span class="ow">in</span> <span class="n">cluster_metadata</span><span class="o">.</span><span class="n">keyspaces</span><span class="p">[</span><span class="n">keyspace</span><span class="p">]</span><span class="o">.</span><span class="n">tables</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CassandraHook.record_exists"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cassandra_hook.CassandraHook.record_exists">[docs]</a>    <span class="k">def</span> <span class="nf">record_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a record exists in Cassandra</span>
+
+<span class="sd">        :param table: Target Cassandra table.</span>
+<span class="sd">                      Use dot notation to target a specific keyspace.</span>
+<span class="sd">        :type table: string</span>
+<span class="sd">        :param keys: The keys and their values to check the existence.</span>
+<span class="sd">        :type keys: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">keyspace</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">keyspace</span>
+        <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+            <span class="n">keyspace</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">ks</span> <span class="o">=</span> <span class="s2">&quot; AND &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">=%(</span><span class="si">{}</span><span class="s2">)s&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">key</span><span class="p">)</spa [...]
+        <span class="n">cql</span> <span class="o">=</span> <span class="s2">&quot;SELECT * FROM </span><span class="si">{keyspace}</span><span class="s2">.</span><span class="si">{table}</span><span class="s2"> WHERE </span><span class="si">{keys}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">keyspace</span><span class="o">=</span><span class="n">keyspace</span><span class="p">,</span> <span class="n">table</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">keys</span><span class="o">=</span><span class="n">ks</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">rs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">cql</span><span class="p">,</span> <span class="n">keys</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">rs</span><span class="o">.</span><span class="n">one</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
+        <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/cloudant_hook.html b/1.10.2/_modules/airflow/contrib/hooks/cloudant_hook.html
new file mode 100644
index 0000000..b28e966
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/cloudant_hook.html
@@ -0,0 +1,302 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.cloudant_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.cloudant_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.cloudant_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">unicode</span>
+
+<span class="kn">import</span> <span class="nn">cloudant</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="CloudantHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cloudant_hook.CloudantHook">[docs]</a><span class="k">class</span> <span class="nc">CloudantHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Interact with Cloudant.</span>
+
+<span class="sd">    This class is a thin wrapper around the cloudant python library. See the</span>
+<span class="sd">    documentation `here &lt;https://github.com/cloudant-labs/cloudant-python&gt;`_.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cloudant_conn_id</span><span class="o">=</span><span class="s1">&#39;cloudant_default&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudantHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s1">&#39;cloudant&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span> <span class="o">=</span> <span class="n">cloudant_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">def</span> <span class="nf">_str</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
+            <span class="c1"># cloudant-python doesn&#39;t support unicode.</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">unicode</span><span class="p">):</span>
+                <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+                <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                    <span class="s1">&#39;cloudant-python does not support unicode. Encoding </span><span class="si">%s</span><span class="s1"> as &#39;</span>
+                    <span class="s1">&#39;ascii using &quot;ignore&quot;.&#39;</span><span class="p">,</span> <span class="n">s</span>
+                <span class="p">)</span>
+                <span class="k">return</span> <span class="n">s</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">,</span> <span class="s1">&#39;ignore&#39;</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="n">s</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">conn_param</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;host&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;missing connection parameter </span><span class="si">{0}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn_param</span><span class="p">)</span>
+                <span class="p">)</span>
+
+        <span class="c1"># In the connection form:</span>
+        <span class="c1"># - &#39;host&#39; is renamed to &#39;Account&#39;</span>
+        <span class="c1"># - &#39;login&#39; is renamed &#39;Username (or API Key)&#39;</span>
+        <span class="c1"># - &#39;schema&#39; is renamed to &#39;Database&#39;</span>
+        <span class="c1">#</span>
+        <span class="c1"># So, use the &#39;host&#39; attribute as the account name, and, if login is</span>
+        <span class="c1"># defined, use that as the username.</span>
+        <span class="n">account</span> <span class="o">=</span> <span class="n">cloudant</span><span class="o">.</span><span class="n">Account</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
+
+        <span class="n">username</span> <span class="o">=</span> <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span> <span class="ow">or</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+
+        <span class="n">account</span><span class="o">.</span><span class="n">login</span><span class="p">(</span>
+            <span class="n">username</span><span class="p">,</span>
+            <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">))</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">account</span><span class="o">.</span><span class="n">database</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span><span class="p">))</span>
+
+<div class="viewcode-block" id="CloudantHook.db"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.cloudant_hook.CloudantHook.db">[docs]</a>    <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns the Database object for this hook.</span>
+
+<span class="sd">        See the documentation for cloudant-python here</span>
+<span class="sd">        https://github.com/cloudant-labs/cloudant-python.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/databricks_hook.html b/1.10.2/_modules/airflow/contrib/hooks/databricks_hook.html
new file mode 100644
index 0000000..537515a
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -0,0 +1,495 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.databricks_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.databricks_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.databricks_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">requests</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">__version__</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">requests</span> <span class="k">import</span> <span class="n">exceptions</span> <span class="k">as</span> <span class="n">requests_exceptions</span>
+<span class="kn">from</span> <span class="nn">requests.auth</span> <span class="k">import</span> <span class="n">AuthBase</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="k">import</span> <span class="n">sleep</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="kn">from</span> <span class="nn">urllib</span> <span class="k">import</span> <span class="n">parse</span> <span class="k">as</span> <span class="n">urlparse</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">urlparse</span>
+
+<span class="n">RESTART_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/restart&quot;</span><span class="p">)</span>
+<span class="n">START_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/start&quot;</span><span class="p">)</span>
+<span class="n">TERMINATE_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/delete&quot;</span><span class="p">)</span>
+
+<span class="n">RUN_NOW_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/run-now&#39;</span><span class="p">)</span>
+<span class="n">SUBMIT_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/submit&#39;</span><span class="p">)</span>
+<span class="n">GET_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/get&#39;</span><span class="p">)</span>
+<span class="n">CANCEL_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/cancel&#39;</span><span class="p">)</span>
+<span class="n">USER_AGENT_HEADER</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;user-agent&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow-</span><span class="si">{v}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">v</span><span class="o">=</span><span class="n">__version__</span><span class="p">)}</span>
+
+
+<div class="viewcode-block" id="DatabricksHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook">[docs]</a><span class="k">class</span> <span class="nc">DatabricksHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Databricks.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">databricks_conn_id</span><span class="o">=</span><span class="s1">&#39;databricks_default&#39;</span><span class="p">,</span>
+            <span class="n">timeout_seconds</span><span class="o">=</span><span class="mi">180</span><span class="p">,</span>
+            <span class="n">retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
+            <span class="n">retry_delay</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param databricks_conn_id: The name of the databricks connection to use.</span>
+<span class="sd">        :type databricks_conn_id: string</span>
+<span class="sd">        :param timeout_seconds: The amount of time in seconds the requests library</span>
+<span class="sd">            will wait before timing-out.</span>
+<span class="sd">        :type timeout_seconds: int</span>
+<span class="sd">        :param retry_limit: The number of times to retry the connection in case of</span>
+<span class="sd">            service outages.</span>
+<span class="sd">        :type retry_limit: int</span>
+<span class="sd">        :param retry_delay: The number of seconds to wait between retries (it</span>
+<span class="sd">            might be a floating point number).</span>
+<span class="sd">        :type retry_delay: float</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span> <span class="o">=</span> <span class="n">databricks_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">databricks_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span> <span class="o">=</span> <span class="n">timeout_seconds</span>
+        <span class="k">if</span> <span class="n">retry_limit</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Retry limit must be greater than equal to 1&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span> <span class="o">=</span> <span class="n">retry_limit</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">=</span> <span class="n">retry_delay</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_parse_host</span><span class="p">(</span><span class="n">host</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        The purpose of this function is to be robust to improper connections</span>
+<span class="sd">        settings provided by users, specifically in the host field.</span>
+
+
+<span class="sd">        For example -- when users supply ``https://xx.cloud.databricks.com`` as the</span>
+<span class="sd">        host, we must strip out the protocol to get the host.</span>
+<span class="sd">        &gt;&gt;&gt; h = DatabricksHook()</span>
+<span class="sd">        &gt;&gt;&gt; assert h._parse_host(&#39;https://xx.cloud.databricks.com&#39;) == \</span>
+<span class="sd">            &#39;xx.cloud.databricks.com&#39;</span>
+
+<span class="sd">        In the case where users supply the correct ``xx.cloud.databricks.com`` as the</span>
+<span class="sd">        host, this function is a no-op.</span>
+<span class="sd">        &gt;&gt;&gt; assert h._parse_host(&#39;xx.cloud.databricks.com&#39;) == &#39;xx.cloud.databricks.com&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">urlparse_host</span> <span class="o">=</span> <span class="n">urlparse</span><span class="o">.</span><span class="n">urlparse</span><span class="p">(</span><span class="n">host</span><span class="p">)</span><span class="o">.</span><span class="n">hostname</span>
+        <span class="k">if</span> <span class="n">urlparse_host</span><span class="p">:</span>
+            <span class="c1"># In this case, host = https://xx.cloud.databricks.com</span>
+            <span class="k">return</span> <span class="n">urlparse_host</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="c1"># In this case, host = xx.cloud.databricks.com</span>
+            <span class="k">return</span> <span class="n">host</span>
+
+    <span class="k">def</span> <span class="nf">_do_api_call</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint_info</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Utility function to perform an API call with retries</span>
+<span class="sd">        :param endpoint_info: Tuple of method and endpoint</span>
+<span class="sd">        :type endpoint_info: (string, string)</span>
+<span class="sd">        :param json: Parameters for this API call.</span>
+<span class="sd">        :type json: dict</span>
+<span class="sd">        :return: If the api call returns a OK status code,</span>
+<span class="sd">            this function returns the response in JSON. Otherwise,</span>
+<span class="sd">            we throw an AirflowException.</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">method</span><span class="p">,</span> <span class="n">endpoint</span> <span class="o">=</span> <span class="n">endpoint_info</span>
+        <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://</span><span class="si">{host}</span><span class="s1">/</span><span class="si">{endpoint}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">host</span><span class="p">),</span>
+            <span class="n">endpoint</span><span class="o">=</span><span class="n">endpoint</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;token&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Using token auth.&#39;</span><span class="p">)</span>
+            <span class="n">auth</span> <span class="o">=</span> <span class="n">_TokenAuth</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;token&#39;</span><span class="p">])</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Using basic auth.&#39;</span><span class="p">)</span>
+            <span class="n">auth</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;GET&#39;</span><span class="p">:</span>
+            <span class="n">request_func</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span>
+        <span class="k">elif</span> <span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
+            <span class="n">request_func</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unexpected HTTP Method: &#39;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
+
+        <span class="n">attempt_num</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">response</span> <span class="o">=</span> <span class="n">request_func</span><span class="p">(</span>
+                    <span class="n">url</span><span class="p">,</span>
+                    <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">,</span>
+                    <span class="n">auth</span><span class="o">=</span><span class="n">auth</span><span class="p">,</span>
+                    <span class="n">headers</span><span class="o">=</span><span class="n">USER_AGENT_HEADER</span><span class="p">,</span>
+                    <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span><span class="p">)</span>
+                <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
+                <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
+            <span class="k">except</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">RequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">_retryable_error</span><span class="p">(</span><span class="n">e</span><span class="p">):</span>
+                    <span class="c1"># In this case, the user probably made a mistake.</span>
+                    <span class="c1"># Don&#39;t retry.</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Response: </span><span class="si">{0}</span><span class="s1">, Status Code: </span><span class="si">{1}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">e</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">e</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">))</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">_log_request_error</span><span class="p">(</span><span class="n">attempt_num</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">attempt_num</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;API requests to Databricks failed </span><span class="si">{}</span><span class="s1"> times. &#39;</span> <span class="o">+</span>
+                                        <span class="s1">&#39;Giving up.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">))</span>
+
+            <span class="n">attempt_num</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_log_request_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attempt_num</span><span class="p">,</span> <span class="n">error</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+            <span class="s1">&#39;Attempt </span><span class="si">%s</span><span class="s1"> API Request to Databricks failed with reason: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">attempt_num</span><span class="p">,</span> <span class="n">error</span>
+        <span class="p">)</span>
+
+<div class="viewcode-block" id="DatabricksHook.run_now"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook.run_now">[docs]</a>    <span class="k">def</span> <span class="nf">run_now</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Utility function to call the ``api/2.0/jobs/run-now`` endpoint.</span>
+
+<span class="sd">        :param json: The data used in the body of the request to the ``run-now`` endpoint.</span>
+<span class="sd">        :type json: dict</span>
+<span class="sd">        :return: the run_id as a string</span>
+<span class="sd">        :rtype: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">RUN_NOW_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;run_id&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatabricksHook.submit_run"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook.submit_run">[docs]</a>    <span class="k">def</span> <span class="nf">submit_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Utility function to call the ``api/2.0/jobs/runs/submit`` endpoint.</span>
+
+<span class="sd">        :param json: The data used in the body of the request to the ``submit`` endpoint.</span>
+<span class="sd">        :type json: dict</span>
+<span class="sd">        :return: the run_id as a string</span>
+<span class="sd">        :rtype: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">SUBMIT_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;run_id&#39;</span><span class="p">]</span></div>
+
+    <span class="k">def</span> <span class="nf">get_run_page_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">GET_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;run_page_url&#39;</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">get_run_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">GET_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="n">state</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;state&#39;</span><span class="p">]</span>
+        <span class="n">life_cycle_state</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s1">&#39;life_cycle_state&#39;</span><span class="p">]</span>
+        <span class="c1"># result_state may not be in the state if not terminal</span>
+        <span class="n">result_state</span> <span class="o">=</span> <span class="n">state</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;result_state&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">state_message</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s1">&#39;state_message&#39;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">RunState</span><span class="p">(</span><span class="n">life_cycle_state</span><span class="p">,</span> <span class="n">result_state</span><span class="p">,</span> <span class="n">state_message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">cancel_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">CANCEL_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">restart_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">RESTART_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">start_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">START_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">terminate_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">TERMINATE_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span></div>
+
+
+<span class="k">def</span> <span class="nf">_retryable_error</span><span class="p">(</span><span class="n">exception</span><span class="p">):</span>
+    <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exception</span><span class="p">,</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">ConnectionError</span><span class="p">)</span> \
+        <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exception</span><span class="p">,</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">Timeout</span><span class="p">)</span> \
+        <span class="ow">or</span> <span class="n">exception</span><span class="o">.</span><span class="n">response</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">exception</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">&gt;=</span> <span class="mi">500</span>
+
+
+<span class="n">RUN_LIFE_CYCLE_STATES</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="s1">&#39;PENDING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;RUNNING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;TERMINATING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;TERMINATED&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;SKIPPED&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;INTERNAL_ERROR&#39;</span>
+<span class="p">]</span>
+
+
+<span class="k">class</span> <span class="nc">RunState</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Utility class for the run state concept of Databricks runs.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">life_cycle_state</span><span class="p">,</span> <span class="n">result_state</span><span class="p">,</span> <span class="n">state_message</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="o">=</span> <span class="n">life_cycle_state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">=</span> <span class="n">result_state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state_message</span> <span class="o">=</span> <span class="n">state_message</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_terminal</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">RUN_LIFE_CYCLE_STATES</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="p">(</span><span class="s1">&#39;Unexpected life cycle state: </span><span class="si">{}</span><span class="s1">: If the state has &#39;</span>
+                 <span class="s1">&#39;been introduced recently, please check the Databricks user &#39;</span>
+                 <span class="s1">&#39;guide for troubleshooting information&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span><span class="p">))</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;TERMINATED&#39;</span><span class="p">,</span> <span class="s1">&#39;SKIPPED&#39;</span><span class="p">,</span> <span class="s1">&#39;INTERNAL_ERROR&#39;</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_successful</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">==</span> <span class="s1">&#39;SUCCESS&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">and</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">result_state</span> <span class="ow">and</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">state_message</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">state_message</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_TokenAuth</span><span class="p">(</span><span class="n">AuthBase</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Helper class for requests Auth field. AuthBase requires you to implement the __call__</span>
+<span class="sd">    magic function.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">token</span> <span class="o">=</span> <span class="n">token</span>
+
+    <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">r</span><span class="p">):</span>
+        <span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">[</span><span class="s1">&#39;Authorization&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Bearer &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">token</span>
+        <span class="k">return</span> <span class="n">r</span>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/datadog_hook.html b/1.10.2/_modules/airflow/contrib/hooks/datadog_hook.html
new file mode 100644
index 0000000..a2b4683
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -0,0 +1,361 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.datadog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.datadog_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.datadog_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">datadog</span> <span class="k">import</span> <span class="n">initialize</span><span class="p">,</span> <span class="n">api</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="DatadogHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook">[docs]</a><span class="k">class</span> <span class="nc">DatadogHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Uses datadog API to send metrics of practically anything measurable,</span>
+<span class="sd">    so it&#39;s possible to track # of db records inserted/deleted, records read</span>
+<span class="sd">    from file and many other useful metrics.</span>
+
+<span class="sd">    Depends on the datadog API, which has to be deployed on the same server where</span>
+<span class="sd">    Airflow runs.</span>
+
+<span class="sd">    :param datadog_conn_id: The connection to datadog, containing metadata for api keys.</span>
+<span class="sd">    :param datadog_conn_id: string</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">datadog_conn_id</span><span class="o">=</span><span class="s1">&#39;datadog_default&#39;</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">datadog_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;api_key&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;app_key&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_type_name</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;source_type_name&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+        <span class="c1"># If the host is populated, it will use that hostname instead.</span>
+        <span class="c1"># for all metric submissions.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;api_key must be specified in the &quot;</span>
+                                   <span class="s2">&quot;Datadog connection details&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;app_key must be specified in the &quot;</span>
+                                   <span class="s2">&quot;Datadog connection details&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Setting up api keys for Datadog&quot;</span><span class="p">)</span>
+        <span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;api_key&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span><span class="p">,</span>
+            <span class="s1">&#39;app_key&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span>
+        <span class="p">}</span>
+        <span class="n">initialize</span><span class="p">(</span><span class="o">**</span><span class="n">options</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">validate_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;ok&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Datadog returned: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Error status received from Datadog&quot;</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DatadogHook.send_metric"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.send_metric">[docs]</a>    <span class="k">def</span> <span class="nf">send_metric</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">metric_name</span><span class="p">,</span> <span class="n">datapoint</span><span class="p">,</span> <span class="n">tags</span><span class="o">=</span><s [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Sends a single datapoint metric to DataDog</span>
+
+<span class="sd">        :param metric_name: The name of the metric</span>
+<span class="sd">        :type metric_name: string</span>
+<span class="sd">        :param datapoint: A single integer or float related to the metric</span>
+<span class="sd">        :type datapoint: integer or float</span>
+<span class="sd">        :param tags: A list of tags associated with the metric</span>
+<span class="sd">        :type tags: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Metric</span><span class="o">.</span><span class="n">send</span><span class="p">(</span>
+            <span class="n">metric</span><span class="o">=</span><span class="n">metric_name</span><span class="p">,</span>
+            <span class="n">points</span><span class="o">=</span><span class="n">datapoint</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">tags</span><span class="o">=</span><span class="n">tags</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="DatadogHook.query_metric"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.query_metric">[docs]</a>    <span class="k">def</span> <span class="nf">query_metric</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                     <span class="n">query</span><span class="p">,</span>
+                     <span class="n">from_seconds_ago</span><span class="p">,</span>
+                     <span class="n">to_seconds_ago</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Queries datadog for a specific metric, potentially with some</span>
+<span class="sd">        function applied to it and returns the results.</span>
+
+<span class="sd">        :param query: The datadog query to execute (see datadog docs)</span>
+<span class="sd">        :type query: string</span>
+<span class="sd">        :param from_seconds_ago: How many seconds ago to start querying for.</span>
+<span class="sd">        :type from_seconds_ago: int</span>
+<span class="sd">        :param to_seconds_ago: Up to how many seconds ago to query for.</span>
+<span class="sd">        :type to_seconds_ago: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">now</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">())</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Metric</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+            <span class="n">start</span><span class="o">=</span><span class="n">now</span> <span class="o">-</span> <span class="n">from_seconds_ago</span><span class="p">,</span>
+            <span class="n">end</span><span class="o">=</span><span class="n">now</span> <span class="o">-</span> <span class="n">to_seconds_ago</span><span class="p">,</span>
+            <span class="n">query</span><span class="o">=</span><span class="n">query</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="DatadogHook.post_event"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.post_event">[docs]</a>    <span class="k">def</span> <span class="nf">post_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">tags</span><span class="o">=</span><span class="kc" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Posts an event to datadog (processing finished, potentially alerts, other issues)</span>
+<span class="sd">        Think about this as a means to maintain persistence of alerts, rather than</span>
+<span class="sd">        alerting itself.</span>
+
+<span class="sd">        :param title: The title of the event</span>
+<span class="sd">        :type title: string</span>
+<span class="sd">        :param text: The body of the event (more information)</span>
+<span class="sd">        :type text: string</span>
+<span class="sd">        :param tags: List of string tags to apply to the event</span>
+<span class="sd">        :type tags: list</span>
+<span class="sd">        :param alert_type: The alert type for the event, one of</span>
+<span class="sd">            [&quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;success&quot;]</span>
+<span class="sd">        :type alert_type: string</span>
+<span class="sd">        :param aggregation_key: Key that can be used to aggregate this event in a stream</span>
+<span class="sd">        :type aggregation_key: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Event</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">title</span><span class="o">=</span><span class="n">title</span><span class="p">,</span>
+            <span class="n">text</span><span class="o">=</span><span class="n">text</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">tags</span><span class="o">=</span><span class="n">tags</span><span class="p">,</span>
+            <span class="n">alert_type</span><span class="o">=</span><span class="n">alert_type</span><span class="p">,</span>
+            <span class="n">aggregation_key</span><span class="o">=</span><span class="n">aggregation_key</span><span class="p">,</span>
+            <span class="n">source_type_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">source_type_name</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/datastore_hook.html b/1.10.2/_modules/airflow/contrib/hooks/datastore_hook.html
new file mode 100644
index 0000000..3918dc5
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -0,0 +1,425 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.datastore_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.datastore_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.datastore_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+
+
+<div class="viewcode-block" id="DatastoreHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook">[docs]</a><span class="k">class</span> <span class="nc">DatastoreHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Google Cloud Datastore. This hook uses the Google Cloud Platform</span>
+<span class="sd">    connection.</span>
+
+<span class="sd">    This object is not threads safe. If you want to make multiple requests</span>
+<span class="sd">    simultaneously, you will need to create a hook per thread.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">datastore_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_datastore_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DatastoreHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">datastore_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(</span><span class="s1">&#39;v1beta1&#39;</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DatastoreHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Google Cloud Datastore service object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
+            <span class="s1">&#39;datastore&#39;</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.allocate_ids"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.allocate_ids">[docs]</a>    <span class="k">def</span> <span class="nf">allocate_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partialKeys</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Allocate IDs for incomplete keys.</span>
+<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/allocateIds</span>
+
+<span class="sd">        :param partialKeys: a list of partial keys</span>
+<span class="sd">        :return: a list of full keys.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">allocateIds</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="n">partialKeys</span><span class="p">}</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;keys&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.begin_transaction"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.begin_transaction">[docs]</a>    <span class="k">def</span> <span class="nf">begin_transaction</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a new transaction handle</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">                https://cloud.google.com/datastore/docs/reference/rest/v1/projects/beginTransaction</span>
+
+<span class="sd">        :return: a transaction handle</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">beginTransaction</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.commit"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.commit">[docs]</a>    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Commit a transaction, optionally creating, deleting or modifying some entities.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/commit</span>
+
+<span class="sd">        :param body: the body of the commit request</span>
+<span class="sd">        :return: the response body of the commit request</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">commit</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.lookup"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.lookup">[docs]</a>    <span class="k">def</span> <span class="nf">lookup</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">keys</span><span class="p">,</span> <span class="n">read_consistency</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lookup some entities by key</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/lookup</span>
+
+<span class="sd">        :param keys: the keys to lookup</span>
+<span class="sd">        :param read_consistency: the read consistency to use. default, strong or eventual.</span>
+<span class="sd">                Cannot be used with a transaction.</span>
+<span class="sd">        :param transaction: the transaction to use, if any.</span>
+<span class="sd">        :return: the response body of the lookup request.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="n">keys</span><span class="p">}</span>
+        <span class="k">if</span> <span class="n">read_consistency</span><span class="p">:</span>
+            <span class="n">body</span><span class="p">[</span><span class="s1">&#39;readConsistency&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">read_consistency</span>
+        <span class="k">if</span> <span class="n">transaction</span><span class="p">:</span>
+            <span class="n">body</span><span class="p">[</span><span class="s1">&#39;transaction&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">transaction</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.rollback"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.rollback">[docs]</a>    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Roll back a transaction</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/rollback</span>
+
+<span class="sd">        :param transaction: the transaction to roll back</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;transaction&#39;</span><span class="p">:</span> <span class="n">transaction</span><span class="p">})</span>\
+            <span class="o">.</span><span class="n">execute</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.run_query"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.run_query">[docs]</a>    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Run a query for entities.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery</span>
+
+<span class="sd">        :param body: the body of the query request</span>
+<span class="sd">        :return: the batch of query results.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">runQuery</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span><span class="p">[</span><span class="s1">&#39;batch&#39;</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.get_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.get_operation">[docs]</a>    <span class="k">def</span> <span class="nf">get_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the latest state of a long-running operation</span>
+
+<span class="sd">        :param name: the name of the operation resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span cl [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.delete_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.delete_operation">[docs]</a>    <span class="k">def</span> <span class="nf">delete_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes the long-running operation</span>
+
+<span class="sd">        :param name: the name of the operation resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span [...]
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.poll_operation_until_done"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.poll_operation_until_done">[docs]</a>    <span class="k">def</span> <span class="nf">poll_operation_until_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">polling_interval_in_seconds</span><span class= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Poll backup operation state until it&#39;s completed</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_operation</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">result</span><span class="p">[</span><span class="s1">&#39;metadata&#39;</span><span class="p">][</span><span class="s1">&#39;common&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="s1">&#39;PROCESSING&#39;</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Operation is processing. Re-polling state in </span><span class="si">{}</span><span class="s1"> seconds&#39;</span>
+                              <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">polling_interval_in_seconds</span><span class="p">))</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">polling_interval_in_seconds</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">result</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.export_to_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.export_to_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">export_to_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="o">=</span><span c [...]
+                                 <span class="n">entity_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Export entities from Cloud Datastore to Cloud Storage for backup</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">output_uri_prefix</span> <span class="o">=</span> <span class="s1">&#39;gs://&#39;</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="p">[</span><span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="p">]))</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">entity_filter</span><span class="p">:</span>
+            <span class="n">entity_filter</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">labels</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;outputUrlPrefix&#39;</span><span class="p">:</span> <span class="n">output_uri_prefix</span><span class="p">,</span>
+            <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
+            <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
+        <span class="p">}</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">export</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span></div>
+
+<div class="viewcode-block" id="DatastoreHook.import_from_storage_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.import_from_storage_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">import_from_storage_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">file</span><span class="p">,</span>
+                                   <span class="n">namespace</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">entity_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Import a backup from Cloud Storage to Cloud Datastore</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">input_url</span> <span class="o">=</span> <span class="s1">&#39;gs://&#39;</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="p">[</span><span class="n">bucket</span><span class="p">,</span> <span class="n">namespace</span><span class="p">,</span> <span cla [...]
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">entity_filter</span><span class="p">:</span>
+            <span class="n">entity_filter</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">labels</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;inputUrl&#39;</span><span class="p">:</span> <span class="n">input_url</span><span class="p">,</span>
+            <span class="s1">&#39;entityFilter&#39;</span><span class="p">:</span> <span class="n">entity_filter</span><span class="p">,</span>
+            <span class="s1">&#39;labels&#39;</span><span class="p">:</span> <span class="n">labels</span><span class="p">,</span>
+        <span class="p">}</span>
+        <span class="n">resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">admin_connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">import_</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">resp</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/1.10.2/_modules/airflow/contrib/hooks/discord_webhook_hook.html
new file mode 100644
index 0000000..36aa985
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -0,0 +1,359 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.discord_webhook_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.discord_webhook_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.discord_webhook_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="k">import</span> <span class="n">HttpHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+
+<div class="viewcode-block" id="DiscordWebhookHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.discord_webhook_hook.DiscordWebhookHook">[docs]</a><span class="k">class</span> <span class="nc">DiscordWebhookHook</span><span class="p">(</span><span class="n">HttpHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This hook allows you to post messages to Discord using incoming webhooks.</span>
+<span class="sd">    Takes a Discord connection ID with a default relative webhook endpoint. The</span>
+<span class="sd">    default endpoint can be overridden using the webhook_endpoint parameter</span>
+<span class="sd">    (https://discordapp.com/developers/docs/resources/webhook).</span>
+
+<span class="sd">    Each Discord webhook can be pre-configured to use a specific username and</span>
+<span class="sd">    avatar_url. You can override these defaults in this hook.</span>
+
+<span class="sd">    :param http_conn_id: Http connection ID with host as &quot;https://discord.com/api/&quot; and</span>
+<span class="sd">                         default webhook endpoint in the extra field in the form of</span>
+<span class="sd">                         {&quot;webhook_endpoint&quot;: &quot;webhooks/{webhook.id}/{webhook.token}&quot;}</span>
+<span class="sd">    :type http_conn_id: str</span>
+<span class="sd">    :param webhook_endpoint: Discord webhook endpoint in the form of</span>
+<span class="sd">                             &quot;webhooks/{webhook.id}/{webhook.token}&quot;</span>
+<span class="sd">    :type webhook_endpoint: str</span>
+<span class="sd">    :param message: The message you want to send to your Discord channel</span>
+<span class="sd">                    (max 2000 characters)</span>
+<span class="sd">    :type message: str</span>
+<span class="sd">    :param username: Override the default username of the webhook</span>
+<span class="sd">    :type username: str</span>
+<span class="sd">    :param avatar_url: Override the default avatar of the webhook</span>
+<span class="sd">    :type avatar_url: str</span>
+<span class="sd">    :param tts: Is a text-to-speech message</span>
+<span class="sd">    :type tts: bool</span>
+<span class="sd">    :param proxy: Proxy to use to make the Discord webhook call</span>
+<span class="sd">    :type proxy: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">http_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">webhook_endpoint</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">message</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                 <span class="n">username</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">avatar_url</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">tts</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">proxy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DiscordWebhookHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">webhook_endpoint</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_webhook_endpoint</span><span class="p">(</span><span class="n">http_conn_id</span><span class="p">,</span> <span class="n">webhook_endpoint</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">message</span> <span class="o">=</span> <span class="n">message</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span> <span class="o">=</span> <span class="n">avatar_url</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tts</span> <span class="o">=</span> <span class="n">tts</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span> <span class="o">=</span> <span class="n">proxy</span>
+
+    <span class="k">def</span> <span class="nf">_get_webhook_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="p">,</span> <span class="n">webhook_endpoint</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given a Discord http_conn_id, return the default webhook endpoint or override if a</span>
+<span class="sd">        webhook_endpoint is manually supplied.</span>
+
+<span class="sd">        :param http_conn_id: The provided connection ID</span>
+<span class="sd">        :param webhook_endpoint: The manually provided webhook endpoint</span>
+<span class="sd">        :return: Webhook endpoint (str) to use</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">webhook_endpoint</span><span class="p">:</span>
+            <span class="n">endpoint</span> <span class="o">=</span> <span class="n">webhook_endpoint</span>
+        <span class="k">elif</span> <span class="n">http_conn_id</span><span class="p">:</span>
+            <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">http_conn_id</span><span class="p">)</span>
+            <span class="n">extra</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+            <span class="n">endpoint</span> <span class="o">=</span> <span class="n">extra</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webhook_endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Cannot get webhook endpoint: No valid Discord &#39;</span>
+                                   <span class="s1">&#39;webhook endpoint or http_conn_id supplied.&#39;</span><span class="p">)</span>
+
+        <span class="c1"># make sure endpoint matches the expected Discord webhook format</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;^webhooks/[0-9]+/[a-zA-Z0-9_-]+$&#39;</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Expected Discord webhook endpoint in the form &#39;</span>
+                                   <span class="s1">&#39;of &quot;webhooks/</span><span class="si">{webhook.id}</span><span class="s1">/</span><span class="si">{webhook.token}</span><span class="s1">&quot;.&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">endpoint</span>
+
+    <span class="k">def</span> <span class="nf">_build_discord_payload</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Construct the Discord JSON payload. All relevant parameters are combined here</span>
+<span class="sd">        to a valid Discord JSON payload.</span>
+
+<span class="sd">        :return: Discord payload (str) to send</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">payload</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;username&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;avatar_url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span>
+
+        <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;tts&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tts</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">2000</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;content&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Discord message length must be 2000 or fewer &#39;</span>
+                                   <span class="s1">&#39;characters.&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">payload</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DiscordWebhookHook.execute"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.discord_webhook_hook.DiscordWebhookHook.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Execute the Discord webhook call</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">proxies</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span><span class="p">:</span>
+            <span class="c1"># we only need https proxy for Discord</span>
+            <span class="n">proxies</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;https&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span><span class="p">}</span>
+
+        <span class="n">discord_payload</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_discord_payload</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">endpoint</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">webhook_endpoint</span><span class="p">,</span>
+                 <span class="n">data</span><span class="o">=</span><span class="n">discord_payload</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;Content-type&#39;</span><span class="p">:</span> <span class="s1">&#39;application/json&#39;</span><span class="p">},</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;proxies&#39;</span><span class="p">:</span> <span class="n">proxies</span><span class="p">})</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.2/_modules/airflow/contrib/hooks/emr_hook.html b/1.10.2/_modules/airflow/contrib/hooks/emr_hook.html
new file mode 100644
index 0000000..366836c
--- /dev/null
+++ b/1.10.2/_modules/airflow/contrib/hooks/emr_hook.html
@@ -0,0 +1,276 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.emr_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.2
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
... 155476 lines suppressed ...


[airflow-site] 06/30: Latest docs version as of 1.8.x

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 9c75ee9e46cc5ec459979dbfd2c911743c07fd63
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Mon Mar 6 08:43:12 2017 -0800

    Latest docs version as of 1.8.x
---
 .../airflow/contrib/executors/mesos_executor.html  |   81 +-
 .../contrib/operators/hipchat_operator.html        |   72 +-
 _modules/airflow/executors/local_executor.html     |   73 +-
 .../airflow/executors/sequential_executor.html     |   59 +-
 _modules/airflow/macros.html                       |   79 +-
 _modules/airflow/macros/hive.html                  |   61 +-
 _modules/airflow/models.html                       | 1993 +++++++++++---------
 _modules/airflow/operators/sensors.html            |  242 ++-
 _modules/bash_operator.html                        |   77 +-
 _modules/dagrun_operator.html                      |   67 +-
 _modules/dbapi_hook.html                           |  130 +-
 _modules/dummy_operator.html                       |   49 +-
 _modules/email_operator.html                       |   61 +-
 _modules/ftp_hook.html                             |   69 +-
 _modules/generic_transfer.html                     |   57 +-
 _modules/http_hook.html                            |   61 +-
 _modules/http_operator.html                        |   71 +-
 _modules/index.html                                |   74 +-
 _modules/mysql_hook.html                           |   95 +-
 _modules/mysql_operator.html                       |   61 +-
 _modules/presto_check_operator.html                |   60 +-
 _modules/presto_hook.html                          |   63 +-
 _modules/python_operator.html                      |   69 +-
 _modules/sensors.html                              |  242 ++-
 _modules/sqlite_hook.html                          |   49 +-
 _modules/ssh_execute_operator.html                 |   75 +-
 _modules/ssh_hook.html                             |   81 +-
 _static/basic.css                                  |   68 +-
 _static/comment-bright.png                         |  Bin 3500 -> 756 bytes
 _static/comment-close.png                          |  Bin 3578 -> 829 bytes
 _static/comment.png                                |  Bin 3445 -> 641 bytes
 _static/css/badge_only.css                         |    2 +-
 _static/css/theme.css                              |    4 +-
 _static/down-pressed.png                           |  Bin 347 -> 222 bytes
 _static/down.png                                   |  Bin 347 -> 202 bytes
 _static/file.png                                   |  Bin 358 -> 286 bytes
 _static/fonts/Inconsolata-Bold.ttf                 |  Bin 66352 -> 109948 bytes
 _static/fonts/Inconsolata-Regular.ttf              |  Bin 84548 -> 96964 bytes
 _static/fonts/Lato-Bold.ttf                        |  Bin 121788 -> 656544 bytes
 _static/fonts/Lato-Regular.ttf                     |  Bin 120196 -> 656568 bytes
 _static/fonts/fontawesome-webfont.eot              |  Bin 56006 -> 76518 bytes
 _static/fonts/fontawesome-webfont.svg              |  207 +-
 _static/fonts/fontawesome-webfont.ttf              |  Bin 112160 -> 152796 bytes
 _static/fonts/fontawesome-webfont.woff             |  Bin 65452 -> 90412 bytes
 _static/jquery.js                                  |    8 +-
 _static/js/theme.js                                |   58 +-
 _static/minus.png                                  |  Bin 173 -> 90 bytes
 _static/plus.png                                   |  Bin 173 -> 90 bytes
 _static/searchtools.js                             |  115 +-
 _static/up-pressed.png                             |  Bin 345 -> 214 bytes
 _static/up.png                                     |  Bin 345 -> 203 bytes
 cli.html                                           |  482 +++--
 code.html                                          | 1933 +++----------------
 concepts.html                                      |  129 +-
 configuration.html                                 |   97 +-
 faq.html                                           |   61 +-
 genindex.html                                      | 1541 +++++----------
 index.html                                         |  115 +-
 installation.html                                  |   51 +-
 license.html                                       |   51 +-
 objects.inv                                        |  Bin 2326 -> 2147 bytes
 plugins.html                                       |   64 +-
 profiling.html                                     |   51 +-
 project.html                                       |   76 +-
 py-modindex.html                                   |   63 +-
 scheduler.html                                     |   79 +-
 search.html                                        |   41 +-
 searchindex.js                                     |    2 +-
 security.html                                      |  147 +-
 start.html                                         |   51 +-
 tutorial.html                                      |   51 +-
 ui.html                                            |   51 +-
 72 files changed, 5097 insertions(+), 4672 deletions(-)

diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index e2d8f61..dbca37d 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.executors.mesos_executor</li>
+        
+      <li>airflow.contrib.executors.mesos_executor</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,21 +176,21 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">from</span> <span class="nn">queue</span> <span class="kn">import</span> <span class="n">Queue</span>
+<span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
 
 <span class="kn">import</span> <span class="nn">mesos.interface</span>
-<span class="kn">from</span> <span class="nn">mesos.interface</span> <span class="kn">import</span> <span class="n">mesos_pb2</span>
+<span class="kn">from</span> <span class="nn">mesos.interface</span> <span class="k">import</span> <span class="n">mesos_pb2</span>
 <span class="kn">import</span> <span class="nn">mesos.native</span>
 
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
-<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
-<span class="kn">from</span> <span class="nn">airflow.settings</span> <span class="kn">import</span> <span class="n">Session</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.settings</span> <span class="k">import</span> <span class="n">Session</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
 
 <span class="n">DEFAULT_FRAMEWORK_NAME</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
@@ -206,13 +231,13 @@
 
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span  [...]
             <span class="c1"># Import here to work around a circular import error</span>
-            <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">Connection</span>
+            <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
 
             <span class="c1"># Update the Framework ID in the database.</span>
             <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
             <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">get_framework_name</span><span class="p">()</span>
             <span class="n">connection</span> <span class="o">=</span> <span class="n">Session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="s1">&#39;mesos_framework-id&#39;</span><span class="p">,</span>
                                         <span class="n">extra</span><span class="o">=</span><span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
@@ -286,7 +311,7 @@
                 <span class="n">mem</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
 
                 <span class="n">command</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">CommandInfo</span><span class="p">()</span>
-                <span class="n">command</span><span class="o">.</span><span class="n">shell</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="n">command</span><span class="o">.</span><span class="n">shell</span> <span class="o">=</span> <span class="kc">True</span>
                 <span class="n">command</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">cmd</span>
                 <span class="n">task</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
 
@@ -306,7 +331,7 @@
         <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
             <span class="c1"># The map may not contain an item if the framework re-registered after a failover.</span>
             <span class="c1"># Discard these tasks.</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
             <span class="k">return</span>
 
         <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
@@ -357,23 +382,23 @@
             <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
-            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">True</span>
 
             <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
                 <span class="c1"># Import here to work around a circular import error</span>
-                <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">Connection</span>
+                <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
 
                 <span class="c1"># Query the database to get the ID of the Mesos Framework, if available.</span>
                 <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span>
                 <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
                 <span class="n">connection</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p [...]
-                <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                     <span class="c1"># Set the Framework ID to let the scheduler reconnect with running tasks.</span>
                     <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
 
                 <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">False</span>
 
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
             <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o"> [...]
@@ -411,7 +436,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -425,6 +450,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -457,7 +485,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/contrib/operators/hipchat_operator.html b/_modules/airflow/contrib/operators/hipchat_operator.html
index 1505a9b..194afad 100644
--- a/_modules/airflow/contrib/operators/hipchat_operator.html
+++ b/_modules/airflow/contrib/operators/hipchat_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.contrib.operators.hipchat_operator</li>
+        
+      <li>airflow.contrib.operators.hipchat_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,9 +176,11 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">requests</span>
 <span class="kn">import</span> <span class="nn">json</span>
@@ -166,7 +193,6 @@
 <span class="sd">    at https://www.hipchat.com/docs/apiv2. Before using any HipChat API operators you need</span>
 <span class="sd">    to get an authentication token at https://www.hipchat.com/docs/apiv2/auth.</span>
 <span class="sd">    In the future additional HipChat operators will be derived from this class as well.</span>
-
 <span class="sd">    :param token: HipChat REST API authentication token</span>
 <span class="sd">    :type token: str</span>
 <span class="sd">    :param base_url: HipChat REST API base url.</span>
@@ -181,15 +207,14 @@
         <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPIOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">token</span> <span class="o">=</span> <span class="n">token</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">base_url</span> <span class="o">=</span> <span class="n">base_url</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="kc">None</span>
 
     <span class="k">def</span> <span class="nf">prepare_request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Used by the execute function. Set the request method, url, and body of HipChat&#39;s</span>
 <span class="sd">        REST API call.</span>
-
 <span class="sd">        Override in child class. Each HipChatAPI child operator is responsible for having</span>
 <span class="sd">        a prepare_request method call which sets self.method, self.url, and self.body.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -215,7 +240,6 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Send notification to a specific HipChat room.</span>
 <span class="sd">    More info: https://www.hipchat.com/docs/apiv2/method/send_room_notification</span>
-
 <span class="sd">    :param room_id: Room in which to send notification on HipChat</span>
 <span class="sd">    :type room_id: str</span>
 <span class="sd">    :param message: The message body</span>
@@ -245,11 +269,11 @@
             <span class="s1">&#39;message_format&#39;</span><span class="p">:</span> <span class="s1">&#39;html&#39;</span><span class="p">,</span>
             <span class="s1">&#39;color&#39;</span><span class="p">:</span> <span class="s1">&#39;yellow&#39;</span><span class="p">,</span>
             <span class="s1">&#39;frm&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow&#39;</span><span class="p">,</span>
-            <span class="s1">&#39;attach_to&#39;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
-            <span class="s1">&#39;notify&#39;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
-            <span class="s1">&#39;card&#39;</span><span class="p">:</span> <span class="bp">None</span>
+            <span class="s1">&#39;attach_to&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
+            <span class="s1">&#39;notify&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
+            <span class="s1">&#39;card&#39;</span><span class="p">:</span> <span class="kc">None</span>
         <span class="p">}</span>
-        <span class="k">for</span> <span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="n">default</span><span class="p">)</span> <span class="ow">in</span> <span class="n">default_options</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+        <span class="k">for</span> <span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="n">default</span><span class="p">)</span> <span class="ow">in</span> <span class="n">default_options</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
             <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prop</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="n">default</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">prepare_request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -266,10 +290,13 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="s1">&#39;POST&#39;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">/room/</span><span class="si">%s</span><span class="s1">/notification&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">base_url</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">r [...]
         <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span>
-            <span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span> <span class="n">v</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">))</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</sp [...]
+            <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">v</span><span class="p">))</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if< [...]
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -302,7 +329,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/executors/local_executor.html b/_modules/airflow/executors/local_executor.html
index 250eafd..2e35470 100644
--- a/_modules/airflow/executors/local_executor.html
+++ b/_modules/airflow/executors/local_executor.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
         <link rel="up" title="Module code" href="../../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.executors.local_executor</li>
+        
+      <li>airflow.executors.local_executor</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -155,12 +180,12 @@
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">time</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">range</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">range</span>
 
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
-<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="kn">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
 <span class="n">PARALLELISM</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;PARALLELISM&#39;</span><span class="p">)</span>
 
@@ -171,24 +196,24 @@
         <span class="n">multiprocessing</span><span class="o">.</span><span class="n">Process</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">daemon</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">daemon</span> <span class="o">=</span> <span class="kc">True</span>
 
     <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="n">key</span><span class="p">,</span> <span class="n">command</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">key</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="c1"># Received poison pill, no more tasks to run</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
                 <span class="k">break</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;{} running {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> running </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
-            <span class="n">command</span> <span class="o">=</span> <span class="s2">&quot;exec bash -c &#39;{0}&#39;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
+            <span class="n">command</span> <span class="o">=</span> <span class="s2">&quot;exec bash -c &#39;</span><span class="si">{0}</span><span class="s2">&#39;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
             <span class="k">try</span><span class="p">:</span>
-                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
                 <span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
             <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                 <span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;failed to execute task {}:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;failed to execute task </span><span class="si">{}</span><span class="s2">:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
                 <span class="c1"># raise e</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">))</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
@@ -213,7 +238,7 @@
         <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">:</span>
             <span class="n">w</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -224,7 +249,7 @@
     <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="c1"># Sending poison pill to all worker</span>
         <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">))</span>
 
         <span class="c1"># Wait for commands to finish</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
@@ -232,6 +257,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -264,7 +292,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/executors/sequential_executor.html b/_modules/airflow/executors/sequential_executor.html
index ce84843..d5644c2 100644
--- a/_modules/airflow/executors/sequential_executor.html
+++ b/_modules/airflow/executors/sequential_executor.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
         <link rel="up" title="Module code" href="../../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.executors.sequential_executor</li>
+        
+      <li>airflow.executors.sequential_executor</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,11 +176,11 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 
-<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
 
 
 <div class="viewcode-block" id="SequentialExecutor"><a class="viewcode-back" href="../../../code.html#airflow.executors.SequentialExecutor">[docs]</a><span class="k">class</span> <span class="nc">SequentialExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
@@ -171,19 +196,19 @@
         <span class="nb">super</span><span class="p">(</span><span class="n">SequentialExecutor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span> <span class="o">=</span> <span class="p">[]</span>
 
-    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,))</span>
 
     <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing command: {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing command: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">))</span>
 
             <span class="k">try</span><span class="p">:</span>
-                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">)</span>
             <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed to execute task {}:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed to execute task </span><span class="si">{}</span><span class="s2">:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span> <span class="o">=</span> <span class="p">[]</span>
 
@@ -192,6 +217,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -224,7 +252,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/macros.html b/_modules/airflow/macros.html
index 19c18ff..34826d7 100644
--- a/_modules/airflow/macros.html
+++ b/_modules/airflow/macros.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../genindex.html"/>
+        <link rel="search" title="Search" href="../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../index.html"/>
         <link rel="up" title="Module code" href="../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.macros</li>
+        
+      <li>airflow.macros</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,12 +176,12 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
-<span class="kn">from</span> <span class="nn">random</span> <span class="kn">import</span> <span class="n">random</span>
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">absolute_import</span>
+<span class="kn">from</span> <span class="nn">random</span> <span class="k">import</span> <span class="n">random</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 <span class="kn">import</span> <span class="nn">dateutil</span>
 <span class="kn">import</span> <span class="nn">time</span>
-<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">hive</span>
+<span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">hive</span>
 <span class="kn">import</span> <span class="nn">uuid</span>
 
 
@@ -204,28 +229,33 @@
 <span class="k">def</span> <span class="nf">_integrate_plugins</span><span class="p">():</span>
     <span class="sd">&quot;&quot;&quot;Integrate plugins to the context&quot;&quot;&quot;</span>
     <span class="kn">import</span> <span class="nn">sys</span>
-    <span class="kn">from</span> <span class="nn">airflow.plugins_manager</span> <span class="kn">import</span> <span class="n">macros</span> <span class="k">as</span> <span class="n">_macros</span>
-    <span class="k">for</span> <span class="n">_macro_module</span> <span class="ow">in</span> <span class="n">_macros</span><span class="p">:</span>
-        <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
-        <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
+    <span class="kn">from</span> <span class="nn">airflow.plugins_manager</span> <span class="k">import</span> <span class="n">macros_modules</span>
+    <span class="k">for</span> <span class="n">macros_module</span> <span class="ow">in</span> <span class="n">macros_modules</span><span class="p">:</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">macros_module</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">macros_module</span>
+        <span class="nb">globals</span><span class="p">()[</span><span class="n">macros_module</span><span class="o">.</span><span class="n">_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">macros_module</span>
 
         <span class="c1">##########################################################</span>
         <span class="c1"># TODO FIXME Remove in Airflow 2.0</span>
 
-        <span class="kn">import</span> <span class="nn">os</span> <span class="kn">as</span> <span class="nn">_os</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">_os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;AIRFLOW_USE_NEW_IMPORTS&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
-            <span class="kn">from</span> <span class="nn">zope.deprecation</span> <span class="kn">import</span> <span class="n">deprecated</span> <span class="k">as</span> <span class="n">_deprecated</span>
-            <span class="k">for</span> <span class="n">_macro</span> <span class="ow">in</span> <span class="n">_macro_module</span><span class="o">.</span><span class="n">_objects</span><span class="p">:</span>
-                <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_deprecated</span><span class="p">(</span>
-                    <span class="n">_macro</span><span class="p">,</span>
-                    <span class="s2">&quot;Importing plugin macro &#39;{i}&#39; directly from &quot;</span>
+        <span class="kn">import</span> <span class="nn">os</span> <span class="k">as</span> <span class="nn">_os</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">_os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;AIRFLOW_USE_NEW_IMPORTS&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
+            <span class="kn">from</span> <span class="nn">zope.deprecation</span> <span class="k">import</span> <span class="n">deprecated</span> <span class="k">as</span> <span class="n">_deprecated</span>
+            <span class="k">for</span> <span class="n">_macro</span> <span class="ow">in</span> <span class="n">macros_module</span><span class="o">.</span><span class="n">_objects</span><span class="p">:</span>
+                <span class="n">macro_name</span> <span class="o">=</span> <span class="n">_macro</span><span class="o">.</span><span class="n">__name__</span>
+                <span class="nb">globals</span><span class="p">()[</span><span class="n">macro_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro</span>
+                <span class="n">_deprecated</span><span class="p">(</span>
+                    <span class="n">macro_name</span><span class="p">,</span>
+                    <span class="s2">&quot;Importing plugin macro &#39;</span><span class="si">{i}</span><span class="s2">&#39; directly from &quot;</span>
                     <span class="s2">&quot;&#39;airflow.macros&#39; has been deprecated. Please &quot;</span>
                     <span class="s2">&quot;import from &#39;airflow.macros.[plugin_module]&#39; &quot;</span>
                     <span class="s2">&quot;instead. Support for direct imports will be dropped &quot;</span>
-                    <span class="s2">&quot;entirely in Airflow 2.0.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="n">_macro</span><span class="p">))</span>
+                    <span class="s2">&quot;entirely in Airflow 2.0.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="n">macro_name</span><span class="p">))</span>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -258,7 +288,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../_static/jquery.js"></script>
diff --git a/_modules/airflow/macros/hive.html b/_modules/airflow/macros/hive.html
index 92000d3..8d13632 100644
--- a/_modules/airflow/macros/hive.html
+++ b/_modules/airflow/macros/hive.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
         <link rel="up" title="airflow.macros" href="../macros.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,21 +126,38 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../index.html">Module code</a> &raquo;</li>
-      
+        
           <li><a href="../macros.html">airflow.macros</a> &raquo;</li>
-      
-    <li>airflow.macros.hive</li>
+        
+      <li>airflow.macros.hive</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -157,7 +182,7 @@
 
 
 <div class="viewcode-block" id="max_partition"><a class="viewcode-back" href="../../../code.html#airflow.macros.hive.max_partition">[docs]</a><span class="k">def</span> <span class="nf">max_partition</span><span class="p">(</span>
-        <span class="n">table</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="nb">filter</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+        <span class="n">table</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="nb">filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
         <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    Gets the max partition for a table.</span>
@@ -180,7 +205,7 @@
 <span class="sd">    &gt;&gt;&gt; max_partition(&#39;airflow.static_babynames_partitioned&#39;)</span>
 <span class="sd">    &#39;2015-01-01&#39;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="k">import</span> <span class="n">HiveMetastoreHook</span>
     <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
         <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
@@ -188,7 +213,7 @@
         <span class="n">schema</span><span class="o">=</span><span class="n">schema</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="n">field</span><span class="p">,</span> <span class="nb">filter</span><span class="o">=</span><span class="nb">filter</span><span class="p">)</span></div>
 
 
-<span class="k">def</span> <span class="nf">_closest_date</span><span class="p">(</span><span class="n">target_dt</span><span class="p">,</span> <span class="n">date_list</span><span class="p">,</span> <span class="n">before_target</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<span class="k">def</span> <span class="nf">_closest_date</span><span class="p">(</span><span class="n">target_dt</span><span class="p">,</span> <span class="n">date_list</span><span class="p">,</span> <span class="n">before_target</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    This function finds the date in a list closest to the target date.</span>
 <span class="sd">    An optional parameter can be given to get the closest before or after.</span>
@@ -205,7 +230,7 @@
     <span class="n">fb</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&gt;=</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="o">.</span><span class="n">max</span>
     <span class="n">fa</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&lt;=</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="o">.</span><span class="n">min</span>
     <span class="n">fnone</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">target_dt</span> <span class="o">-</span> <span class="n">d</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&lt;</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span>
-    <span class="k">if</span> <span class="n">before_target</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+    <span class="k">if</span> <span class="n">before_target</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">date_list</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="n">fnone</span><span class="p">)</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
     <span class="k">if</span> <span class="n">before_target</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">date_list</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="n">fb</span><span class="p">)</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
@@ -214,7 +239,7 @@
 
 
 <div class="viewcode-block" id="closest_ds_partition"><a class="viewcode-back" href="../../../code.html#airflow.macros.hive.closest_ds_partition">[docs]</a><span class="k">def</span> <span class="nf">closest_ds_partition</span><span class="p">(</span>
-        <span class="n">table</span><span class="p">,</span> <span class="n">ds</span><span class="p">,</span> <span class="n">before</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span>
+        <span class="n">table</span><span class="p">,</span> <span class="n">ds</span><span class="p">,</span> <span class="n">before</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span>
         <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    This function finds the date in a list closest to the target date.</span>
@@ -233,13 +258,13 @@
 <span class="sd">    &gt;&gt;&gt; closest_ds_partition(tbl, &#39;2015-01-02&#39;)</span>
 <span class="sd">    &#39;2015-01-01&#39;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="k">import</span> <span class="n">HiveMetastoreHook</span>
     <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
         <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
     <span class="n">partitions</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_partitions</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="n">schema</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">table</span><span class="p">)</span>
     <span class="k">if</span> <span class="ow">not</span> <span class="n">partitions</span><span class="p">:</span>
-        <span class="k">return</span> <span class="bp">None</span>
+        <span class="k">return</span> <span class="kc">None</span>
     <span class="n">part_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">list</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">partitions</span><span class="p">]</span>
     <span class="k">if</span> <span class="n">ds</span> <span class="ow">in</span> <span class="n">part_vals</span><span class="p">:</span>
         <span class="k">return</span> <span class="n">ds</span>
@@ -252,6 +277,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -284,7 +312,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../_static/jquery.js"></script>
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index 2f044a4..a94686b 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../genindex.html"/>
+        <link rel="search" title="Search" href="../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../index.html"/>
         <link rel="up" title="Module code" href="../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.models</li>
+        
+      <li>airflow.models</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -150,24 +175,25 @@
 <span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">division</span>
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">unicode_literals</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">absolute_import</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">division</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">unicode_literals</span>
 
-<span class="kn">from</span> <span class="nn">future.standard_library</span> <span class="kn">import</span> <span class="n">install_aliases</span>
+<span class="kn">from</span> <span class="nn">future.standard_library</span> <span class="k">import</span> <span class="n">install_aliases</span>
 
 <span class="n">install_aliases</span><span class="p">()</span>
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">object</span><span class="p">,</span> <span class="nb">bytes</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">object</span><span class="p">,</span> <span class="nb">bytes</span>
 <span class="kn">import</span> <span class="nn">copy</span>
-<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">namedtuple</span>
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
+<span class="kn">from</span> <span class="nn">collections</span> <span class="k">import</span> <span class="n">namedtuple</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 <span class="kn">import</span> <span class="nn">dill</span>
 <span class="kn">import</span> <span class="nn">functools</span>
 <span class="kn">import</span> <span class="nn">getpass</span>
 <span class="kn">import</span> <span class="nn">imp</span>
 <span class="kn">import</span> <span class="nn">importlib</span>
+<span class="kn">import</span> <span class="nn">inspect</span>
 <span class="kn">import</span> <span class="nn">zipfile</span>
 <span class="kn">import</span> <span class="nn">jinja2</span>
 <span class="kn">import</span> <span class="nn">json</span>
@@ -181,66 +207,70 @@
 <span class="kn">import</span> <span class="nn">textwrap</span>
 <span class="kn">import</span> <span class="nn">traceback</span>
 <span class="kn">import</span> <span class="nn">warnings</span>
-<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
+<span class="kn">import</span> <span class="nn">hashlib</span>
 
-<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="kn">import</span> <span class="p">(</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
+
+<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="k">import</span> <span class="p">(</span>
     <span class="n">Column</span><span class="p">,</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="n">DateTime</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">Boolean</span><span class="p">,</span> <span class="n">ForeignKey</span><span class="p">,</span> <span class="n">PickleType</span><span class="p">,</span>
     <span class="n">Index</span><span class="p">,</span> <span class="n">Float</span><span class="p">)</span>
-<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="kn">import</span> <span class="n">case</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">or_</span><span class="p">,</span> <span class="n">and_</span>
-<span class="kn">from</span> <span class="nn">sqlalchemy.ext.declarative</span> <span class="kn">import</span> <span class="n">declarative_base</span><span class="p">,</span> <span class="n">declared_attr</span>
-<span class="kn">from</span> <span class="nn">sqlalchemy.dialects.mysql</span> <span class="kn">import</span> <span class="n">LONGTEXT</span>
-<span class="kn">from</span> <span class="nn">sqlalchemy.orm</span> <span class="kn">import</span> <span class="n">relationship</span><span class="p">,</span> <span class="n">synonym</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="k">import</span> <span class="n">func</span><span class="p">,</span> <span class="n">or_</span><span class="p">,</span> <span class="n">and_</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.ext.declarative</span> <span class="k">import</span> <span class="n">declarative_base</span><span class="p">,</span> <span class="n">declared_attr</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.dialects.mysql</span> <span class="k">import</span> <span class="n">LONGTEXT</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.orm</span> <span class="k">import</span> <span class="n">reconstructor</span><span class="p">,</span> <span class="n">relationship</span><span class="p">,</span> <span class="n">synonym</span>
 
-<span class="kn">from</span> <span class="nn">croniter</span> <span class="kn">import</span> <span class="n">croniter</span>
+<span class="kn">from</span> <span class="nn">croniter</span> <span class="k">import</span> <span class="n">croniter</span>
 <span class="kn">import</span> <span class="nn">six</span>
 
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">settings</span><span class="p">,</span> <span class="n">utils</span>
-<span class="kn">from</span> <span class="nn">airflow.executors</span> <span class="kn">import</span> <span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span> <span class="n">LocalExecutor</span>
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
-<span class="kn">from</span> <span class="nn">airflow.dag.base_dag</span> <span class="kn">import</span> <span class="n">BaseDag</span><span class="p">,</span> <span class="n">BaseDagBag</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.dates</span> <span class="kn">import</span> <span class="n">cron_presets</span><span class="p">,</span> <span class="n">date_range</span> <span class="k">as</span> <span class="n">utils_date_range</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.db</span> <span class="kn">import</span> <span class="n">provide_session</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="kn">import</span> <span class="n">send_email</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.helpers</span> <span class="kn">import</span> <span class="p">(</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">settings</span><span class="p">,</span> <span class="n">utils</span>
+<span class="kn">from</span> <span class="nn">airflow.executors</span> <span class="k">import</span> <span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span> <span class="n">LocalExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSkipException</span><span class="p">,</span> <span class="n">AirflowTaskTimeout</span>
+<span class="kn">from</span> <span class="nn">airflow.dag.base_dag</span> <span class="k">import</span> <span class="n">BaseDag</span><span class="p">,</span> <span class="n">BaseDagBag</span>
+<span class="kn">from</span> <span class="nn">airflow.ti_deps.deps.not_in_retry_period_dep</span> <span class="k">import</span> <span class="n">NotInRetryPeriodDep</span>
+<span class="kn">from</span> <span class="nn">airflow.ti_deps.deps.prev_dagrun_dep</span> <span class="k">import</span> <span class="n">PrevDagrunDep</span>
+<span class="kn">from</span> <span class="nn">airflow.ti_deps.deps.trigger_rule_dep</span> <span class="k">import</span> <span class="n">TriggerRuleDep</span>
+<span class="kn">from</span> <span class="nn">airflow.ti_deps.dep_context</span> <span class="k">import</span> <span class="n">DepContext</span><span class="p">,</span> <span class="n">QUEUE_DEPS</span><span class="p">,</span> <span class="n">RUN_DEPS</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.dates</span> <span class="k">import</span> <span class="n">cron_presets</span><span class="p">,</span> <span class="n">date_range</span> <span class="k">as</span> <span class="n">utils_date_range</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.db</span> <span class="k">import</span> <span class="n">provide_session</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="k">import</span> <span class="n">send_email</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.helpers</span> <span class="k">import</span> <span class="p">(</span>
     <span class="n">as_tuple</span><span class="p">,</span> <span class="n">is_container</span><span class="p">,</span> <span class="n">is_in</span><span class="p">,</span> <span class="n">validate_key</span><span class="p">,</span> <span class="n">pprinttable</span><span class="p">)</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="kn">import</span> <span class="n">LoggingMixin</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.operator_resources</span> <span class="kn">import</span> <span class="n">Resources</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.timeout</span> <span class="kn">import</span> <span class="n">timeout</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.trigger_rule</span> <span class="kn">import</span> <span class="n">TriggerRule</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.operator_resources</span> <span class="k">import</span> <span class="n">Resources</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.timeout</span> <span class="k">import</span> <span class="n">timeout</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.trigger_rule</span> <span class="k">import</span> <span class="n">TriggerRule</span>
 
 <span class="n">Base</span> <span class="o">=</span> <span class="n">declarative_base</span><span class="p">()</span>
 <span class="n">ID_LEN</span> <span class="o">=</span> <span class="mi">250</span>
-<span class="n">SQL_ALCHEMY_CONN</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;SQL_ALCHEMY_CONN&#39;</span><span class="p">)</span>
-<span class="n">DAGS_FOLDER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;DAGS_FOLDER&#39;</span><span class="p">))</span>
 <span class="n">XCOM_RETURN_KEY</span> <span class="o">=</span> <span class="s1">&#39;return_value&#39;</span>
 
 <span class="n">Stats</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Stats</span>
 
-<span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="bp">False</span>
+<span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="kc">False</span>
 <span class="k">try</span><span class="p">:</span>
-    <span class="kn">from</span> <span class="nn">cryptography.fernet</span> <span class="kn">import</span> <span class="n">Fernet</span>
+    <span class="kn">from</span> <span class="nn">cryptography.fernet</span> <span class="k">import</span> <span class="n">Fernet</span>
     <span class="n">FERNET</span> <span class="o">=</span> <span class="n">Fernet</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;FERNET_KEY&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">))</span>
-    <span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="bp">True</span>
+    <span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="kc">True</span>
 <span class="k">except</span><span class="p">:</span>
     <span class="k">pass</span>
 
-<span class="k">if</span> <span class="s1">&#39;mysql&#39;</span> <span class="ow">in</span> <span class="n">SQL_ALCHEMY_CONN</span><span class="p">:</span>
+<span class="k">if</span> <span class="s1">&#39;mysql&#39;</span> <span class="ow">in</span> <span class="n">settings</span><span class="o">.</span><span class="n">SQL_ALCHEMY_CONN</span><span class="p">:</span>
     <span class="n">LongText</span> <span class="o">=</span> <span class="n">LONGTEXT</span>
 <span class="k">else</span><span class="p">:</span>
     <span class="n">LongText</span> <span class="o">=</span> <span class="n">Text</span>
 
 <span class="c1"># used by DAG context_managers</span>
-<span class="n">_CONTEXT_MANAGER_DAG</span> <span class="o">=</span> <span class="bp">None</span>
+<span class="n">_CONTEXT_MANAGER_DAG</span> <span class="o">=</span> <span class="kc">None</span>
 
 
-<span class="k">def</span> <span class="nf">clear_task_instances</span><span class="p">(</span><span class="n">tis</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">activate_dag_runs</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
+<span class="k">def</span> <span class="nf">clear_task_instances</span><span class="p">(</span><span class="n">tis</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">activate_dag_runs</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Clears a set of task instances, but makes sure the running ones</span>
 <span class="sd">    get killed.</span>
-<span class="sd">    &#39;&#39;&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">job_ids</span> <span class="o">=</span> <span class="p">[]</span>
     <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
         <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
@@ -248,13 +278,13 @@
                 <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SHUTDOWN</span>
                 <span class="n">job_ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">job_id</span><span class="p">)</span>
         <span class="c1"># todo: this creates an issue with the webui tests</span>
-        <span class="c1">#elif ti.state != State.REMOVED:</span>
-        <span class="c1">#    ti.state = State.NONE</span>
-        <span class="c1">#    session.merge(ti)</span>
+        <span class="c1"># elif ti.state != State.REMOVED:</span>
+        <span class="c1">#     ti.state = State.NONE</span>
+        <span class="c1">#     session.merge(ti)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">session</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
     <span class="k">if</span> <span class="n">job_ids</span><span class="p">:</span>
-        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">BaseJob</span> <span class="k">as</span> <span class="n">BJ</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="k">import</span> <span class="n">BaseJob</span> <span class="k">as</span> <span class="n">BJ</span>
         <span class="k">for</span> <span class="n">job</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">BJ</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">BJ</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">job_ids [...]
             <span class="n">job</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SHUTDOWN</span>
     <span class="k">if</span> <span class="n">activate_dag_runs</span><span class="p">:</span>
@@ -293,12 +323,12 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">dag_folder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">dag_folder</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">executor</span><span class="o">=</span><span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span>
             <span class="n">include_examples</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;LOAD_EXAMPLES&#39;</span><span class="p">)):</span>
 
-        <span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span> <span class="ow">or</span> <span class="n">DAGS_FOLDER</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Filling up the DagBag from {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">))</span>
+        <span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">DAGS_FOLDER</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Filling up the DagBag from </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dags</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="c1"># the file&#39;s last modified timestamp when we last read it</span>
@@ -341,7 +371,7 @@
         <span class="p">):</span>
             <span class="c1"># Reprocess source file</span>
             <span class="n">found_dags</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span>
-                <span class="n">filepath</span><span class="o">=</span><span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+                <span class="n">filepath</span><span class="o">=</span><span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
 
             <span class="c1"># If the source file no longer exports `dag_id`, delete it from self.dags</span>
             <span class="k">if</span> <span class="n">found_dags</span> <span class="ow">and</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="p">[</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">found_dags</span><span class="p">]:</span>
@@ -350,7 +380,7 @@
                 <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag_id</span><span class="p">]</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">dag_id</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="DagBag.process_file"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.process_file">[docs]</a>    <span class="k">def</span> <span class="nf">process_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filepath</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">safe_mode</span [...]
+<div class="viewcode-block" id="DagBag.process_file"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.process_file">[docs]</a>    <span class="k">def</span> <span class="nf">process_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filepath</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">safe_mode</span [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Given a path to a python module or zip file, this method imports</span>
 <span class="sd">        the module and look for dag objects within it.</span>
@@ -380,11 +410,14 @@
                 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
                     <span class="n">content</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
                     <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">s</span> <span class="ow">in</span> <span class="n">content</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="p">(</span><span class="n">b</span><span class="s1">&#39;DAG&#39;</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;airflow&#39;</span><span class="p">)]):</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">file_last_changed_on_disk</span>
                         <span class="k">return</span> <span class="n">found_dags</span>
 
-            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Importing {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
-            <span class="n">org_mod_name</span><span class="p">,</span> <span class="n">file_ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">filepath</span><span class="p">)[</span> [...]
-            <span class="n">mod_name</span> <span class="o">=</span> <span class="s1">&#39;unusual_prefix_&#39;</span> <span class="o">+</span> <span class="n">org_mod_name</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Importing </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
+            <span class="n">org_mod_name</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">filepath</span><span class="p">)[</span><span c [...]
+            <span class="n">mod_name</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;unusual_prefix_&#39;</span> <span class="o">+</span>
+                        <span class="n">hashlib</span><span class="o">.</span><span class="n">sha1</span><span class="p">(</span><span class="n">filepath</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span> <span class="o">+</span>
+                        <span class="s1">&#39;_&#39;</span> <span class="o">+</span> <span class="n">org_mod_name</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="n">mod_name</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
                 <span class="k">del</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">mod_name</span><span class="p">]</span>
@@ -401,19 +434,21 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="n">zip_file</span> <span class="o">=</span> <span class="n">zipfile</span><span class="o">.</span><span class="n">ZipFile</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span>
             <span class="k">for</span> <span class="n">mod</span> <span class="ow">in</span> <span class="n">zip_file</span><span class="o">.</span><span class="n">infolist</span><span class="p">():</span>
-                <span class="n">head</span><span class="p">,</span> <span class="n">tail</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
+                <span class="n">head</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
                 <span class="n">mod_name</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
                 <span class="k">if</span> <span class="ow">not</span> <span class="n">head</span> <span class="ow">and</span> <span class="p">(</span><span class="n">ext</span> <span class="o">==</span> <span class="s1">&#39;.py&#39;</span> <span class="ow">or</span> <span class="n">ext</span> <span class="o">==</span> <span class="s1">&#39;.pyc&#39;</span><span class="p">):</span>
                     <span class="k">if</span> <span class="n">mod_name</span> <span class="o">==</span> <span class="s1">&#39;__init__&#39;</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Found __init__.{0} at root of {1}&quot;</span><span class="o">.</span>
-                                            <span class="n">format</span><span class="p">(</span><span class="n">ext</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Found __init__.</span><span class="si">{0}</span><span class="s2"> at root of </span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span>
+                                            <span class="nb">format</span><span class="p">(</span><span class="n">ext</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
 
                     <span class="k">if</span> <span class="n">safe_mode</span><span class="p">:</span>
                         <span class="k">with</span> <span class="n">zip_file</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">zf</span><span class="p">:</span>
-                            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Reading {} from {}&quot;</span><span class="o">.</span>
-                                              <span class="n">format</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Reading </span><span class="si">{}</span><span class="s2"> from </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span>
+                                              <span class="nb">format</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
                             <span class="n">content</span> <span class="o">=</span> <span class="n">zf</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
                             <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">s</span> <span class="ow">in</span> <span class="n">content</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="p">(</span><span class="n">b</span><span class="s1">&#39;DAG&#39;</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;airflow&#39;</span><span class="p">)]):</span>
+                                <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span>
+                                    <span class="n">file_last_changed_on_disk</span><span class="p">)</span>
                                 <span class="c1"># todo: create ignore list</span>
                                 <span class="k">return</span> <span class="n">found_dags</span>
 
@@ -434,8 +469,7 @@
                 <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
                     <span class="k">if</span> <span class="ow">not</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
                         <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">filepath</span>
-                    <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="bp">False</span>
-                    <span class="n">dag</span><span class="o">.</span><span class="n">module_name</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="n">__name__</span>
+                    <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="kc">False</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">bag_dag</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
                     <span class="n">found_dags</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
                     <span class="n">found_dags</span> <span class="o">+=</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span>
@@ -444,18 +478,18 @@
         <span class="k">return</span> <span class="n">found_dags</span></div>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="DagBag.kill_zombies"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.kill_zombies">[docs]</a>    <span class="k">def</span> <span class="nf">kill_zombies</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DagBag.kill_zombies"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.kill_zombies">[docs]</a>    <span class="k">def</span> <span class="nf">kill_zombies</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Fails tasks that haven&#39;t had a heartbeat in too long</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">LocalTaskJob</span> <span class="k">as</span> <span class="n">LJ</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="k">import</span> <span class="n">LocalTaskJob</span> <span class="k">as</span> <span class="n">LJ</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Finding &#39;running&#39; jobs without a recent heartbeat&quot;</span><span class="p">)</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
         <span class="n">secs</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;scheduler&#39;</span><span class="p">,</span> <span class="s1">&#39;job_heartbeat_sec&#39;</span><span class="p">)</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="mi">120</span>
+            <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;scheduler&#39;</span><span class="p">,</span> <span class="s1">&#39;scheduler_zombie_task_threshold&#39;</span><span class="p">))</span>
         <span class="n">limit_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="n">secs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s2">&quot;Failing jobs without heartbeat after {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">limit_dttm</span><span class="p">))</span>
+            <span class="s2">&quot;Failing jobs without heartbeat after </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">limit_dttm</span><span class="p">))</span>
 
         <span class="n">tis</span> <span class="o">=</span> <span class="p">(</span>
             <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span>
@@ -475,9 +509,9 @@
                 <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">:</span>
                     <span class="n">task</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
                     <span class="n">ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task</span>
-                    <span class="n">ti</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="s2">&quot;{} killed as zombie&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
+                    <span class="n">ti</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> killed as zombie&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                        <span class="s1">&#39;Marked zombie job {} as failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
+                        <span class="s1">&#39;Marked zombie job </span><span class="si">{}</span><span class="s1"> as failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
                     <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;zombies_killed&#39;</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
 
@@ -495,15 +529,14 @@
         <span class="k">for</span> <span class="n">subdag</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span><span class="p">:</span>
             <span class="n">subdag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
             <span class="n">subdag</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="n">dag</span>
-            <span class="n">subdag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">full_filepath</span>
-            <span class="n">subdag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="n">subdag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="kc">True</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">bag_dag</span><span class="p">(</span><span class="n">subdag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="o">=</span><span class="n">root_dag</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Loaded DAG {dag}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Loaded DAG </span><span class="si">{dag}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
 
 <div class="viewcode-block" id="DagBag.collect_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.collect_dags">[docs]</a>    <span class="k">def</span> <span class="nf">collect_dags</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">dag_folder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+            <span class="n">dag_folder</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">only_if_updated</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Given a file path or a folder, this method looks for python modules,</span>
 <span class="sd">        imports them and adds them to the dagbag collection.</span>
@@ -524,7 +557,7 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="n">only_if_updated</span><span class="p">)</span>
         <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">):</span>
             <span class="n">patterns</span> <span class="o">=</span> <span class="p">[]</span>
-            <span class="k">for</span> <span class="n">root</span><span class="p">,</span> <span class="n">dirs</span><span class="p">,</span> <span class="n">files</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="n">followlinks</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+            <span class="k">for</span> <span class="n">root</span><span class="p">,</span> <span class="n">dirs</span><span class="p">,</span> <span class="n">files</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="n">followlinks</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
                 <span class="n">ignore_file</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span> <span class="k">if</span> <span class="n">f</span> <span class="o">==</span> <span class="s1">&#39;.airflowignore&#39;</span><span class="p">]</span>
                 <span class="k">if</span> <span class="n">ignore_file</span><span class="p">:</span>
                     <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">ignore_file</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span>
@@ -564,18 +597,18 @@
         <span class="n">Stats</span><span class="o">.</span><span class="n">gauge</span><span class="p">(</span>
             <span class="s1">&#39;dagbag_import_errors&#39;</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dagbag_stats</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span>
-            <span class="n">stats</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">duration</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></div>
+            <span class="n">stats</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">duration</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="DagBag.dagbag_report"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.dagbag_report">[docs]</a>    <span class="k">def</span> <span class="nf">dagbag_report</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Prints a report around DagBag loading stats&quot;&quot;&quot;</span>
         <span class="n">report</span> <span class="o">=</span> <span class="n">textwrap</span><span class="o">.</span><span class="n">dedent</span><span class="p">(</span><span class="s2">&quot;&quot;&quot;</span><span class="se">\n</span><span class="s2"></span>
 <span class="s2">        -------------------------------------------------------------------</span>
-<span class="s2">        DagBag loading stats for {dag_folder}</span>
+<span class="s2">        DagBag loading stats for </span><span class="si">{dag_folder}</span><span class="s2"></span>
 <span class="s2">        -------------------------------------------------------------------</span>
-<span class="s2">        Number of DAGs: {dag_num}</span>
-<span class="s2">        Total task number: {task_num}</span>
-<span class="s2">        DagBag parsing time: {duration}</span>
-<span class="s2">        {table}</span>
+<span class="s2">        Number of DAGs: </span><span class="si">{dag_num}</span><span class="s2"></span>
+<span class="s2">        Total task number: </span><span class="si">{task_num}</span><span class="s2"></span>
+<span class="s2">        DagBag parsing time: </span><span class="si">{duration}</span><span class="s2"></span>
+<span class="s2">        </span><span class="si">{table}</span><span class="s2"></span>
 <span class="s2">        &quot;&quot;&quot;</span><span class="p">)</span>
         <span class="n">stats</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dagbag_stats</span>
         <span class="k">return</span> <span class="n">report</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
@@ -591,7 +624,7 @@
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
                 <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="o">~</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">))</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
@@ -599,7 +632,7 @@
     <span class="k">def</span> <span class="nf">paused_dags</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="n">dag_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">dp</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dp</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">DagModel</span><span class="o">.</span><span class="n">is_paused</span> <span class="o">==</span> <span class="bp">True</span><span class="p">)]</span>
+            <span class="n">DagModel</span><span class="o">.</span><span class="n">is_paused</span><span class="o">.</span><span class="n">__eq__</span><span class="p">(</span><span class="kc">True</span><span class="p">))]</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">dag_ids</span></div>
@@ -608,10 +641,10 @@
 <span class="k">class</span> <span class="nc">User</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;users&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">username</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">username</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">email</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
-    <span class="n">superuser</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="n">superuser</span> <span class="o">=</span> <span class="kc">False</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span>
@@ -632,7 +665,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;connection&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">conn_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
     <span class="n">conn_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
     <span class="n">host</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
@@ -640,15 +673,40 @@
     <span class="n">login</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
     <span class="n">_password</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;password&#39;</span><span class="p">,</span> <span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">))</span>
     <span class="n">port</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">())</span>
-    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
-    <span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
     <span class="n">_extra</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;extra&#39;</span><span class="p">,</span> <span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">))</span>
 
+    <span class="n">_types</span> <span class="o">=</span> <span class="p">[</span>
+        <span class="p">(</span><span class="s1">&#39;fs&#39;</span><span class="p">,</span> <span class="s1">&#39;File (path)&#39;</span><span class="p">),</span>
+        <span class="p">(</span><span class="s1">&#39;ftp&#39;</span><span class="p">,</span> <span class="s1">&#39;FTP&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;google_cloud_platform&#39;</span><span class="p">,</span> <span class="s1">&#39;Google Cloud Platform&#39;</span><span class="p">),</span>
+        <span class="p">(</span><span class="s1">&#39;hdfs&#39;</span><span class="p">,</span> <span class="s1">&#39;HDFS&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;http&#39;</span><span class="p">,</span> <span class="s1">&#39;HTTP&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;hive_cli&#39;</span><span class="p">,</span> <span class="s1">&#39;Hive Client Wrapper&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;hive_metastore&#39;</span><span class="p">,</span> <span class="s1">&#39;Hive Metastore Thrift&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;hiveserver2&#39;</span><span class="p">,</span> <span class="s1">&#39;Hive Server 2 Thrift&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;jdbc&#39;</span><span class="p">,</span> <span class="s1">&#39;Jdbc Connection&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;mysql&#39;</span><span class="p">,</span> <span class="s1">&#39;MySQL&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;postgres&#39;</span><span class="p">,</span> <span class="s1">&#39;Postgres&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;oracle&#39;</span><span class="p">,</span> <span class="s1">&#39;Oracle&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;vertica&#39;</span><span class="p">,</span> <span class="s1">&#39;Vertica&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;presto&#39;</span><span class="p">,</span> <span class="s1">&#39;Presto&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">,</span> <span class="s1">&#39;S3&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;samba&#39;</span><span class="p">,</span> <span class="s1">&#39;Samba&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;sqlite&#39;</span><span class="p">,</span> <span class="s1">&#39;Sqlite&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;ssh&#39;</span><span class="p">,</span> <span class="s1">&#39;SSH&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;cloudant&#39;</span><span class="p">,</span> <span class="s1">&#39;IBM Cloudant&#39;</span><span class="p">,),</span>
+        <span class="p">(</span><span class="s1">&#39;mssql&#39;</span><span class="p">,</span> <span class="s1">&#39;Microsoft SQL Server&#39;</span><span class="p">),</span>
+        <span class="p">(</span><span class="s1">&#39;mesos_framework-id&#39;</span><span class="p">,</span> <span class="s1">&#39;Mesos Framework ID&#39;</span><span class="p">),</span>
+        <span class="p">(</span><span class="s1">&#39;jira&#39;</span><span class="p">,</span> <span class="s1">&#39;JIRA&#39;</span><span class="p">,),</span>
+    <span class="p">]</span>
+
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">host</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">login</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">schema</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">uri</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">login</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">schema</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">uri</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">conn_id</span>
         <span class="k">if</span> <span class="n">uri</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">parse_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">)</span>
@@ -680,7 +738,7 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt encrypted password for login={}, </span><span class="se">\</span>
+                    <span class="s2">&quot;Can&#39;t decrypt encrypted password for login=</span><span class="si">{}</span><span class="s2">, </span><span class="se">\</span>
 <span class="s2">                    FERNET_KEY configuration is missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">login</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_password</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
@@ -690,10 +748,10 @@
         <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="kc">True</span>
             <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="o">=</span> <span class="n">value</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="kc">False</span>
 
     <span class="nd">@declared_attr</span>
     <span class="k">def</span> <span class="nf">password</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
@@ -704,7 +762,7 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt `extra` params for login={},</span><span class="se">\</span>
+                    <span class="s2">&quot;Can&#39;t decrypt `extra` params for login=</span><span class="si">{}</span><span class="s2">,</span><span class="se">\</span>
 <span class="s2">                    FERNET_KEY configuration is missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">login</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_extra</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
@@ -714,10 +772,10 @@
         <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="kc">True</span>
             <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="o">=</span> <span class="n">value</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="kc">False</span>
 
     <span class="nd">@declared_attr</span>
     <span class="k">def</span> <span class="nf">extra</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
@@ -727,59 +785,61 @@
     <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mysql&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="k">import</span> <span class="n">MySqlHook</span>
                 <span class="k">return</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;google_cloud_platform&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="k">import</span> <span class="n">BigQueryHook</span>
                 <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;postgres&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.postgres_hook</span> <span class="kn">import</span> <span class="n">PostgresHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.postgres_hook</span> <span class="k">import</span> <span class="n">PostgresHook</span>
                 <span class="k">return</span> <span class="n">PostgresHook</span><span class="p">(</span><span class="n">postgres_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hive_cli&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="k">import</span> <span class="n">HiveCliHook</span>
                 <span class="k">return</span> <span class="n">HiveCliHook</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;presto&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="kn">import</span> <span class="n">PrestoHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="k">import</span> <span class="n">PrestoHook</span>
                 <span class="k">return</span> <span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hiveserver2&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="k">import</span> <span class="n">HiveServer2Hook</span>
                 <span class="k">return</span> <span class="n">HiveServer2Hook</span><span class="p">(</span><span class="n">hiveserver2_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;sqlite&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.sqlite_hook</span> <span class="kn">import</span> <span class="n">SqliteHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.sqlite_hook</span> <span class="k">import</span> <span class="n">SqliteHook</span>
                 <span class="k">return</span> <span class="n">SqliteHook</span><span class="p">(</span><span class="n">sqlite_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;jdbc&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.jdbc_hook</span> <span class="kn">import</span> <span class="n">JdbcHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.jdbc_hook</span> <span class="k">import</span> <span class="n">JdbcHook</span>
                 <span class="k">return</span> <span class="n">JdbcHook</span><span class="p">(</span><span class="n">jdbc_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mssql&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.mssql_hook</span> <span class="kn">import</span> <span class="n">MsSqlHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.mssql_hook</span> <span class="k">import</span> <span class="n">MsSqlHook</span>
                 <span class="k">return</span> <span class="n">MsSqlHook</span><span class="p">(</span><span class="n">mssql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;oracle&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.hooks.oracle_hook</span> <span class="kn">import</span> <span class="n">OracleHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.oracle_hook</span> <span class="k">import</span> <span class="n">OracleHook</span>
                 <span class="k">return</span> <span class="n">OracleHook</span><span class="p">(</span><span class="n">oracle_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;vertica&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="k">import</span> <span class="n">VerticaHook</span>
                 <span class="k">return</span> <span class="n">VerticaHook</span><span class="p">(</span><span class="n">vertica_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;cloudant&#39;</span><span class="p">:</span>
-                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.cloudant_hook</span> <span class="kn">import</span> <span class="n">CloudantHook</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.cloudant_hook</span> <span class="k">import</span> <span class="n">CloudantHook</span>
                 <span class="k">return</span> <span class="n">CloudantHook</span><span class="p">(</span><span class="n">cloudant_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;jira&#39;</span><span class="p">:</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.jira_hook</span> <span class="k">import</span> <span class="n">JiraHook</span>
+                <span class="k">return</span> <span class="n">JiraHook</span><span class="p">(</span><span class="n">jira_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
         <span class="k">except</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">None</span>
+            <span class="k">pass</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span>
 
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">extra_dejson</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Returns the extra property by deserializing json&quot;&quot;&quot;</span>
+        <span class="sd">&quot;&quot;&quot;Returns the extra property by deserializing json.&quot;&quot;&quot;</span>
         <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">obj</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">extra</span><span class="p">)</span>
             <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
-                    <span class="s2">&quot;Failed parsing the json for &quot;</span>
-                    <span class="s2">&quot;conn_id {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">))</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed parsing the json for conn_id </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+
         <span class="k">return</span> <span class="n">obj</span></div>
 
 
@@ -794,7 +854,7 @@
 <span class="sd">    The executors pick up the DagPickle id and read the dag definition from</span>
 <span class="sd">    the database.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">pickle</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">(</span><span class="n">pickler</span><span class="o">=</span><span class="n">dill</span><span class="p">))</span>
     <span class="n">created_dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
     <span class="n">pickle_hash</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
@@ -804,7 +864,7 @@
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span>
         <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="s1">&#39;template_env&#39;</span><span class="p">):</span>
-            <span class="n">dag</span><span class="o">.</span><span class="n">template_env</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">template_env</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">pickle_hash</span> <span class="o">=</span> <span class="nb">hash</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">pickle</span> <span class="o">=</span> <span class="n">dag</span>
 
@@ -825,9 +885,9 @@
 
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;task_instance&quot;</span>
 
-    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">duration</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Float</span><span class="p">)</span>
@@ -841,6 +901,7 @@
     <span class="n">priority_weight</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">)</span>
     <span class="n">operator</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1000</span><span class="p">))</span>
     <span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">pid</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">)</span>
 
     <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
         <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_dag_state&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
@@ -849,7 +910,7 @@
         <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_pool&#39;</span><span class="p">,</span> <span class="n">pool</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">priority_weight</span><span class="p">),</span>
     <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">dag_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">=</span> <span class="n">execution_date</span>
@@ -858,23 +919,62 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">pool</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">priority_weight_total</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="bp">False</span>  <span class="c1"># can be changed when calling &#39;run&#39;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">force</span> <span class="o">=</span> <span class="bp">False</span>  <span class="c1"># can be changed when calling &#39;run&#39;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">unixname</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">run_as_user</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">run_as_user</span>
         <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">init_on_load</span><span class="p">()</span>
+
+    <span class="nd">@reconstructor</span>
+<div class="viewcode-block" id="TaskInstance.init_on_load"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.init_on_load">[docs]</a>    <span class="k">def</span> <span class="nf">init_on_load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; Initialize the attributes that aren&#39;t stored in the DB. &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="kc">False</span>  <span class="c1"># can be changed when calling &#39;run&#39;</span></div>
 
 <div class="viewcode-block" id="TaskInstance.command"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.command">[docs]</a>    <span class="k">def</span> <span class="nf">command</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">pickle_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">raw</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">pickle_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">raw</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">cfg_path</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a command that can be executed anywhere where airflow is</span>
+<span class="sd">        installed. This command is part of the message sent to executors by</span>
+<span class="sd">        the orchestrator.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">command_as_list</span><span class="p">(</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="n">ignore_all_deps</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="n">ignore_task_deps</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="n">ignore_ti_state</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="n">local</span><span class="p">,</span>
+            <span class="n">pickle_id</span><span class="o">=</span><span class="n">pickle_id</span><span class="p">,</span>
+            <span class="n">raw</span><span class="o">=</span><span class="n">raw</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="n">job_id</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">,</span>
+            <span class="n">cfg_path</span><span class="o">=</span><span class="n">cfg_path</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="TaskInstance.command_as_list"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.command_as_list">[docs]</a>    <span class="k">def</span> <span class="nf">command_as_list</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">pickle_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">raw</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">cfg_path</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a command that can be executed anywhere where airflow is</span>
 <span class="sd">        installed. This command is part of the message sent to executors by</span>
@@ -884,41 +984,45 @@
 
         <span class="n">should_pass_filepath</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">pickle_id</span> <span class="ow">and</span> <span class="n">dag</span>
         <span class="k">if</span> <span class="n">should_pass_filepath</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">!=</span> <span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
-            <span class="n">path</span> <span class="o">=</span> <span class="s2">&quot;DAGS_FOLDER/{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="s2">&quot;DAGS_FOLDER/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
         <span class="k">elif</span> <span class="n">should_pass_filepath</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
             <span class="n">path</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">path</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="kc">None</span>
 
         <span class="k">return</span> <span class="n">TaskInstance</span><span class="o">.</span><span class="n">generate_command</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
             <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="n">ignore_all_deps</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="n">ignore_task_deps</span><span class="p">,</span>
             <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
-            <span class="n">force</span><span class="o">=</span><span class="n">force</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="n">ignore_ti_state</span><span class="p">,</span>
             <span class="n">local</span><span class="o">=</span><span class="n">local</span><span class="p">,</span>
             <span class="n">pickle_id</span><span class="o">=</span><span class="n">pickle_id</span><span class="p">,</span>
             <span class="n">file_path</span><span class="o">=</span><span class="n">path</span><span class="p">,</span>
             <span class="n">raw</span><span class="o">=</span><span class="n">raw</span><span class="p">,</span>
             <span class="n">job_id</span><span class="o">=</span><span class="n">job_id</span><span class="p">,</span>
-            <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">)</span></div>
+            <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">,</span>
+            <span class="n">cfg_path</span><span class="o">=</span><span class="n">cfg_path</span><span class="p">)</span></div>
 
     <span class="nd">@staticmethod</span>
 <div class="viewcode-block" id="TaskInstance.generate_command"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.generate_command">[docs]</a>    <span class="k">def</span> <span class="nf">generate_command</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span>
                          <span class="n">task_id</span><span class="p">,</span>
                          <span class="n">execution_date</span><span class="p">,</span>
-                         <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">pickle_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                         <span class="n">file_path</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                         <span class="n">raw</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                         <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                         <span class="n">pool</span><span class="o">=</span><span class="bp">None</span>
+                         <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">ignore_all_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">ignore_task_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">ignore_ti_state</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">local</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">pickle_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                         <span class="n">file_path</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                         <span class="n">raw</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                         <span class="n">job_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                         <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                         <span class="n">cfg_path</span><span class="o">=</span><span class="kc">None</span>
                          <span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Generates the shell command required to execute this task instance.</span>
@@ -931,14 +1035,17 @@
 <span class="sd">        :type execution_date: datetime</span>
 <span class="sd">        :param mark_success: Whether to mark the task as successful</span>
 <span class="sd">        :type mark_success: bool</span>
-<span class="sd">        :param ignore_dependencies: Whether to ignore the dependencies and run</span>
-<span class="sd">        anyway</span>
-<span class="sd">        :type ignore_dependencies: bool</span>
-<span class="sd">        :param ignore_depends_on_past: Whether to ignore the depends on past</span>
-<span class="sd">        setting and run anyway</span>
-<span class="sd">        :type ignore_depends_on_past: bool</span>
-<span class="sd">        :param force: Whether to force running - see TaskInstance.run()</span>
-<span class="sd">        :type force: bool</span>
+<span class="sd">        :param ignore_all_deps: Ignore all ignoreable dependencies.</span>
+<span class="sd">            Overrides the other ignore_* parameters.</span>
+<span class="sd">        :type ignore_all_deps: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: Ignore depends_on_past parameter of DAGs</span>
+<span class="sd">            (e.g. for Backfills)</span>
+<span class="sd">        :type ignore_depends_on_past: boolean</span>
+<span class="sd">        :param ignore_task_deps: Ignore task-specific dependencies such as depends_on_past</span>
+<span class="sd">            and trigger rule</span>
+<span class="sd">        :type ignore_task_deps: boolean</span>
+<span class="sd">        :param ignore_ti_state: Ignore the task instance&#39;s previous failure/success</span>
+<span class="sd">        :type ignore_ti_state: boolean</span>
 <span class="sd">        :param local: Whether to run the task locally</span>
 <span class="sd">        :type local: bool</span>
 <span class="sd">        :param pickle_id: If the DAG was serialized to the DB, the ID</span>
@@ -952,25 +1059,27 @@
 <span class="sd">        :return: shell command that can be used to run the task instance</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">iso</span> <span class="o">=</span> <span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
-        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;airflow run {dag_id} {task_id} {iso} &quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--mark_success &quot;</span> <span class="k">if</span> <span class="n">mark_success</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pickle {pickle_id} &quot;</span> <span class="k">if</span> <span class="n">pickle_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--job_id {job_id} &quot;</span> <span class="k">if</span> <span class="n">job_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-i &quot;</span> <span class="k">if</span> <span class="n">ignore_dependencies</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-I &quot;</span> <span class="k">if</span> <span class="n">ignore_depends_on_past</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--force &quot;</span> <span class="k">if</span> <span class="n">force</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--local &quot;</span> <span class="k">if</span> <span class="n">local</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pool {pool} &quot;</span> <span class="k">if</span> <span class="n">pool</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--raw &quot;</span> <span class="k">if</span> <span class="n">raw</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd {file_path}&quot;</span> <span class="k">if</span> <span class="n">file_path</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="k">return</span> <span class="n">cmd</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span></div>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;airflow&quot;</span><span class="p">,</span> <span class="s2">&quot;run&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">dag_id</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_id</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class= [...]
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--mark_success&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">mark_success</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--pickle&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">pickle_id</span><span class="p">)])</span> <span class="k">if</span> <span class="n">pickle_id</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--job_id&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">job_id</span><span class="p">)])</span> <span class="k">if</span> <span class="n">job_id</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;-A &quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">ignore_all_deps</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;-i&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">ignore_task_deps</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;-I&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">ignore_depends_on_past</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--force&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">ignore_ti_state</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--local&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">local</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--pool&quot;</span><span class="p">,</span> <span class="n">pool</span><span class="p">])</span> <span class="k">if</span> <span class="n">pool</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--raw&quot;</span><span class="p">])</span> <span class="k">if</span> <span class="n">raw</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;-sd&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">])</span> <span class="k">if</span> <span class="n">file_path</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="n">cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s2">&quot;--cfg_path&quot;</span><span class="p">,</span> <span class="n">cfg_path</span><span class="p">])</span> <span class="k">if</span> <span class="n">cfg_path</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="k">return</span> <span class="n">cmd</span></div>
 
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">log_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
         <span class="n">log</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_LOG_FOLDER&#39;</span><span class="p">))</span>
         <span class="k">return</span> <span class="p">(</span>
-            <span class="s2">&quot;{log}/{self.dag_id}/{self.task_id}/{iso}.log&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s2">&quot;</span><span class="si">{log}</span><span class="s2">/</span><span class="si">{self.dag_id}</span><span class="s2">/</span><span class="si">{self.task_id}</span><span class="s2">/</span><span class="si">{iso}</span><span class="s2">.log&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
 
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">log_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -978,9 +1087,9 @@
         <span class="n">BASE_URL</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webserver&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_URL&#39;</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">BASE_URL</span> <span class="o">+</span> <span class="p">(</span>
             <span class="s2">&quot;/admin/airflow/log&quot;</span>
-            <span class="s2">&quot;?dag_id={self.dag_id}&quot;</span>
-            <span class="s2">&quot;&amp;task_id={self.task_id}&quot;</span>
-            <span class="s2">&quot;&amp;execution_date={iso}&quot;</span>
+            <span class="s2">&quot;?dag_id=</span><span class="si">{self.dag_id}</span><span class="s2">&quot;</span>
+            <span class="s2">&quot;&amp;task_id=</span><span class="si">{self.task_id}</span><span class="s2">&quot;</span>
+            <span class="s2">&quot;&amp;execution_date=</span><span class="si">{iso}</span><span class="s2">&quot;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
 
     <span class="nd">@property</span>
@@ -990,15 +1099,15 @@
         <span class="k">return</span> <span class="n">BASE_URL</span> <span class="o">+</span> <span class="p">(</span>
             <span class="s2">&quot;/admin/airflow/action&quot;</span>
             <span class="s2">&quot;?action=success&quot;</span>
-            <span class="s2">&quot;&amp;task_id={self.task_id}&quot;</span>
-            <span class="s2">&quot;&amp;dag_id={self.dag_id}&quot;</span>
-            <span class="s2">&quot;&amp;execution_date={iso}&quot;</span>
+            <span class="s2">&quot;&amp;task_id=</span><span class="si">{self.task_id}</span><span class="s2">&quot;</span>
+            <span class="s2">&quot;&amp;dag_id=</span><span class="si">{self.dag_id}</span><span class="s2">&quot;</span>
+            <span class="s2">&quot;&amp;execution_date=</span><span class="si">{iso}</span><span class="s2">&quot;</span>
             <span class="s2">&quot;&amp;upstream=false&quot;</span>
             <span class="s2">&quot;&amp;downstream=false&quot;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.current_state"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.current_state">[docs]</a>    <span class="k">def</span> <span class="nf">current_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="TaskInstance.current_state"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.current_state">[docs]</a>    <span class="k">def</span> <span class="nf">current_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get the very latest state from the database, if a session is passed,</span>
 <span class="sd">        we use and looking up the state becomes part of the session, otherwise</span>
@@ -1013,11 +1122,11 @@
         <span class="k">if</span> <span class="n">ti</span><span class="p">:</span>
             <span class="n">state</span> <span class="o">=</span> <span class="n">ti</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">state</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">state</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">return</span> <span class="n">state</span></div>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.error"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.error">[docs]</a>    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="TaskInstance.error"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.error">[docs]</a>    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Forces the task instance&#39;s state to FAILED in the database.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -1027,7 +1136,7 @@
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.refresh_from_db"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.refresh_from_db">[docs]</a>    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class= [...]
+<div class="viewcode-block" id="TaskInstance.refresh_from_db"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.refresh_from_db">[docs]</a>    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class= [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Refreshes the task instance from the database based on the primary key</span>
 
@@ -1051,11 +1160,12 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">start_date</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">end_date</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">try_number</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">hostname</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="bp">None</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="kc">None</span></div>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.clear_xcom_data"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.clear_xcom_data">[docs]</a>    <span class="k">def</span> <span class="nf">clear_xcom_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="TaskInstance.clear_xcom_data"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.clear_xcom_data">[docs]</a>    <span class="k">def</span> <span class="nf">clear_xcom_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Clears all XCom data from the database for the task instance</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -1071,7 +1181,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a tuple that identifies the task instance uniquely</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span>
 
     <span class="k">def</span> <span class="nf">set_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
@@ -1080,88 +1190,17 @@
         <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
-<div class="viewcode-block" id="TaskInstance.is_queueable"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_queueable">[docs]</a>    <span class="k">def</span> <span class="nf">is_queueable</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">include_queued</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boolean on whether the task instance has met all dependencies</span>
-<span class="sd">        and is ready to run. It considers the task&#39;s state, the state</span>
-<span class="sd">        of its dependencies, depends_on_past and makes sure the execution</span>
-<span class="sd">        isn&#39;t in the future. It doesn&#39;t take into</span>
-<span class="sd">        account whether the pool has a slot for it to run.</span>
-
-<span class="sd">        :param include_queued: If True, tasks that have already been queued</span>
-<span class="sd">            are included. Defaults to False.</span>
-<span class="sd">        :type include_queued: boolean</span>
-<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
-<span class="sd">            dependencies. Defaults to False.</span>
-<span class="sd">        :type ignore_depends_on_past: boolean</span>
-<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
-<span class="sd">            the upstream_failed state creation while checking to see</span>
-<span class="sd">            whether the task instance is runnable. It was the shortest</span>
-<span class="sd">            path to add the feature</span>
-<span class="sd">        :type flag_upstream_failed: boolean</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="c1"># is the execution date in the future?</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">():</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="c1"># is the task still in the retry waiting period?</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_premature</span><span class="p">():</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="c1"># does the task have an end_date prior to the execution date?</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">end_date</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">end_date</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="c1"># has the task been skipped?</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="c1"># has the task already been queued (and are we excluding queued tasks)?</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">include_queued</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="c1"># is the task runnable and have its dependencies been met?</span>
-        <span class="k">elif</span> <span class="p">(</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span><span class="n">runnable</span><span class="p">()</span> <span class="ow">and</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
-                    <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
-                    <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)):</span>
-            <span class="k">return</span> <span class="bp">True</span>
-        <span class="c1"># anything else</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span></div>
-
-<div class="viewcode-block" id="TaskInstance.is_premature"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_premature">[docs]</a>    <span class="k">def</span> <span class="nf">is_premature</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_premature</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns whether a task is in UP_FOR_RETRY state and its retry interval</span>
 <span class="sd">        has elapsed.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="c1"># is the task still in the retry waiting period?</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()</span></div>
-
-<div class="viewcode-block" id="TaskInstance.is_runnable"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_runnable">[docs]</a>    <span class="k">def</span> <span class="nf">is_runnable</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">include_queued</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns whether a task is ready to run AND there&#39;s room in the</span>
-<span class="sd">        queue.</span>
-
-<span class="sd">        :param include_queued: If True, tasks that are already QUEUED are</span>
-<span class="sd">            considered &quot;runnable&quot;. Defaults to False.</span>
-<span class="sd">        :type include_queued: boolean</span>
-<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
-<span class="sd">            dependencies. Defaults to False.</span>
-<span class="sd">        :type ignore_depends_on_past: boolean</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">queueable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_queueable</span><span class="p">(</span>
-            <span class="n">include_queued</span><span class="o">=</span><span class="n">include_queued</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
-            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">queueable</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool_full</span><span class="p">()</span></div>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()</span>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.are_dependents_done"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.are_dependents_done">[docs]</a>    <span class="k">def</span> <span class="nf">are_dependents_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="TaskInstance.are_dependents_done"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.are_dependents_done">[docs]</a>    <span class="k">def</span> <span class="nf">are_dependents_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Checks whether the dependents of this task instance have all succeeded.</span>
 <span class="sd">        This is meant to be used by wait_for_downstream.</span>
@@ -1173,7 +1212,7 @@
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">downstream_task_ids</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">True</span>
+            <span class="k">return</span> <span class="kc">True</span>
 
         <span class="n">ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
             <span class="n">TaskInstance</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
@@ -1184,160 +1223,98 @@
         <span class="n">count</span> <span class="o">=</span> <span class="n">ti</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
         <span class="k">return</span> <span class="n">count</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">downstream_task_ids</span><span class="p">)</span></div>
 
+    <span class="nd">@property</span>
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="TaskInstance.evaluate_trigger_rule"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.evaluate_trigger_rule">[docs]</a>    <span class="k">def</span> <span class="nf">evaluate_trigger_rule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="p">,</span> <span class="n">failed</span><span class="p">,</span>
-                              <span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span><span class="p">,</span>
-                              <span class="n">flag_upstream_failed</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boolean on whether the current task can be scheduled</span>
-<span class="sd">        for execution based on its trigger_rule.</span>
-
-<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
-<span class="sd">            the upstream_failed state creation while checking to see</span>
-<span class="sd">            whether the task instance is runnable. It was the shortest</span>
-<span class="sd">            path to add the feature</span>
-<span class="sd">        :type flag_upstream_failed: boolean</span>
-<span class="sd">        :param successes: Number of successful upstream tasks</span>
-<span class="sd">        :type successes: boolean</span>
-<span class="sd">        :param skipped: Number of skipped upstream tasks</span>
-<span class="sd">        :type skipped: boolean</span>
-<span class="sd">        :param failed: Number of failed upstream tasks</span>
-<span class="sd">        :type failed: boolean</span>
-<span class="sd">        :param upstream_failed: Number of upstream_failed upstream tasks</span>
-<span class="sd">        :type upstream_failed: boolean</span>
-<span class="sd">        :param done: Number of completed upstream tasks</span>
-<span class="sd">        :type done: boolean</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">TR</span> <span class="o">=</span> <span class="n">TriggerRule</span>
+    <span class="k">def</span> <span class="nf">previous_ti</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot; The task instance for the task that ran before this task instance &quot;&quot;&quot;</span>
 
-        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
-        <span class="n">upstream</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">upstream_task_ids</span><span class="p">)</span>
-        <span class="n">tr</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span>
-        <span class="n">upstream_done</span> <span class="o">=</span> <span class="n">done</span> <span class="o">&gt;=</span> <span class="n">upstream</span>
-
-        <span class="c1"># handling instant state assignment based on trigger rules</span>
-        <span class="k">if</span> <span class="n">flag_upstream_failed</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_SUCCESS</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">upstream_failed</span> <span class="ow">or</span> <span class="n">failed</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
-                <span class="k">elif</span> <span class="n">skipped</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_FAILED</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">successes</span> <span class="ow">or</span> <span class="n">skipped</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_SUCCESS</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">upstream_done</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">successes</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_FAILED</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">upstream_done</span> <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="n">failed</span> <span class="ow">or</span> <span class="n">upstream_failed</span><span class="p">):</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span>
+        <span class="k">if</span> <span class="n">dag</span><span class="p">:</span>
+            <span class="n">dr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dagrun</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="p">(</span>
-             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_SUCCESS</span> <span class="ow">and</span> <span class="n">successes</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">or</span>
-             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_FAILED</span> <span class="ow">and</span> <span class="p">(</span><span class="n">failed</span> <span class="ow">or</span> <span class="n">upstream_failed</span><span class="p">))</span> <span class="ow">or</span>
-             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_SUCCESS</span> <span class="ow">and</span> <span class="n">successes</span> <span class="o">&gt;=</span> <span class="n">upstream</span><span class="p">)</span> <span class="ow">or</span>
-             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_FAILED</span> <span class="ow">and</span> <span class="n">failed</span> <span class="o">+</span> <span class="n">upstream_failed</span> <span class="o">&gt;=</span> <span class="n">upstream</span><span class="p">)</span> <span class="ow">or</span>
-             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_DONE</span> <span class="ow">and</span> <span class="n">upstream_done</span><span class="p">)</span>
-        <span class="p">)</span></div>
+            <span class="c1"># LEGACY: most likely running from unit tests</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">dr</span><span class="p">:</span>
+                <span class="c1"># Means that this TI is NOT being run from a DR, but from a catchup</span>
+                <span class="n">previous_scheduled_date</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">previous_scheduled_date</span><span class="p">:</span>
+                    <span class="k">return</span> <span class="kc">None</span>
+
+                <span class="k">return</span> <span class="n">TaskInstance</span><span class="p">(</span><span class="n">task</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="p">,</span>
+                                    <span class="n">execution_date</span><span class="o">=</span><span class="n">previous_scheduled_date</span><span class="p">)</span>
+
+            <span class="n">dr</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">dag</span>
+            <span class="k">if</span> <span class="n">dag</span><span class="o">.</span><span class="n">catchup</span><span class="p">:</span>
+                <span class="n">last_dagrun</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">get_previous_scheduled_dagrun</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">last_dagrun</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">get_previous_dagrun</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">last_dagrun</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">last_dagrun</span><span class="o">.</span><span class="n">get_task_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="kc">None</span>
 
     <span class="nd">@provide_session</span>
 <div class="viewcode-block" id="TaskInstance.are_dependencies_met"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.are_dependencies_met">[docs]</a>    <span class="k">def</span> <span class="nf">are_dependencies_met</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">verbose</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="n">dep_context</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boolean on whether the upstream tasks are in a SUCCESS state</span>
-<span class="sd">        and considers depends_on_past and the previous run&#39;s state.</span>
-
-<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
-<span class="sd">            the upstream_failed state creation while checking to see</span>
-<span class="sd">            whether the task instance is runnable. It was the shortest</span>
-<span class="sd">            path to add the feature</span>
-<span class="sd">        :type flag_upstream_failed: boolean</span>
-<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
-<span class="sd">            dependencies. Defaults to False.</span>
-<span class="sd">        :type ignore_depends_on_past: boolean</span>
-<span class="sd">        :param verbose: verbose provides more logging in the case where the</span>
-<span class="sd">            task instance is evaluated as a check right before being executed.</span>
-<span class="sd">            In the case of the scheduler evaluating the dependencies, this</span>
-<span class="sd">            logging would be way too verbose.</span>
+<span class="sd">        Returns whether or not all the conditions are met for this task instance to be run</span>
+<span class="sd">        given the context for the dependencies (e.g. a task instance being force run from</span>
+<span class="sd">        the UI will ignore some dependencies).</span>
+
+<span class="sd">        :param dep_context: The execution context that determines the dependencies that</span>
+<span class="sd">            should be evaluated.</span>
+<span class="sd">        :type dep_context: DepContext</span>
+<span class="sd">        :param session: database session</span>
+<span class="sd">        :type session: Session</span>
+<span class="sd">        :param verbose: whether or not to print details on failed dependencies</span>
 <span class="sd">        :type verbose: boolean</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
-        <span class="n">TR</span> <span class="o">=</span> <span class="n">TriggerRule</span>
-
-        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">dep_context</span> <span class="o">=</span> <span class="n">dep_context</span> <span class="ow">or</span> <span class="n">DepContext</span><span class="p">()</span>
+        <span class="n">failed</span> <span class="o">=</span> <span class="kc">False</span>
+        <span class="k">for</span> <span class="n">dep_status</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_failed_dep_statuses</span><span class="p">(</span>
+                <span class="n">dep_context</span><span class="o">=</span><span class="n">dep_context</span><span class="p">,</span>
+                <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">):</span>
+            <span class="n">failed</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Dependencies not met for </span><span class="si">{}</span><span class="s2">, dependency &#39;</span><span class="si">{}</span><span class="s2">&#39; FAILED: </span><span class="si">{}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dep_status</span><span class="o">.</span><span class="n">dep_name</span><span class="p">,</span> <span class="n">dep_status</span><span class="o">.</span><span class="n">reason</span><span class="p">))</span>
 
-        <span class="c1"># Checking that the depends_on_past is fulfilled</span>
-        <span class="k">if</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">ignore_depends_on_past</span> <span class="ow">and</span>
-                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">):</span>
-            <span class="n">previous_ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">({</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">}),</span>
-            <span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">previous_ti</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
-                    <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;depends_on_past not satisfied&quot;</span><span class="p">)</span>
-                <span class="k">return</span> <span class="bp">False</span>
-
-            <span class="c1"># Applying wait_for_downstream</span>
-            <span class="n">previous_ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
-            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">wait_for_downstream</span> <span class="ow">and</span> <span class="ow">not</span> \
-                    <span class="n">previous_ti</span><span class="o">.</span><span class="n">are_dependents_done</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">):</span>
-                <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
-                    <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;wait_for_downstream not satisfied&quot;</span><span class="p">)</span>
-                <span class="k">return</span> <span class="bp">False</span>
-
-        <span class="c1"># Checking that all upstream dependencies have succeeded</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">upstream_list</span> <span class="ow">or</span> <span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">DUMMY</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">True</span>
-
-        <span class="c1"># todo: this query becomes quite expensive with dags that have</span>
-        <span class="c1"># many tasks. It should be refactored to let the task report</span>
-        <span class="c1"># to the dag run and get the aggregates from there</span>
-        <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="n">session</span>
-            <span class="o">.</span><span class="n">query</span><span class="p">(</span>
-                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
-                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
-                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
-                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
-                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
-                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
-                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
-                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
-                <span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
-            <span class="p">)</span>
-            <span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">upstream_task_ids</span><span class="p">),</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
-                <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">([</span>
-                    <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span>
-                    <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">]),</span>
-            <span class="p">)</span>
-        <span class="p">)</span>
+        <span class="k">if</span> <span class="n">failed</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">False</span>
 
-        <span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="p">,</span> <span class="n">failed</span><span class="p">,</span> <span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Dependencies all met for </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
 
-        <span class="n">satisfied</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">evaluate_trigger_rule</span><span class="p">(</span>
-            <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">successes</span><span class="o">=</span><span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="o">=</span><span class="n">skipped</span><span class="p">,</span>
-            <span class="n">failed</span><span class="o">=</span><span class="n">failed</span><span class="p">,</span> <span class="n">upstream_failed</span><span class="o">=</span><span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span><span class="o">=</span><span class="n">done</span><span class="p">,</span>
-            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)</span>
+        <span class="k">return</span> <span class="kc">True</span></div>
 
-        <span class="k">if</span> <span class="n">verbose</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">satisfied</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Trigger rule `{}` not satisfied&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span><span class="p">))</span>
-        <span class="k">return</span> <span class="n">satisfied</span></div>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_failed_dep_statuses</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">dep_context</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">dep_context</span> <span class="o">=</span> <span class="n">dep_context</span> <span class="ow">or</span> <span class="n">DepContext</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">dep</span> <span class="ow">in</span> <span class="n">dep_context</span><span class="o">.</span><span class="n">deps</span> <span class="o">|</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">deps</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">dep_status</span> <span class="ow">in</span> <span class="n">dep</span><span class="o">.</span><span class="n">get_dep_statuses</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="p">,</span>
+                    <span class="n">session</span><span class="p">,</span>
+                    <span class="n">dep_context</span><span class="p">):</span>
+
+                <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> dependency &#39;</span><span class="si">{}</span><span class="s2">&#39; PASSED: </span><span class="si">{}</span><span class="s2">, </span><span class="si">{}</span><span class="s2">&quot;</span>
+                              <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                                      <span class="n">dep_status</span><span class="o">.</span><span class="n">dep_name</span><span class="p">,</span>
+                                      <span class="n">dep_status</span><span class="o">.</span><span class="n">passed</span><span class="p">,</span>
+                                      <span class="n">dep_status</span><span class="o">.</span><span class="n">reason</span><span class="p">))</span>
+
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">dep_status</span><span class="o">.</span><span class="n">passed</span><span class="p">:</span>
+                    <span class="k">yield</span> <span class="n">dep_status</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">(</span>
-            <span class="s2">&quot;&lt;TaskInstance: {ti.dag_id}.{ti.task_id} &quot;</span>
-            <span class="s2">&quot;{ti.execution_date} [{ti.state}]&gt;&quot;</span>
+            <span class="s2">&quot;&lt;TaskInstance: </span><span class="si">{ti.dag_id}</span><span class="s2">.</span><span class="si">{ti.task_id}</span><span class="s2"> &quot;</span>
+            <span class="s2">&quot;</span><span class="si">{ti.execution_date}</span><span class="s2"> [</span><span class="si">{ti.state}</span><span class="s2">]&gt;&quot;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 
 <div class="viewcode-block" id="TaskInstance.next_retry_datetime"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.next_retry_datetime">[docs]</a>    <span class="k">def</span> <span class="nf">next_retry_datetime</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -1358,7 +1335,8 @@
 <span class="sd">        Checks on whether the task instance is in the right state and timeframe</span>
 <span class="sd">        to be retried.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_retry_datetime</span><span class="p">()</span> <span class="o">&lt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><s [...]
+        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">next_retry_datetime</span><span class="p">()</span> <span class="o">&lt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">())</span></div>
 
     <span class="nd">@provide_session</span>
 <div class="viewcode-block" id="TaskInstance.pool_full"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.pool_full">[docs]</a>    <span class="k">def</span> <span class="nf">pool_full</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
@@ -1367,7 +1345,7 @@
 <span class="sd">        task to run</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">pool</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
+            <span class="k">return</span> <span class="kc">False</span>
 
         <span class="n">pool</span> <span class="o">=</span> <span class="p">(</span>
             <span class="n">session</span>
@@ -1376,35 +1354,51 @@
             <span class="o">.</span><span class="n">first</span><span class="p">()</span>
         <span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">pool</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
+            <span class="k">return</span> <span class="kc">False</span>
         <span class="n">open_slots</span> <span class="o">=</span> <span class="n">pool</span><span class="o">.</span><span class="n">open_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="n">open_slots</span> <span class="o">&lt;=</span> <span class="mi">0</span></div>
 
     <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.get_dagrun"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.get_dagrun">[docs]</a>    <span class="k">def</span> <span class="nf">get_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the DagRun for this TaskInstance</span>
+<span class="sd">        :param session:</span>
+<span class="sd">        :return: DagRun</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dr</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">dr</span></div>
+
+    <span class="nd">@provide_session</span>
 <div class="viewcode-block" id="TaskInstance.run"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">verbose</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">test_mode</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Runs the task instance.</span>
 
 <span class="sd">        :param verbose: whether to turn on more verbose loggin</span>
 <span class="sd">        :type verbose: boolean</span>
-<span class="sd">        :param ignore_dependencies: Doesn&#39;t check for deps, just runs</span>
-<span class="sd">        :type ignore_dependencies: boolean</span>
-<span class="sd">        :param ignore_depends_on_past: Ignore depends_on_past but respect</span>
-<span class="sd">            other dependencies</span>
+<span class="sd">        :param ignore_all_deps: Ignore all of the non-critical dependencies, just runs</span>
+<span class="sd">        :type ignore_all_deps: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: Ignore depends_on_past DAG attribute</span>
 <span class="sd">        :type ignore_depends_on_past: boolean</span>
-<span class="sd">        :param force: Forces a run regarless of previous success</span>
-<span class="sd">        :type force: boolean</span>
+<span class="sd">        :param ignore_task_deps: Don&#39;t check the dependencies of this TI&#39;s task</span>
+<span class="sd">        :type ignore_task_deps: boolean</span>
+<span class="sd">        :param ignore_ti_state: Disregards previous task instance state</span>
+<span class="sd">        :type ignore_ti_state: boolean</span>
 <span class="sd">        :param mark_success: Don&#39;t run the task, mark its state as success</span>
 <span class="sd">        :type mark_success: boolean</span>
 <span class="sd">        :param test_mode: Doesn&#39;t record success or failure in the DB</span>
@@ -1415,147 +1409,175 @@
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">pool</span> <span class="ow">or</span> <span class="n">task</span><span class="o">.</span><span class="n">pool</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="n">test_mode</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">force</span> <span class="o">=</span> <span class="n">force</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="n">job_id</span>
-        <span class="n">iso</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">socket</span><span class="o">.</span><span class="n">getfqdn</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">operator</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span>
 
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Another instance is running, skipping.&quot;</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Task {} was removed from the dag&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
-        <span class="k">elif</span> <span class="ow">not</span> <span class="n">force</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s2">&quot;Task {self} previously succeeded&quot;</span>
-                <span class="s2">&quot; on {self.end_date}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
-            <span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">ignore_all_deps</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">ignore_ti_state</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">:</span>
             <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;previously_succeeded&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="p">(</span>
-                <span class="ow">not</span> <span class="n">ignore_dependencies</span> <span class="ow">and</span>
-                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
-                    <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span>
-                    <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
-                    <span class="n">verbose</span><span class="o">=</span><span class="bp">True</span><span class="p">)):</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Dependencies not met yet&quot;</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="p">(</span>
-            <span class="c1"># todo: move this to the scheduler</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span>
-                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()):</span>
-            <span class="n">next_run</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_retry_datetime</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s2">&quot;Not ready for retry yet. &quot;</span> <span class="o">+</span>
-                <span class="s2">&quot;Next run after {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">next_run</span><span class="p">)</span>
-            <span class="p">)</span>
-        <span class="k">elif</span> <span class="n">force</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span><span class="n">runnable</span><span class="p">():</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
-            <span class="n">HR</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span> <span class="o">*</span> <span class="mi">80</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>  <span class="c1"># Line break</span>
-
-            <span class="c1"># For reporting purposes, we report based on 1-indexed,</span>
-            <span class="c1"># not 0-indexed lists (i.e. Attempt 1 instead of</span>
-            <span class="c1"># Attempt 0 for the first attempt).</span>
-            <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Starting attempt {attempt} of {total}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
-                <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">mark_success</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span> <span class="ow">and</span> <span class="p">(</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">concurrency_reached</span><span class="p">):</span>
-                <span class="c1"># If a pool is set for this task, marking the task instance</span>
-                <span class="c1"># as QUEUED</span>
+
+        <span class="n">queue_dep_context</span> <span class="o">=</span> <span class="n">DepContext</span><span class="p">(</span>
+            <span class="n">deps</span><span class="o">=</span><span class="n">QUEUE_DEPS</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="n">ignore_all_deps</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="n">ignore_ti_state</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="n">ignore_task_deps</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
+                <span class="n">dep_context</span><span class="o">=</span><span class="n">queue_dep_context</span><span class="p">,</span>
+                <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span>
+                <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="k">return</span>
+
+        <span class="n">hr</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span> <span class="o">*</span> <span class="mi">80</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>  <span class="c1"># Line break</span>
+
+        <span class="c1"># For reporting purposes, we report based on 1-indexed,</span>
+        <span class="c1"># not 0-indexed lists (i.e. Attempt 1 instead of</span>
+        <span class="c1"># Attempt 0 for the first attempt).</span>
+        <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Starting attempt </span><span class="si">{attempt}</span><span class="s2"> of </span><span class="si">{total}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
+            <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+
+        <span class="n">dep_context</span> <span class="o">=</span> <span class="n">DepContext</span><span class="p">(</span>
+            <span class="n">deps</span><span class="o">=</span><span class="n">RUN_DEPS</span> <span class="o">-</span> <span class="n">QUEUE_DEPS</span><span class="p">,</span>
+            <span class="n">ignore_all_deps</span><span class="o">=</span><span class="n">ignore_all_deps</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="n">ignore_task_deps</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="n">ignore_ti_state</span><span class="p">)</span>
+        <span class="n">runnable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
+            <span class="n">dep_context</span><span class="o">=</span><span class="n">dep_context</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span>
+            <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">runnable</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">mark_success</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span><span class="p">:</span>
+                <span class="c1"># If a task&#39;s dependencies are met but it can&#39;t be run yet then queue it</span>
+                <span class="c1"># instead</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span>
-                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing attempt {attempt} of {total}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing attempt </span><span class="si">{attempt}</span><span class="s2"> of </span><span class="si">{total}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
                     <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">HR</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">HR</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">hr</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">hr</span><span class="p">)</span>
 
                 <span class="bp">self</span><span class="o">.</span><span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Queuing into pool {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">))</span>
-                <span class="k">return</span>
-
-            <span class="c1"># print status message</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">HR</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">HR</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">+=</span> <span class="mi">1</span>
-
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="bp">None</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing into pool </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
                 <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="k">return</span>
 
-            <span class="c1"># Closing all pooled connections to prevent</span>
-            <span class="c1"># &quot;max number of connections reached&quot;</span>
-            <span class="n">settings</span><span class="o">.</span><span class="n">engine</span><span class="o">.</span><span class="n">dispose</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">mark_success</span><span class="p">:</span>
-                    <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Marking success for &quot;</span>
-                <span class="k">else</span><span class="p">:</span>
-                    <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Executing &quot;</span>
-                <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;{self.task} on {self.execution_date}&quot;</span>
-
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{}</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">))</span>
-                <span class="k">if</span> <span class="ow">not</span> <span class="n">mark_success</span><span class="p">:</span>
-                    <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_template_context</span><span class="p">()</span>
+        <span class="c1"># Another worker might have started running this task instance while</span>
+        <span class="c1"># the current worker process was blocked on refresh_from_db</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Task Instance already running </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="k">return</span>
 
-                    <span class="n">task_copy</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task_copy</span>
+        <span class="c1"># print status message</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">hr</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">hr</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">+=</span> <span class="mi">1</span>
 
-                    <span class="k">def</span> <span class="nf">signal_handler</span><span class="p">(</span><span class="n">signum</span><span class="p">,</span> <span class="n">frame</span><span class="p">):</span>
-                        <span class="sd">&#39;&#39;&#39;Setting kill signal handler&#39;&#39;&#39;</span>
-                        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Killing subprocess&quot;</span><span class="p">)</span>
-                        <span class="n">task_copy</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
-                        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task received SIGTERM signal&quot;</span><span class="p">)</span>
-                    <span class="n">signal</span><span class="o">.</span><span class="n">signal</span><span class="p">(</span><span class="n">signal</span><span class="o">.</span><span class="n">SIGTERM</span><span class="p">,</span> <span class="n">signal_handler</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
-                    <span class="bp">self</span><span class="o">.</span><span class="n">render_templates</span><span class="p">()</span>
-                    <span class="n">task_copy</span><span class="o">.</span><span class="n">pre_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+        <span class="c1"># Closing all pooled connections to prevent</span>
+        <span class="c1"># &quot;max number of connections reached&quot;</span>
+        <span class="n">settings</span><span class="o">.</span><span class="n">engine</span><span class="o">.</span><span class="n">dispose</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">mark_success</span><span class="p">:</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Marking success for &quot;</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Executing &quot;</span>
+            <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="si">{self.task}</span><span class="s2"> on </span><span class="si">{self.execution_date}</span><span class="s2">&quot;</span>
 
-                    <span class="c1"># If a timout is specified for the task, make it fail</span>
-                    <span class="c1"># if it goes beyond</span>
-                    <span class="n">result</span> <span class="o">=</span> <span class="bp">None</span>
-                    <span class="k">if</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execution_timeout</span><span class="p">:</span>
+        <span class="n">context</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">))</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">mark_success</span><span class="p">:</span>
+                <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_template_context</span><span class="p">()</span>
+
+                <span class="n">task_copy</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task_copy</span>
+
+                <span class="k">def</span> <span class="nf">signal_handler</span><span class="p">(</span><span class="n">signum</span><span class="p">,</span> <span class="n">frame</span><span class="p">):</span>
+                    <span class="sd">&#39;&#39;&#39;Setting kill signal handler&#39;&#39;&#39;</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Killing subprocess&quot;</span><span class="p">)</span>
+                    <span class="n">task_copy</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task received SIGTERM signal&quot;</span><span class="p">)</span>
+                <span class="n">signal</span><span class="o">.</span><span class="n">signal</span><span class="p">(</span><span class="n">signal</span><span class="o">.</span><span class="n">SIGTERM</span><span class="p">,</span> <span class="n">signal_handler</span><span class="p">)</span>
+
+                <span class="c1"># Don&#39;t clear Xcom until the task is certain to execute</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">render_templates</span><span class="p">()</span>
+                <span class="n">task_copy</span><span class="o">.</span><span class="n">pre_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+
+                <span class="c1"># If a timeout is specified for the task, make it fail</span>
+                <span class="c1"># if it goes beyond</span>
+                <span class="n">result</span> <span class="o">=</span> <span class="kc">None</span>
+                <span class="k">if</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execution_timeout</span><span class="p">:</span>
+                    <span class="k">try</span><span class="p">:</span>
                         <span class="k">with</span> <span class="n">timeout</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span>
                                 <span class="n">task_copy</span><span class="o">.</span><span class="n">execution_timeout</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">())):</span>
                             <span class="n">result</span> <span class="o">=</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+                    <span class="k">except</span> <span class="n">AirflowTaskTimeout</span><span class="p">:</span>
+                        <span class="n">task_copy</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
+                        <span class="k">raise</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">result</span> <span class="o">=</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
 
-                    <span class="k">else</span><span class="p">:</span>
-                        <span class="n">result</span> <span class="o">=</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
-
-                    <span class="c1"># If the task returns a result, push an XCom containing it</span>
-                    <span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
+                <span class="c1"># If the task returns a result, push an XCom containing it</span>
+                <span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
 
-                    <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
-            <span class="k">except</span> <span class="n">AirflowSkipException</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span>
-            <span class="k">except</span> <span class="p">(</span><span class="ne">Exception</span><span class="p">,</span> <span class="ne">KeyboardInterrupt</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">test_mode</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-                <span class="k">raise</span>
-
-            <span class="c1"># Recording SUCCESS</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">set_duration</span><span class="p">()</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">state</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
-            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+                <span class="c1"># TODO remove deprecated behavior in Airflow 2.0</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">,</span> <span class="n">result</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
+                <span class="k">except</span> <span class="ne">TypeError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="s1">&#39;unexpected keyword argument&#39;</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">):</span>
+                        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                            <span class="s1">&#39;BaseOperator.post_execute() now takes two &#39;</span>
+                            <span class="s1">&#39;arguments, `context` and `result`, but &quot;</span><span class="si">{}</span><span class="s1">&quot; only &#39;</span>
+                            <span class="s1">&#39;expected one. This behavior is deprecated and &#39;</span>
+                            <span class="s1">&#39;will be removed in a future version of &#39;</span>
+                            <span class="s1">&#39;Airflow.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
+                            <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
+                        <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="k">raise</span>
+
+                <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;operator_successes_</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">),</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
+        <span class="k">except</span> <span class="n">AirflowSkipException</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span>
+        <span class="k">except</span> <span class="p">(</span><span class="ne">Exception</span><span class="p">,</span> <span class="ne">KeyboardInterrupt</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">test_mode</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+            <span class="k">raise</span>
+
+        <span class="c1"># Recording SUCCESS</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">set_duration</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">state</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
-            <span class="c1"># Success callback</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">:</span>
-                    <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e3</span><span class="p">:</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed when executing success callback&quot;</span><span class="p">)</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e3</span><span class="p">)</span>
+        <span class="c1"># Success callback</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">:</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e3</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed when executing success callback&quot;</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e3</span><span class="p">)</span>
 
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
 
@@ -1567,12 +1589,13 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">render_templates</span><span class="p">()</span>
         <span class="n">task_copy</span><span class="o">.</span><span class="n">dry_run</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">handle_failure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">error</span><span class="p">,</span> <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">handle_failure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">error</span><span class="p">,</span> <span class="n">test_mode</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">error</span><span class="p">)</span>
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">set_duration</span><span class="p">()</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;operator_failures_</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">),</span> <span class="mi">1</span><span class=" [...]
         <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
             <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
 
@@ -1585,7 +1608,7 @@
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking task as UP_FOR_RETRY&#39;</span><span class="p">)</span>
                 <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">email_on_retry</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
                 <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span><span class="p">:</span>
@@ -1593,7 +1616,7 @@
                 <span class="k">else</span><span class="p">:</span>
                     <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking task as FAILED.&#39;</span><span class="p">)</span>
                 <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">email_on_failure</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
         <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e2</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
                 <span class="s1">&#39;Failed to send email to: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">))</span>
@@ -1615,10 +1638,10 @@
         <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">error</span><span class="p">))</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">get_template_context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_template_context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
-        <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">macros</span>
-        <span class="n">tables</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">macros</span>
+        <span class="n">tables</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">if</span> <span class="s1">&#39;tables&#39;</span> <span class="ow">in</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
             <span class="n">tables</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;tables&#39;</span><span class="p">]</span>
 
@@ -1627,17 +1650,20 @@
         <span class="n">yesterday_ds</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span>
         <span class="n">tomorrow_ds</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span>
 
+        <span class="n">prev_execution_date</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+        <span class="n">next_execution_date</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">following_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+
         <span class="n">ds_nodash</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
         <span class="n">ts_nodash</span> <span class="o">=</span> <span class="n">ts</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
         <span class="n">yesterday_ds_nodash</span> <span class="o">=</span> <span class="n">yesterday_ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
         <span class="n">tomorrow_ds_nodash</span> <span class="o">=</span> <span class="n">tomorrow_ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
 
-        <span class="n">ti_key_str</span> <span class="o">=</span> <span class="s2">&quot;{task.dag_id}__{task.task_id}__{ds_nodash}&quot;</span>
+        <span class="n">ti_key_str</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{task.dag_id}</span><span class="s2">__</span><span class="si">{task.task_id}</span><span class="s2">__</span><span class="si">{ds_nodash}</span><span class="s2">&quot;</span>
         <span class="n">ti_key_str</span> <span class="o">=</span> <span class="n">ti_key_str</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
 
         <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="n">run_id</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-        <span class="n">dag_run</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="n">dag_run</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="s1">&#39;dag&#39;</span><span class="p">):</span>
             <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
                 <span class="n">params</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">params</span><span class="p">)</span>
@@ -1648,7 +1674,7 @@
                     <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
                 <span class="o">.</span><span class="n">first</span><span class="p">()</span>
             <span class="p">)</span>
-            <span class="n">run_id</span> <span class="o">=</span> <span class="n">dag_run</span><span class="o">.</span><span class="n">run_id</span> <span class="k">if</span> <span class="n">dag_run</span> <span class="k">else</span> <span class="bp">None</span>
+            <span class="n">run_id</span> <span class="o">=</span> <span class="n">dag_run</span><span class="o">.</span><span class="n">run_id</span> <span class="k">if</span> <span class="n">dag_run</span> <span class="k">else</span> <span class="kc">None</span>
             <span class="n">session</span><span class="o">.</span><span class="n">expunge_all</span><span class="p">()</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
@@ -1661,7 +1687,7 @@
 <span class="sd">            {var.variable_name}.</span>
 <span class="sd">            &quot;&quot;&quot;</span>
             <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="bp">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="kc">None</span>
 
             <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
@@ -1672,10 +1698,10 @@
 
         <span class="k">class</span> <span class="nc">VariableJsonAccessor</span><span class="p">:</span>
             <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="bp">None</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="kc">None</span>
 
             <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span>  <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">var</span>
 
             <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -1696,6 +1722,8 @@
             <span class="s1">&#39;dag_run&#39;</span><span class="p">:</span> <span class="n">dag_run</span><span class="p">,</span>
             <span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">,</span>
             <span class="s1">&#39;execution_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="s1">&#39;prev_execution_date&#39;</span><span class="p">:</span> <span class="n">prev_execution_date</span><span class="p">,</span>
+            <span class="s1">&#39;next_execution_date&#39;</span><span class="p">:</span> <span class="n">next_execution_date</span><span class="p">,</span>
             <span class="s1">&#39;latest_date&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
             <span class="s1">&#39;macros&#39;</span><span class="p">:</span> <span class="n">macros</span><span class="p">,</span>
             <span class="s1">&#39;params&#39;</span><span class="p">:</span> <span class="n">params</span><span class="p">,</span>
@@ -1727,18 +1755,18 @@
                 <span class="n">rendered_content</span> <span class="o">=</span> <span class="n">rt</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">jinja_context</span><span class="p">)</span>
                 <span class="nb">setattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">rendered_content</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">email_alert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">email_alert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
-        <span class="n">title</span> <span class="o">=</span> <span class="s2">&quot;Airflow alert: {self}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+        <span class="n">title</span> <span class="o">=</span> <span class="s2">&quot;Airflow alert: </span><span class="si">{self}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
         <span class="n">exception</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">exception</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;&lt;br&gt;&#39;</span><span class="p">)</span>
         <span class="n">try_</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span>
         <span class="n">body</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="s2">&quot;Try {self.try_number} out of {try_}&lt;br&gt;&quot;</span>
-            <span class="s2">&quot;Exception:&lt;br&gt;{exception}&lt;br&gt;&quot;</span>
-            <span class="s2">&quot;Log: &lt;a href=&#39;{self.log_url}&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
-            <span class="s2">&quot;Host: {self.hostname}&lt;br&gt;&quot;</span>
-            <span class="s2">&quot;Log file: {self.log_filepath}&lt;br&gt;&quot;</span>
-            <span class="s2">&quot;Mark success: &lt;a href=&#39;{self.mark_success_url}&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Try </span><span class="si">{self.try_number}</span><span class="s2"> out of </span><span class="si">{try_}</span><span class="s2">&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Exception:&lt;br&gt;</span><span class="si">{exception}</span><span class="s2">&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Log: &lt;a href=&#39;</span><span class="si">{self.log_url}</span><span class="s2">&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Host: </span><span class="si">{self.hostname}</span><span class="s2">&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Log file: </span><span class="si">{self.log_filepath}</span><span class="s2">&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Mark success: &lt;a href=&#39;</span><span class="si">{self.mark_success_url}</span><span class="s2">&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
         <span class="n">send_email</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">body</span><span class="p">)</span>
 
@@ -1746,13 +1774,13 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="kc">None</span>
 
 <div class="viewcode-block" id="TaskInstance.xcom_push"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.xcom_push">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_push</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">key</span><span class="p">,</span>
             <span class="n">value</span><span class="p">,</span>
-            <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Make an XCom available for tasks to pull.</span>
 
@@ -1770,7 +1798,7 @@
         <span class="k">if</span> <span class="n">execution_date</span> <span class="ow">and</span> <span class="n">execution_date</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
                 <span class="s1">&#39;execution_date can not be in the past (current &#39;</span>
-                <span class="s1">&#39;execution_date is {}; received {})&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="s1">&#39;execution_date is </span><span class="si">{}</span><span class="s1">; received </span><span class="si">{}</span><span class="s1">)&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">))</span>
 
         <span class="n">XCom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
@@ -1783,9 +1811,9 @@
 <div class="viewcode-block" id="TaskInstance.xcom_pull"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.xcom_pull">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_pull</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">task_ids</span><span class="p">,</span>
-            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span>
-            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Pull XComs that optionally meet certain criteria.</span>
 
@@ -1816,7 +1844,7 @@
 <span class="sd">        :type include_prior_dates: bool</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
-        <span class="k">if</span> <span class="n">dag_id</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">dag_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">dag_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span>
 
         <span class="n">pull_fn</span> <span class="o">=</span> <span class="n">functools</span><span class="o">.</span><span class="n">partial</span><span class="p">(</span>
@@ -1839,9 +1867,9 @@
 
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;task_fail&quot;</span>
 
-    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">duration</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Float</span><span class="p">)</span>
@@ -1862,7 +1890,7 @@
 
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;log&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
     <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
@@ -1871,12 +1899,12 @@
     <span class="n">owner</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
     <span class="n">extra</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">task_instance</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">**</span><sp [...]
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">task_instance</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><sp [...]
         <span class="bp">self</span><span class="o">.</span><span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">event</span> <span class="o">=</span> <span class="n">event</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">extra</span>
 
-        <span class="n">task_owner</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="n">task_owner</span> <span class="o">=</span> <span class="kc">None</span>
 
         <span class="k">if</span> <span class="n">task_instance</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">task_instance</span><span class="o">.</span><span class="n">dag_id</span>
@@ -1895,7 +1923,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">owner</span> <span class="o">=</span> <span class="n">owner</span> <span class="ow">or</span> <span class="n">task_owner</span>
 
 
-<span class="nd">@functools.total_ordering</span>
+<span class="nd">@functools</span><span class="o">.</span><span class="n">total_ordering</span>
 <div class="viewcode-block" id="BaseOperator"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator">[docs]</a><span class="k">class</span> <span class="nc">BaseOperator</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Abstract base class for all operators. Since operators create objects that</span>
@@ -1903,7 +1931,7 @@
 <span class="sd">    dag crawling behavior. To derive this class, you are expected to override</span>
 <span class="sd">    the constructor as well as the &#39;execute&#39; method.</span>
 
-<span class="sd">    Operators derived from this task should perform or trigger certain tasks</span>
+<span class="sd">    Operators derived from this class should perform or trigger certain tasks</span>
 <span class="sd">    synchronously (wait for completion). Example of operators could be an</span>
 <span class="sd">    operator the runs a Pig job (PigOperator), a sensor operator that</span>
 <span class="sd">    waits for a partition to land in Hive (HiveSensorOperator), or one that</span>
@@ -1984,7 +2012,7 @@
 <span class="sd">        this represents the ``timedelta`` after the period is closed. For</span>
 <span class="sd">        example if you set an SLA of 1 hour, the scheduler would send dan email</span>
 <span class="sd">        soon after 1:00AM on the ``2016-01-02`` if the ``2016-01-01`` instance</span>
-<span class="sd">        has not succeede yet.</span>
+<span class="sd">        has not succeeded yet.</span>
 <span class="sd">        The scheduler pays special attention for jobs with an SLA and</span>
 <span class="sd">        sends alert</span>
 <span class="sd">        emails for sla misses. SLA misses are also recorded in the database</span>
@@ -2017,6 +2045,8 @@
 <span class="sd">    :param resources: A map of resource parameter names (the argument names of the</span>
 <span class="sd">        Resources constructor) to their values.</span>
 <span class="sd">    :type resources: dict</span>
+<span class="sd">    :param run_as_user: unix username to impersonate while running the task</span>
+<span class="sd">    :type run_as_user: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="c1"># For derived classes to define which fields will get jinjaified</span>
@@ -2032,42 +2062,43 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">task_id</span><span class="p">,</span>
             <span class="n">owner</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;operators&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_OWNER&#39;</span><span class="p">),</span>
-            <span class="n">email</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">email_on_retry</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-            <span class="n">email_on_failure</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">email</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">email_on_retry</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">email_on_failure</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
             <span class="n">retries</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
             <span class="n">retry_delay</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="mi">300</span><span class="p">),</span>
-            <span class="n">retry_exponential_backoff</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">max_retry_delay</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">schedule_interval</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>  <span class="c1"># not hooked as of now</span>
-            <span class="n">depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">wait_for_downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">dag</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">default_args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">adhoc</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">retry_exponential_backoff</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">max_retry_delay</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">schedule_interval</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>  <span class="c1"># not hooked as of now</span>
+            <span class="n">depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">wait_for_downstream</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">dag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">default_args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">adhoc</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="n">priority_weight</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
             <span class="n">queue</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;default_queue&#39;</span><span class="p">),</span>
-            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">sla</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">execution_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">on_failure_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">on_success_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">on_retry_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">sla</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">execution_timeout</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">on_failure_callback</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">on_success_callback</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">on_retry_callback</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">trigger_rule</span><span class="o">=</span><span class="n">TriggerRule</span><span class="o">.</span><span class="n">ALL_SUCCESS</span><span class="p">,</span>
-            <span class="n">resources</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">resources</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">run_as_user</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
         <span class="k">if</span> <span class="n">args</span> <span class="ow">or</span> <span class="n">kwargs</span><span class="p">:</span>
             <span class="c1"># TODO remove *args and **kwargs in Airflow 2.0</span>
             <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
-                <span class="s1">&#39;Invalid arguments were passed to {c}. Support for &#39;</span>
+                <span class="s1">&#39;Invalid arguments were passed to </span><span class="si">{c}</span><span class="s1">. Support for &#39;</span>
                 <span class="s1">&#39;passing such arguments will be dropped in Airflow 2.0. &#39;</span>
                 <span class="s1">&#39;Invalid arguments were:&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">*args: {a}</span><span class="se">\n</span><span class="s1">**kwargs: {k}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">*args: </span><span class="si">{a}</span><span class="se">\n</span><span class="s1">**kwargs: </span><span class="si">{k}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">c</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">args</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="n">kwargs</span><span class="p">),</span>
                 <span class="n">category</span><span class="o">=</span><span class="ne">PendingDeprecationWarning</span>
             <span class="p">)</span>
@@ -2081,24 +2112,24 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
         <span class="k">if</span> <span class="n">start_date</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">datetime</span><span class="p">):</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
-                <span class="s2">&quot;start_date for {} isn&#39;t datetime.datetime&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="s2">&quot;start_date for </span><span class="si">{}</span><span class="s2"> isn&#39;t datetime.datetime&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">TriggerRule</span><span class="o">.</span><span class="n">is_valid</span><span class="p">(</span><span class="n">trigger_rule</span><span class="p">):</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                <span class="s2">&quot;The trigger_rule must be one of {all_triggers},&quot;</span>
-                <span class="s2">&quot;&#39;{d}.{t}&#39;; received &#39;{tr}&#39;.&quot;</span>
+                <span class="s2">&quot;The trigger_rule must be one of </span><span class="si">{all_triggers}</span><span class="s2">,&quot;</span>
+                <span class="s2">&quot;&#39;</span><span class="si">{d}</span><span class="s2">.</span><span class="si">{t}</span><span class="s2">&#39;; received &#39;</span><span class="si">{tr}</span><span class="s2">&#39;.&quot;</span>
                 <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">all_triggers</span><span class="o">=</span><span class="n">TriggerRule</span><span class="o">.</span><span class="n">all_triggers</span><span class="p">,</span>
-                        <span class="n">d</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span> <span class="n">tr</span> <span class="o">=</span> <span class="n">trigger_rule</span><span class="p">))</span>
+                        <span class="n">d</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span> <span class="n">tr</span><span class="o">=</span><span class="n">trigger_rule</span><span class="p">))</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">trigger_rule</span> <span class="o">=</span> <span class="n">trigger_rule</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="o">=</span> <span class="n">depends_on_past</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">wait_for_downstream</span> <span class="o">=</span> <span class="n">wait_for_downstream</span>
         <span class="k">if</span> <span class="n">wait_for_downstream</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="o">=</span> <span class="kc">True</span>
 
         <span class="k">if</span> <span class="n">schedule_interval</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
-                <span class="s2">&quot;schedule_interval is used for {}, though it has &quot;</span>
+                <span class="s2">&quot;schedule_interval is used for </span><span class="si">{}</span><span class="s2">, though it has &quot;</span>
                 <span class="s2">&quot;been deprecated as a task parameter, you need to &quot;</span>
                 <span class="s2">&quot;specify it as a DAG parameter instead&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
@@ -2121,6 +2152,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">adhoc</span> <span class="o">=</span> <span class="n">adhoc</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span> <span class="o">=</span> <span class="n">priority_weight</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">resources</span> <span class="o">=</span> <span class="n">Resources</span><span class="p">(</span><span class="o">**</span><span class="p">(</span><span class="n">resources</span> <span class="ow">or</span> <span class="p">{}))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">run_as_user</span> <span class="o">=</span> <span class="n">run_as_user</span>
 
         <span class="c1"># Private attributes</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="o">=</span> <span class="p">[]</span>
@@ -2156,7 +2188,7 @@
     <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">(</span>
             <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">==</span> <span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> <span class="ow">and</span>
-            <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
+            <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
                 <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">__ne__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
@@ -2168,7 +2200,7 @@
     <span class="k">def</span> <span class="nf">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">hash_components</span> <span class="o">=</span> <span class="p">[</span><span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)]</span>
         <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">:</span>
-            <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+            <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="nb">hash</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
                 <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
@@ -2235,9 +2267,9 @@
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dag</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                <span class="s1">&#39;Operator {} has not been assigned to a DAG yet&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="s1">&#39;Operator </span><span class="si">{}</span><span class="s1"> has not been assigned to a DAG yet&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
 
-    <span class="nd">@dag.setter</span>
+    <span class="nd">@dag</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Operators can be assigned to one DAG, one time. Repeat assignments to</span>
@@ -2245,10 +2277,10 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
-                <span class="s1">&#39;Expected DAG; received {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+                <span class="s1">&#39;Expected DAG; received </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
         <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">dag</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                <span class="s2">&quot;The DAG assigned to {} can not be changed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="s2">&quot;The DAG assigned to </span><span class="si">{}</span><span class="s2"> can not be changed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
         <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
             <span class="n">dag</span><span class="o">.</span><span class="n">add_task</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
 
@@ -2258,7 +2290,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns True if the Operator has been assigned to a DAG.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;_dag&#39;</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;_dag&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span></div>
 
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -2268,6 +2300,19 @@
             <span class="k">return</span> <span class="s1">&#39;adhoc_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span>
 
     <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">deps</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the list of dependencies for the operator. These differ from execution</span>
+<span class="sd">        context dependencies in that they are specific to tasks and can be</span>
+<span class="sd">        extended/overriden by subclasses.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">{</span>
+            <span class="n">NotInRetryPeriodDep</span><span class="p">(),</span>
+            <span class="n">PrevDagrunDep</span><span class="p">(),</span>
+            <span class="n">TriggerRuleDep</span><span class="p">(),</span>
+        <span class="p">}</span>
+
+    <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">schedule_interval</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        The schedule interval of the DAG always wins over individual tasks so</span>
@@ -2283,13 +2328,12 @@
     <span class="k">def</span> <span class="nf">priority_weight_total</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">sum</span><span class="p">([</span>
             <span class="n">t</span><span class="o">.</span><span class="n">priority_weight</span>
-            <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
         <span class="p">])</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span>
 
 <div class="viewcode-block" id="BaseOperator.pre_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.pre_execute">[docs]</a>    <span class="k">def</span> <span class="nf">pre_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        This is triggered right before self.execute, it&#39;s mostly a hook</span>
-<span class="sd">        for people deriving operators.</span>
+<span class="sd">        This hook is triggered right before self.execute() is called.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
@@ -2302,20 +2346,21 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BaseOperator.post_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.post_execute">[docs]</a>    <span class="k">def</span> <span class="nf">post_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BaseOperator.post_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.post_execute">[docs]</a>    <span class="k">def</span> <span class="nf">post_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">result</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        This is triggered right after self.execute, it&#39;s mostly a hook</span>
-<span class="sd">        for people deriving operators.</span>
+<span class="sd">        This hook is triggered right after self.execute() is called.</span>
+<span class="sd">        It is passed the execution context and any results returned by the</span>
+<span class="sd">        operator.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
 <div class="viewcode-block" id="BaseOperator.on_kill"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Override this method to cleanup subprocesses when a task instance</span>
 <span class="sd">        gets killed. Any use of the threading, subprocess or multiprocessing</span>
 <span class="sd">        module within an operator needs to be cleaned up or it will leave</span>
 <span class="sd">        ghost processes behind.</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
     <span class="k">def</span> <span class="nf">__deepcopy__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
@@ -2337,12 +2382,12 @@
         <span class="k">return</span> <span class="n">result</span>
 
 <div class="viewcode-block" id="BaseOperator.render_template_from_field"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.render_template_from_field">[docs]</a>    <span class="k">def</span> <span class="nf">render_template_from_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class [...]
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Renders a template from a field. If the field is a string, it will</span>
 <span class="sd">        simply render the string and return the result. If it is a collection or</span>
 <span class="sd">        nested set of collections, it will traverse the structure and render</span>
 <span class="sd">        all strings in it.</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">rt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">render_template</span>
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
             <span class="n">result</span> <span class="o">=</span> <span class="n">jinja_env</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="n">content</span><span class="p">)</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="o">**</span><span class="n">context</span><span class="p">)</span>
@@ -2350,21 +2395,21 @@
             <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">rt</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">content</span><span class="p">]</span>
         <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
             <span class="n">result</span> <span class="o">=</span> <span class="p">{</span>
-                <span class="n">k</span><span class="p">:</span> <span class="n">rt</span><span class="p">(</span><span class="s2">&quot;{}[{}]&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">k</span><span class="p">),</span> <span class="n">v</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+                <span class="n">k</span><span class="p">:</span> <span class="n">rt</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">[</span><span class="si">{}</span><span class="s2">]&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">k</span><span class="p">),</span> <span class="n">v</span><span class="p">,</span> <span class= [...]
                 <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">content</span><span class="o">.</span><span class="n">items</span><span class="p">())}</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">param_type</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
             <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
-                <span class="s2">&quot;Type &#39;{param_type}&#39; used for parameter &#39;{attr}&#39; is &quot;</span>
+                <span class="s2">&quot;Type &#39;</span><span class="si">{param_type}</span><span class="s2">&#39; used for parameter &#39;</span><span class="si">{attr}</span><span class="s2">&#39; is &quot;</span>
                 <span class="s2">&quot;not supported for templating&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">result</span></div>
 
 <div class="viewcode-block" id="BaseOperator.render_template"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.render_template">[docs]</a>    <span class="k">def</span> <span class="nf">render_template</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Renders a template either from a file or directly in a field, and returns</span>
 <span class="sd">        the rendered result.</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">jinja_env</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_template_env</span><span class="p">()</span> \
             <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;dag&#39;</span><span class="p">)</span> \
             <span class="k">else</span> <span class="n">jinja2</span><span class="o">.</span><span class="n">Environment</span><span class="p">(</span><span class="n">cache_size</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
@@ -2378,20 +2423,21 @@
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">render_template_from_field</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">jinja_env</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BaseOperator.prepare_template"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.prepare_template">[docs]</a>    <span class="k">def</span> <span class="nf">prepare_template</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Hook that is triggered after the templated fields get replaced</span>
 <span class="sd">        by their content. If you need your operator to alter the</span>
 <span class="sd">        content of the file before the template is rendered,</span>
 <span class="sd">        it should override this method to do so.</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
     <span class="k">def</span> <span class="nf">resolve_template_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="c1"># Getting the content of files for template_field / template_ext</span>
         <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
             <span class="n">content</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
-            <span class="k">if</span> <span class="p">(</span><span class="n">content</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">)</span> <span class="ow">and</span>
-                    <span class="nb">any</span><span class="p">([</span><span class="n">content</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="n">ext</span><span class="p">)</span> <span class="k">for</span> <span class="n">ext</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_ext</span><span class="p">])):</span>
+            <span class="k">if</span> <span class="n">content</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> \
+                    <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">)</span> <span class="ow">and</span> \
+                    <span class="nb">any</span><span class="p">([</span><span class="n">content</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="n">ext</span><span class="p">)</span> <span class="k">for</span> <span class="n">ext</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_ext</span><span class="p">]):</span>
                 <span class="n">env</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_template_env</span><span class="p">()</span>
                 <span class="k">try</span><span class="p">:</span>
                     <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">env</span><span class="o">.</span><span class="n">loader</span><span class="o">.</span><span class="n">get_source</span><span class="p">(</span><span class="n">env</span><span class="p">,</span> <span class="n">content</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
@@ -2418,8 +2464,8 @@
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_ids</span>
 
 <div class="viewcode-block" id="BaseOperator.clear"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.clear">[docs]</a>    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">downstream</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Clears the state of task instances associated with the task, following</span>
 <span class="sd">        the parameters specified.</span>
@@ -2438,22 +2484,23 @@
 
         <span class="k">if</span> <span class="n">upstream</span><span class="p">:</span>
             <span class="n">tasks</span> <span class="o">+=</span> <span class="p">[</span>
-                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)]</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="kc">True</span><span class="p">)]</span>
 
         <span class="k">if</span> <span class="n">downstream</span><span class="p">:</span>
             <span class="n">tasks</span> <span class="o">+=</span> <span class="p">[</span>
-                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)]</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">)]</span>
 
         <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">tasks</span><span class="p">))</span>
 
         <span class="n">count</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
+
         <span class="n">clear_task_instances</span><span class="p">(</span><span class="n">qry</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
 
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">count</span></div>
 
-<div class="viewcode-block" id="BaseOperator.get_task_instances"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_task_instances">[docs]</a>    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span c [...]
+<div class="viewcode-block" id="BaseOperator.get_task_instances"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_task_instances">[docs]</a>    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span c [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a set of task instance related to this task for a specific date</span>
 <span class="sd">        range.</span>
@@ -2467,7 +2514,7 @@
             <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">,</span>
         <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BaseOperator.get_flat_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_flat_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_flat_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">l</span><span class="o">=</span><span class="bp [...]
+<div class="viewcode-block" id="BaseOperator.get_flat_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_flat_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_flat_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">l</span><span class="o">=</span><span class="kc [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a flat list of relatives, either upstream or downstream.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -2479,7 +2526,7 @@
                 <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="p">,</span> <span class="n">l</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">l</span></div>
 
-<div class="viewcode-block" id="BaseOperator.detect_downstream_cycle"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.detect_downstream_cycle">[docs]</a>    <span class="k">def</span> <span class="nf">detect_downstream_cycle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="BaseOperator.detect_downstream_cycle"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.detect_downstream_cycle">[docs]</a>    <span class="k">def</span> <span class="nf">detect_downstream_cycle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        When invoked, this routine will raise an exception if a cycle is</span>
 <span class="sd">        detected downstream from self. It is invoked when tasks are added to</span>
@@ -2489,20 +2536,19 @@
             <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span>
         <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_direct_relatives</span><span class="p">():</span>
             <span class="k">if</span> <span class="n">task</span> <span class="ow">is</span> <span class="n">t</span><span class="p">:</span>
-                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Cycle detected in DAG. Faulty task: {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Cycle detected in DAG. Faulty task: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">t</span><span class="o">.</span><span class="n">detect_downstream_cycle</span><span class="p">(</span><span class="n">task</span><span class="o">=</span><span class="n">task</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">False</span></div>
+        <span class="k">return</span> <span class="kc">False</span></div>
 
 <div class="viewcode-block" id="BaseOperator.run"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_ti_state</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Run a set of task instances for a date range.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -2512,20 +2558,19 @@
         <span class="k">for</span> <span class="n">dt</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">date_range</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">end_date</span><span class="p">):</span>
             <span class="n">TaskInstance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">)</span><span class="o">.</span><span class="n">run</span><span class="p">(</span>
                 <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
-                <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
                 <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="p">(</span>
                     <span class="n">dt</span> <span class="o">==</span> <span class="n">start_date</span> <span class="ow">and</span> <span class="n">ignore_first_depends_on_past</span><span class="p">),</span>
-                <span class="n">force</span><span class="o">=</span><span class="n">force</span><span class="p">,)</span></div>
+                <span class="n">ignore_ti_state</span><span class="o">=</span><span class="n">ignore_ti_state</span><span class="p">)</span></div>
 
     <span class="k">def</span> <span class="nf">dry_run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dry run&#39;</span><span class="p">)</span>
         <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
             <span class="n">content</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">content</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Rendering template for {0}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">))</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Rendering template for </span><span class="si">{0}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">))</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
 
-<div class="viewcode-block" id="BaseOperator.get_direct_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_direct_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_direct_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+<div class="viewcode-block" id="BaseOperator.get_direct_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_direct_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_direct_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get the direct relatives to the current task, upstream or</span>
 <span class="sd">        downstream.</span>
@@ -2536,7 +2581,7 @@
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">downstream_list</span></div>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s2">&quot;&lt;Task({self.__class__.__name__}): {self.task_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;Task(</span><span class="si">{self.__class__.__name__}</span><span class="s2">): </span><span class="si">{self.task_id}</span><span class="s2">&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 
     <span class="nd">@property</span>
@@ -2546,12 +2591,12 @@
     <span class="k">def</span> <span class="nf">append_only_new</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">l</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
         <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">item</span> <span class="ow">is</span> <span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">l</span><span class="p">]):</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                <span class="s1">&#39;Dependency {self}, {item} already registered&#39;</span>
+                <span class="s1">&#39;Dependency </span><span class="si">{self}</span><span class="s1">, </span><span class="si">{item}</span><span class="s1"> already registered&#39;</span>
                 <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">_set_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">_set_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="n">task_list</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">)</span>
         <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
@@ -2561,7 +2606,7 @@
             <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">BaseOperator</span><span class="p">):</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
                     <span class="s2">&quot;Relationships can only be set between &quot;</span>
-                    <span class="s2">&quot;Operators; received {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+                    <span class="s2">&quot;Operators; received </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
 
         <span class="c1"># relationships can only be set if the tasks share a single DAG. Tasks</span>
         <span class="c1"># without a DAG are assigned to that DAG.</span>
@@ -2570,14 +2615,14 @@
         <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dags</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
                 <span class="s1">&#39;Tried to set relationships between tasks in &#39;</span>
-                <span class="s1">&#39;more than one DAG: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dags</span><span class="p">))</span>
+                <span class="s1">&#39;more than one DAG: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dags</span><span class="p">))</span>
         <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">dags</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
             <span class="n">dag</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">dags</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
                 <span class="s2">&quot;Tried to create relationships between tasks that don&#39;t have &quot;</span>
                 <span class="s2">&quot;DAGs yet. Set the DAG for at least one &quot;</span>
-                <span class="s2">&quot;task  and try again: {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">([</span><span class="bp">self</span><span class="p">]</span> <span class="o">+</span> <span class="n">task_list</span><span class="p">))</span>
+                <span class="s2">&quot;task  and try again: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">([</span><span class="bp">self</span><span class="p">]</span> <span class="o">+</span> <span class="n">task_list</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="n">dag</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">dag</span>
@@ -2599,21 +2644,21 @@
 <span class="sd">        Set a task, or a task task to be directly downstream from the current</span>
 <span class="sd">        task.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BaseOperator.set_upstream"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.set_upstream">[docs]</a>    <span class="k">def</span> <span class="nf">set_upstream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Set a task, or a task task to be directly upstream from the current</span>
 <span class="sd">        task.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BaseOperator.xcom_push"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.xcom_push">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_push</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">context</span><span class="p">,</span>
             <span class="n">key</span><span class="p">,</span>
             <span class="n">value</span><span class="p">,</span>
-            <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        See TaskInstance.xcom_push()</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -2626,9 +2671,9 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">context</span><span class="p">,</span>
             <span class="n">task_ids</span><span class="p">,</span>
-            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span>
-            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        See TaskInstance.xcom_pull()</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -2645,15 +2690,16 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    These items are stored in the database for state related information</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="c1"># A DAG can be paused from the UI / DB</span>
     <span class="c1"># Set this default value of is_paused based on a configuration value!</span>
-    <span class="n">is_paused_at_creation</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;dags_are_paused_at_creation&#39;</span><span class="p">)</span>
+    <span class="n">is_paused_at_creation</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span>
+                                                     <span class="s1">&#39;dags_are_paused_at_creation&#39;</span><span class="p">)</span>
     <span class="n">is_paused</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">is_paused_at_creation</span><span class="p">)</span>
     <span class="c1"># Whether the DAG is a subdag</span>
-    <span class="n">is_subdag</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">is_subdag</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
     <span class="c1"># Whether that DAG was seen on the last DagBag load</span>
-    <span class="n">is_active</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">is_active</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
     <span class="c1"># Last time the scheduler started</span>
     <span class="n">last_scheduler_run</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="c1"># Last time this DAG was pickled</span>
@@ -2671,7 +2717,7 @@
     <span class="n">owners</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">2000</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: {self.dag_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: </span><span class="si">{self.dag_id}</span><span class="s2">&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 
     <span class="nd">@classmethod</span>
     <span class="k">def</span> <span class="nf">get_current</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">):</span>
@@ -2683,7 +2729,7 @@
         <span class="k">return</span> <span class="n">obj</span>
 
 
-<span class="nd">@functools.total_ordering</span>
+<span class="nd">@functools</span><span class="o">.</span><span class="n">total_ordering</span>
 <div class="viewcode-block" id="DAG"><a class="viewcode-back" href="../../code.html#airflow.models.DAG">[docs]</a><span class="k">class</span> <span class="nc">DAG</span><span class="p">(</span><span class="n">BaseDag</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    A dag (directed acyclic graph) is a collection of tasks with directional</span>
@@ -2698,6 +2744,8 @@
 
 <span class="sd">    :param dag_id: The id of the DAG</span>
 <span class="sd">    :type dag_id: string</span>
+<span class="sd">    :param description: The description for the DAG to e.g. be shown on the webserver</span>
+<span class="sd">    :type description: string</span>
 <span class="sd">    :param schedule_interval: Defines how often that DAG runs, this</span>
 <span class="sd">        timedelta object gets added to your latest task instance&#39;s</span>
 <span class="sd">        execution_date to figure out the next schedule</span>
@@ -2745,22 +2793,29 @@
 <span class="sd">    :param sla_miss_callback: specify a function to call when reporting SLA</span>
 <span class="sd">        timeouts.</span>
 <span class="sd">    :type sla_miss_callback: types.FunctionType</span>
+<span class="sd">    :param orientation: Specify DAG orientation in graph view (LR, TB, RL, BT)</span>
+<span class="sd">    :type orientation: string</span>
+<span class="sd">    :param catchup: Perform scheduler catchup (or only run latest)? Defaults to True</span>
+<span class="sd">    &quot;type catchup: bool&quot;</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span>
             <span class="n">schedule_interval</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span>
-            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">full_filepath</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">template_searchpath</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">user_defined_macros</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">default_args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">full_filepath</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">template_searchpath</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">user_defined_macros</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">default_args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">concurrency</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;dag_concurrency&#39;</span><span class="p">),</span>
             <span class="n">max_active_runs</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
                 <span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;max_active_runs_per_dag&#39;</span><span class="p">),</span>
-            <span class="n">dagrun_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">sla_miss_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">dagrun_timeout</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">sla_miss_callback</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">orientation</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webserver&#39;</span><span class="p">,</span> <span class="s1">&#39;dag_orientation&#39;</span><span class="p">),</span>
+            <span class="n">catchup</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;scheduler&#39;</span><span class="p">,</span> <span class="s1">&#39;catchup_by_default&#39;</span><span class="p">),</span>
+            <span class="n">params</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span> <span class="o">=</span> <span class="n">user_defined_macros</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">default_args</span> <span class="o">=</span> <span class="n">default_args</span> <span class="ow">or</span> <span class="p">{}</span>
@@ -2777,8 +2832,11 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span> <span class="o">=</span> <span class="n">full_filepath</span> <span class="k">if</span> <span class="n">full_filepath</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span> <span class="o">=</span> <span class="n">concurrency</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span> <span class="o">=</span> <span class="kc">None</span>
 
+        <span class="bp">self</span><span class="o">.</span><span class="n">_description</span> <span class="o">=</span> <span class="n">description</span>
+        <span class="c1"># set file location to caller source path</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">inspect</span><span class="o">.</span><span class="n">getsourcefile</span><span class="p">(</span><span class="n">inspect</span><span class="o">.</span><span class="n">stack</span><span class="p">()[</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
@@ -2786,18 +2844,20 @@
         <span class="k">if</span> <span class="n">schedule_interval</span> <span class="ow">in</span> <span class="n">cron_presets</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">cron_presets</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">schedule_interval</span><span class="p">)</span>
         <span class="k">elif</span> <span class="n">schedule_interval</span> <span class="o">==</span> <span class="s1">&#39;@once&#39;</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">template_searchpath</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
             <span class="n">template_searchpath</span> <span class="o">=</span> <span class="p">[</span><span class="n">template_searchpath</span><span class="p">]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span> <span class="o">=</span> <span class="n">template_searchpath</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="bp">None</span>  <span class="c1"># Gets set when DAGs are loaded</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="kc">None</span>  <span class="c1"># Gets set when DAGs are loaded</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">safe_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;__dot__&#39;</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">max_active_runs</span> <span class="o">=</span> <span class="n">max_active_runs</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dagrun_timeout</span> <span class="o">=</span> <span class="n">dagrun_timeout</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sla_miss_callback</span> <span class="o">=</span> <span class="n">sla_miss_callback</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">orientation</span> <span class="o">=</span> <span class="n">orientation</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">catchup</span> <span class="o">=</span> <span class="n">catchup</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;dag_id&#39;</span><span class="p">,</span>
@@ -2811,14 +2871,14 @@
         <span class="p">}</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: {self.dag_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: </span><span class="si">{self.dag_id}</span><span class="s2">&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">(</span>
             <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">==</span> <span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> <span class="ow">and</span>
             <span class="c1"># Use getattr() instead of __dict__ as __dict__ doesn&#39;t return</span>
             <span class="c1"># correct values for properties.</span>
-            <span class="nb">all</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span cl [...]
+            <span class="nb">all</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="o">==</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="kc">None</span><span cl [...]
                 <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">__ne__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
@@ -2834,7 +2894,7 @@
             <span class="k">if</span> <span class="n">c</span> <span class="o">==</span> <span class="s1">&#39;task_ids&#39;</span><span class="p">:</span>
                 <span class="n">val</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+                <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="nb">hash</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
                 <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
@@ -2856,9 +2916,9 @@
 
     <span class="c1"># /Context Manager ----------------------------------------------</span>
 
-    <span class="k">def</span> <span class="nf">date_range</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">num</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()):</span>
+    <span class="k">def</span> <span class="nf">date_range</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">num</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()):</span>
         <span class="k">if</span> <span class="n">num</span><span class="p">:</span>
-            <span class="n">end_date</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="n">end_date</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">return</span> <span class="n">utils_date_range</span><span class="p">(</span>
             <span class="n">start_date</span><span class="o">=</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">end_date</span><span class="p">,</span>
             <span class="n">num</span><span class="o">=</span><span class="n">num</span><span class="p">,</span> <span class="n">delta</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">)</span>
@@ -2892,11 +2952,31 @@
 
         <span class="k">return</span> <span class="n">dttm</span></div>
 
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.get_last_dagrun"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.get_last_dagrun">[docs]</a>    <span class="k">def</span> <span class="nf">get_last_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">include_externally_triggered</span><span class="o">=</span><span class="kc"> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the last dag run for this dag, None if there was none.</span>
+<span class="sd">        Last dag run can be any type of run eg. scheduled or backfilled.</span>
+<span class="sd">        Overriden DagRuns are ignored</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">DR</span> <span class="o">=</span> <span class="n">DagRun</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">include_externally_triggered</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">external_trigger</span><span class="o">.</span><span class="n">__eq__</span><span class="p">(</span><span class="kc">False</span><span class="p">))</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">desc</span><span class="p">())</span>
+
+        <span class="n">last</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">last</span></div>
+
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span>
 
-    <span class="nd">@dag_id.setter</span>
+    <span class="nd">@dag_id</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span> <span class="o">=</span> <span class="n">value</span>
 
@@ -2904,7 +2984,7 @@
     <span class="k">def</span> <span class="nf">full_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span>
 
-    <span class="nd">@full_filepath.setter</span>
+    <span class="nd">@full_filepath</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">full_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span> <span class="o">=</span> <span class="n">value</span>
 
@@ -2912,15 +2992,19 @@
     <span class="k">def</span> <span class="nf">concurrency</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span>
 
-    <span class="nd">@concurrency.setter</span>
+    <span class="nd">@concurrency</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">concurrency</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span> <span class="o">=</span> <span class="n">value</span>
 
     <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">description</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_description</span>
+
+    <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">pickle_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span>
 
-    <span class="nd">@pickle_id.setter</span>
+    <span class="nd">@pickle_id</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">pickle_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span> <span class="o">=</span> <span class="n">value</span>
 
@@ -2928,7 +3012,7 @@
     <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
 
-    <span class="nd">@tasks.setter</span>
+    <span class="nd">@tasks</span><span class="o">.</span><span class="n">setter</span>
     <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">val</span><span class="p">):</span>
         <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span>
             <span class="s1">&#39;DAG.tasks can not be modified. Use dag.add_task() instead.&#39;</span><span class="p">)</span>
@@ -2950,7 +3034,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        File location of where the dag object is instantiated</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">fn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">DAGS_FOLDER</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="n">fn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">settings</span><span class="o">.</span><span class="n">DAGS_FOLDER</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
         <span class="n">fn</span> <span class="o">=</span> <span class="n">fn</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span>< [...]
         <span class="k">return</span> <span class="n">fn</span>
 
@@ -2967,7 +3051,7 @@
 
     <span class="nd">@property</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">concurrency_reached</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">concurrency_reached</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a boolean indicating whether the concurrency limit for this DAG</span>
 <span class="sd">        has been reached</span>
@@ -2982,7 +3066,7 @@
 
     <span class="nd">@property</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">is_paused</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">is_paused</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a boolean indicating whether this DAG is paused</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -2990,16 +3074,47 @@
             <span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s1">&#39;is_paused&#39;</span><span class="p">)</span>
 
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.get_active_runs"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.get_active_runs">[docs]</a>    <span class="k">def</span> <span class="nf">get_active_runs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a list of &quot;running&quot; tasks</span>
+<span class="sd">        :param session:</span>
+<span class="sd">        :return: List of execution dates</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">runs</span> <span class="o">=</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+
+        <span class="n">active_dates</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">run</span> <span class="ow">in</span> <span class="n">runs</span><span class="p">:</span>
+            <span class="n">active_dates</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">run</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">active_dates</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.get_dagrun"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.get_dagrun">[docs]</a>    <span class="k">def</span> <span class="nf">get_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the dag run for a given execution date if it exists, otherwise</span>
+<span class="sd">        none.</span>
+<span class="sd">        :param execution_date: The execution date of the DagRun to find.</span>
+<span class="sd">        :param session:</span>
+<span class="sd">        :return: The DagRun if found, otherwise None.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dagrun</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">first</span><span class="p">())</span>
+
+        <span class="k">return</span> <span class="n">dagrun</span></div>
+
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">latest_execution_date</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns the latest date for which at least one task instance exists</span>
+<span class="sd">        Returns the latest date for which at least one dag run exists</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-        <span class="n">execution_date</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_ids</span><span class="p">)</span>
+        <span class="n">execution_date</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span>
         <span class="p">)</span><span class="o">.</span><span class="n">scalar</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
@@ -3021,15 +3136,6 @@
                 <span class="n">l</span> <span class="o">+=</span> <span class="n">task</span><span class="o">.</span><span class="n">subdag</span><span class="o">.</span><span class="n">subdags</span>
         <span class="k">return</span> <span class="n">l</span>
 
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">reached_max_runs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">active_runs</span> <span class="o">=</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">find</span><span class="p">(</span>
-            <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-            <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
-            <span class="n">external_trigger</span><span class="o">=</span><span class="bp">False</span>
-        <span class="p">)</span>
-        <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">active_runs</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_active_runs</span>
-
     <span class="k">def</span> <span class="nf">resolve_template_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
             <span class="n">t</span><span class="o">.</span><span class="n">resolve_template_files</span><span class="p">()</span>
@@ -3043,10 +3149,10 @@
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="DAG.get_template_env"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.get_template_env">[docs]</a>    <span class="k">def</span> <span class="nf">get_template_env</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a jinja2 Environment while taking into account the DAGs</span>
 <span class="sd">        template_searchpath and user_defined_macros</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">searchpath</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">folder</span><span class="p">]</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span><span class="p">:</span>
             <span class="n">searchpath</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span>
@@ -3069,10 +3175,10 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">downstream_task_id</span><span class="p">))</span></div>
 
     <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">start_date</span><span class="p">:</span>
-            <span class="n">start_date</span> <span class="o">=</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">today</span><span class="p">()</span><span class="o">-</span><span class="n">timedelta</span><span class="p">(</span><span class="mi">30</span><span class="p">))</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
+            <span class="n">start_date</span> <span class="o">=</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">today</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">30</span><span class="p">))</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
             <span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">combine</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">min</span><span class="o">.</span><span class="n">time</span><span class="p">())</span>
         <span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span> <span class="ow">or</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
@@ -3092,20 +3198,22 @@
 
     <span class="nd">@provide_session</span>
     <span class="k">def</span> <span class="nf">set_dag_runs_state</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="n">dates</span> <span class="o">=</span> <span class="n">utils_date_range</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">)</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">drs</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span cla [...]
+        <span class="n">dirty_ids</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">dr</span> <span class="ow">in</span> <span class="n">drs</span><span class="p">:</span>
             <span class="n">dr</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+            <span class="n">dirty_ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dr</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
+        <span class="n">DagStat</span><span class="o">.</span><span class="n">clean_dirty</span><span class="p">(</span><span class="n">dirty_ids</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
 <div class="viewcode-block" id="DAG.clear"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.clear">[docs]</a>    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">only_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">only_running</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">confirm_prompt</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">include_subdags</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-            <span class="n">reset_dag_runs</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-            <span class="n">dry_run</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">only_failed</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">only_running</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">confirm_prompt</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">include_subdags</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">reset_dag_runs</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">dry_run</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Clears a set of task instances associated with the current dag for</span>
 <span class="sd">        a specified date range.</span>
@@ -3140,25 +3248,25 @@
             <span class="k">return</span> <span class="n">tis</span>
 
         <span class="n">count</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">do_it</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="n">do_it</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="k">if</span> <span class="n">count</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="k">print</span><span class="p">(</span><span class="s2">&quot;Nothing to clear.&quot;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Nothing to clear.&quot;</span><span class="p">)</span>
             <span class="k">return</span> <span class="mi">0</span>
         <span class="k">if</span> <span class="n">confirm_prompt</span><span class="p">:</span>
             <span class="n">ti_list</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">])</span>
             <span class="n">question</span> <span class="o">=</span> <span class="p">(</span>
-                <span class="s2">&quot;You are about to delete these {count} tasks:</span><span class="se">\n</span><span class="s2">&quot;</span>
-                <span class="s2">&quot;{ti_list}</span><span class="se">\n\n</span><span class="s2">&quot;</span>
+                <span class="s2">&quot;You are about to delete these </span><span class="si">{count}</span><span class="s2"> tasks:</span><span class="se">\n</span><span class="s2">&quot;</span>
+                <span class="s2">&quot;</span><span class="si">{ti_list}</span><span class="se">\n\n</span><span class="s2">&quot;</span>
                 <span class="s2">&quot;Are you sure? (yes/no): &quot;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
             <span class="n">do_it</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">helpers</span><span class="o">.</span><span class="n">ask_yesno</span><span class="p">(</span><span class="n">question</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">do_it</span><span class="p">:</span>
             <span class="n">clear_task_instances</span><span class="p">(</span><span class="n">tis</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">reset_dag_runs</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">set_dag_runs_state</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">set_dag_runs_state</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
-            <span class="k">print</span><span class="p">(</span><span class="s2">&quot;Bail. Nothing was cleared.&quot;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Bail. Nothing was cleared.&quot;</span><span class="p">)</span>
 
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
@@ -3178,8 +3286,8 @@
         <span class="n">result</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span>
         <span class="k">return</span> <span class="n">result</span>
 
-<div class="viewcode-block" id="DAG.sub_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sub_dag">[docs]</a>    <span class="k">def</span> <span class="nf">sub_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_regex</span><span class="p">,</span> <span class="n">include_downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                <span class="n">include_upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+<div class="viewcode-block" id="DAG.sub_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sub_dag">[docs]</a>    <span class="k">def</span> <span class="nf">sub_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_regex</span><span class="p">,</span> <span class="n">include_downstream</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                <span class="n">include_upstream</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a subset of the current dag as a deep copy of the current dag</span>
 <span class="sd">        based on a regex that should match one or many tasks, and includes</span>
@@ -3193,9 +3301,9 @@
         <span class="n">also_include</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">regex_match</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">include_downstream</span><span class="p">:</span>
-                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">include_upstream</span><span class="p">:</span>
-                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 
         <span class="c1"># Compiling the unique list of tasks that made the cut</span>
         <span class="n">dag</span><span class="o">.</span><span class="n">task_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span><span class="p">:</span> <span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">regex_match</span> <span class="o">+</span> <span class="n">also_include</span><span class="p">}</span>
@@ -3214,28 +3322,28 @@
     <span class="k">def</span> <span class="nf">get_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
         <span class="k">if</span> <span class="n">task_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">[</span><span class="n">task_id</span><span class="p">]</span>
-        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task {task_id} not found&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task </span><span class="si">{task_id}</span><span class="s2"> not found&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">pickle_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">pickle_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
             <span class="n">pickled</span> <span class="o">=</span> <span class="n">pickle</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
             <span class="n">d</span><span class="p">[</span><span class="s1">&#39;pickle_len&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">pickled</span><span class="p">)</span>
-            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;pickling_duration&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">dttm</span><span class="p">)</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;pickling_duration&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">dttm</span><span cla [...]
         <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="n">d</span><span class="p">[</span><span class="s1">&#39;stacktrace&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">d</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">pickle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">pickle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">dag</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
             <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-        <span class="n">dp</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="n">dp</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">if</span> <span class="n">dag</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">pickle_id</span><span class="p">:</span>
             <span class="n">dp</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagPickle</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
                 <span class="n">DagPickle</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">pickle_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
@@ -3253,7 +3361,7 @@
 <span class="sd">        Shows an ascii tree representation of the DAG</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">def</span> <span class="nf">get_downstream</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">level</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
-            <span class="k">print</span><span class="p">((</span><span class="s2">&quot; &quot;</span> <span class="o">*</span> <span class="n">level</span> <span class="o">*</span> <span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="p">))</span>
+            <span class="nb">print</span><span class="p">((</span><span class="s2">&quot; &quot;</span> <span class="o">*</span> <span class="n">level</span> <span class="o">*</span> <span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="p">))</span>
             <span class="n">level</span> <span class="o">+=</span> <span class="mi">1</span>
             <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">task</span><span class="o">.</span><span class="n">upstream_list</span><span class="p">:</span>
                 <span class="n">get_downstream</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">level</span><span class="p">)</span>
@@ -3262,22 +3370,22 @@
             <span class="n">get_downstream</span><span class="p">(</span><span class="n">t</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="DAG.add_task"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.add_task">[docs]</a>    <span class="k">def</span> <span class="nf">add_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Add a task to the DAG</span>
 
 <span class="sd">        :param task: the task you want to add</span>
 <span class="sd">        :type task: task</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task is missing the start_date parameter&quot;</span><span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
             <span class="n">task</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span>
 
         <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
-            <span class="c1">#TODO raise an error in Airflow 2.0</span>
+            <span class="c1"># TODO: raise an error in Airflow 2.0</span>
             <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
                 <span class="s1">&#39;The requested task could not be added to the DAG because a &#39;</span>
-                <span class="s1">&#39;task with task_id {} is already in the DAG. Starting in &#39;</span>
+                <span class="s1">&#39;task with task_id </span><span class="si">{}</span><span class="s1"> is already in the DAG. Starting in &#39;</span>
                 <span class="s1">&#39;Airflow 2.0, trying to overwrite a task will raise an &#39;</span>
                 <span class="s1">&#39;exception.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
                 <span class="n">category</span><span class="o">=</span><span class="ne">PendingDeprecationWarning</span><span class="p">)</span>
@@ -3289,12 +3397,12 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">task_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="DAG.add_tasks"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.add_tasks">[docs]</a>    <span class="k">def</span> <span class="nf">add_tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tasks</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Add a list of tasks to the DAG</span>
 
 <span class="sd">        :param task: a lit of tasks you want to add</span>
 <span class="sd">        :type task: list of tasks</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">tasks</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">add_task</span><span class="p">(</span><span class="n">task</span><span class="p">)</span></div>
 
@@ -3310,20 +3418,20 @@
 
 <div class="viewcode-block" id="DAG.run"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
-            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">include_adhoc</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">executor</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">include_adhoc</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">executor</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">donot_pickle</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;donot_pickle&#39;</span><span class="p">),</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Runs the DAG.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">BackfillJob</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="k">import</span> <span class="n">BackfillJob</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">executor</span> <span class="ow">and</span> <span class="n">local</span><span class="p">:</span>
             <span class="n">executor</span> <span class="o">=</span> <span class="n">LocalExecutor</span><span class="p">()</span>
         <span class="k">elif</span> <span class="ow">not</span> <span class="n">executor</span><span class="p">:</span>
@@ -3336,7 +3444,7 @@
             <span class="n">include_adhoc</span><span class="o">=</span><span class="n">include_adhoc</span><span class="p">,</span>
             <span class="n">executor</span><span class="o">=</span><span class="n">executor</span><span class="p">,</span>
             <span class="n">donot_pickle</span><span class="o">=</span><span class="n">donot_pickle</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
+            <span class="n">ignore_task_deps</span><span class="o">=</span><span class="n">ignore_task_deps</span><span class="p">,</span>
             <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="n">ignore_first_depends_on_past</span><span class="p">,</span>
             <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">run</span><span class="p">()</span></div>
@@ -3345,23 +3453,24 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Exposes a CLI specific to this DAG</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="kn">from</span> <span class="nn">airflow.bin</span> <span class="kn">import</span> <span class="n">cli</span>
-        <span class="n">parser</span> <span class="o">=</span> <span class="n">cli</span><span class="o">.</span><span class="n">CLIFactory</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">dag_parser</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="kn">from</span> <span class="nn">airflow.bin</span> <span class="k">import</span> <span class="n">cli</span>
+        <span class="n">parser</span> <span class="o">=</span> <span class="n">cli</span><span class="o">.</span><span class="n">CLIFactory</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">dag_parser</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
         <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
         <span class="n">args</span><span class="o">.</span><span class="n">func</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span></div>
 
     <span class="nd">@provide_session</span>
 <div class="viewcode-block" id="DAG.create_dagrun"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.create_dagrun">[docs]</a>    <span class="k">def</span> <span class="nf">create_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                       <span class="n">run_id</span><span class="p">,</span>
-                      <span class="n">execution_date</span><span class="p">,</span>
                       <span class="n">state</span><span class="p">,</span>
-                      <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                      <span class="n">external_trigger</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                      <span class="n">conf</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                      <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+                      <span class="n">execution_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">start_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">external_trigger</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                      <span class="n">conf</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Creates a dag run from this dag including the tasks associated with this dag. Returns the dag</span>
-<span class="sd">        run.</span>
+<span class="sd">        Creates a dag run from this dag including the tasks associated with this dag.</span>
+<span class="sd">        Returns the dag run.</span>
+
 <span class="sd">        :param run_id: defines the the run id for this dag run</span>
 <span class="sd">        :type run_id: string</span>
 <span class="sd">        :param execution_date: the execution date of this dag run</span>
@@ -3369,7 +3478,7 @@
 <span class="sd">        :param state: the state of the dag run</span>
 <span class="sd">        :type state: State</span>
 <span class="sd">        :param start_date: the date this dag run should be evaluated</span>
-<span class="sd">        :type state_date: datetime</span>
+<span class="sd">        :type start_date: datetime</span>
 <span class="sd">        :param external_trigger: whether this dag run is externally triggered</span>
 <span class="sd">        :type external_trigger: bool</span>
 <span class="sd">        :param session: database session</span>
@@ -3389,16 +3498,22 @@
 
         <span class="n">run</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span>
 
-        <span class="c1"># create the associated taskinstances</span>
+        <span class="c1"># create the associated task instances</span>
         <span class="c1"># state is None at the moment of creation</span>
         <span class="n">run</span><span class="o">.</span><span class="n">verify_integrity</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
         <span class="n">run</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">()</span>
+        <span class="n">DagStat</span><span class="o">.</span><span class="n">set_dirty</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="c1"># add a placeholder row into DagStat table</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagStat</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagStat</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><s [...]
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">DagStat</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">state</span><span class="p">,</span> <span class="n">count</span><span class="o">=</span><span  [...]
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">run</span></div>
 
     <span class="nd">@staticmethod</span>
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="DAG.sync_to_db"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sync_to_db">[docs]</a>    <span class="k">def</span> <span class="nf">sync_to_db</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">owner</span><span class="p">,</span> <span class="n">sync_time</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DAG.sync_to_db"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sync_to_db">[docs]</a>    <span class="k">def</span> <span class="nf">sync_to_db</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">owner</span><span class="p">,</span> <span class="n">sync_time</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Save attributes about this DAG to the DB. Note that this method</span>
 <span class="sd">        can be called for both DAGs and SubDAGs. A SubDag is actually a</span>
@@ -3417,10 +3532,10 @@
             <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating ORM DAG for </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
                          <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
-        <span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">fileloc</span>
         <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span>
         <span class="n">orm_dag</span><span class="o">.</span><span class="n">owners</span> <span class="o">=</span> <span class="n">owner</span>
-        <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="n">orm_dag</span><span class="o">.</span><span class="n">last_scheduler_run</span> <span class="o">=</span> <span class="n">sync_time</span>
         <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">orm_dag</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
@@ -3430,7 +3545,7 @@
 
     <span class="nd">@staticmethod</span>
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="DAG.deactivate_unknown_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_unknown_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_unknown_dags</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DAG.deactivate_unknown_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_unknown_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_unknown_dags</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Given a list of known DAGs, deactivate any other DAGs that are</span>
 <span class="sd">        marked as active in the ORM</span>
@@ -3444,12 +3559,12 @@
             <span class="k">return</span>
         <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
                 <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="o">~</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">))</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span></div>
 
     <span class="nd">@staticmethod</span>
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="DAG.deactivate_stale_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_stale_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_stale_dags</span><span class="p">(</span><span class="n">expiration_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DAG.deactivate_stale_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_stale_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_stale_dags</span><span class="p">(</span><span class="n">expiration_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Deactivate any DAGs that were last touched by the scheduler before</span>
 <span class="sd">        the expiration date. These DAGs were likely deleted.</span>
@@ -3466,7 +3581,7 @@
                          <span class="s2">&quot;by the scheduler at </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
                          <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
                          <span class="n">dag</span><span class="o">.</span><span class="n">last_scheduler_run</span><span class="o">.</span><span class="n">isoformat</span><span class="p">())</span>
-            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div></div>
 
@@ -3474,21 +3589,21 @@
 <span class="k">class</span> <span class="nc">Chart</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;chart&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">label</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
-    <span class="n">conn_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
-    <span class="n">user_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;users.id&#39;</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">conn_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="n">user_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;users.id&#39;</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">chart_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;line&quot;</span><span class="p">)</span>
     <span class="n">sql_layout</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;series&quot;</span><span class="p">)</span>
     <span class="n">sql</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;SELECT series, x, y FROM table&quot;</span><span class="p">)</span>
     <span class="n">y_log_scale</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
     <span class="n">show_datatable</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
-    <span class="n">show_sql</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">show_sql</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">height</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">600</span><span class="p">)</span>
-    <span class="n">default_params</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;{}&quot;</span><span class="p">)</span>
+    <span class="n">default_params</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">&quot;</span><span class="p">)</span>
     <span class="n">owner</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
-        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;charts&#39;</span><span class="p">)</span>
-    <span class="n">x_is_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;charts&#39;</span><span class="p">)</span>
+    <span class="n">x_is_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">iteration_no</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
     <span class="n">last_modified</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
 
@@ -3499,7 +3614,7 @@
 <span class="k">class</span> <span class="nc">KnownEventType</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;known_event_type&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">know_event_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -3509,18 +3624,18 @@
 <span class="k">class</span> <span class="nc">KnownEvent</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;known_event&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">label</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
     <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">user_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;users.id&#39;</span><span class="p">),)</span>
     <span class="n">known_event_type_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;known_event_type.id&#39;</span><span class="p">),)</span>
     <span class="n">reported_by</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
-        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
+        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
     <span class="n">event_type</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
         <span class="s2">&quot;KnownEventType&quot;</span><span class="p">,</span>
-        <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-        <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
+        <span class="n">cascade</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+        <span class="n">cascade_backrefs</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
     <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -3530,20 +3645,20 @@
 <span class="k">class</span> <span class="nc">Variable</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;variable&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">key</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">key</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">_val</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;val&#39;</span><span class="p">,</span> <span class="n">Text</span><span class="p">)</span>
-    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="c1"># Hiding the value</span>
-        <span class="k">return</span> <span class="s1">&#39;{} : {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1"> : </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">get_val</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt _val for key={}, FERNET_KEY configuration </span><span class="se">\</span>
+                    <span class="s2">&quot;Can&#39;t decrypt _val for key=</span><span class="si">{}</span><span class="s2">, FERNET_KEY configuration </span><span class="se">\</span>
 <span class="s2">                    missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
@@ -3553,10 +3668,10 @@
         <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="kc">True</span>
             <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="o">=</span> <span class="n">value</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="kc">False</span>
 
     <span class="nd">@declared_attr</span>
     <span class="k">def</span> <span class="nf">val</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
@@ -3564,14 +3679,43 @@
                        <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_val</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_val</span><span class="p">))</span>
 
     <span class="nd">@classmethod</span>
+    <span class="k">def</span> <span class="nf">setdefault</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">default</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Like a Python builtin dict object, setdefault returns the current value</span>
+<span class="sd">        for a key, and if it isn&#39;t there, stores the default value and returns it.</span>
+
+<span class="sd">        :param key: Dict key for this Variable</span>
+<span class="sd">        :type key: String</span>
+<span class="sd">        :param: default: Default value to set and return if the variable</span>
+<span class="sd">        isn&#39;t already in the DB</span>
+<span class="sd">        :type: default: Mixed</span>
+<span class="sd">        :param: deserialize_json: Store this as a JSON encoded value in the DB</span>
+<span class="sd">         and un-encode it when retrieving a value</span>
+<span class="sd">        :return: Mixed</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">default_sentinel</span> <span class="o">=</span> <span class="nb">object</span><span class="p">()</span>
+        <span class="n">obj</span> <span class="o">=</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">default_var</span><span class="o">=</span><span class="n">default_sentinel</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="n">default_sentinel</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">default</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">Variable</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">default</span><span class="p">,</span> <span class="n">serialize_json</span><span class="o">=</span><span class="n">deserialize_json</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">default</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Default Value must be set&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">deserialize_json</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">val</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">obj</span><span class="o">.</span><span class="n">val</span>
+
+    <span class="nd">@classmethod</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">default_var</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</spa [...]
+    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">default_var</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</spa [...]
         <span class="n">obj</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">first< [...]
-        <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">default_var</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">default_var</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="k">return</span> <span class="n">default_var</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Variable {} does not exist&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
+                <span class="k">raise</span> <span class="ne">KeyError</span><span class="p">(</span><span class="s1">&#39;Variable </span><span class="si">{}</span><span class="s1"> does not exist&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">deserialize_json</span><span class="p">:</span>
                 <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">val</span><span class="p">)</span>
@@ -3580,7 +3724,7 @@
 
     <span class="nd">@classmethod</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">serialize_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">serialize_json</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
 
         <span class="k">if</span> <span class="n">serialize_json</span><span class="p">:</span>
             <span class="n">stored_value</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
@@ -3598,19 +3742,23 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;xcom&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">key</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">512</span><span class="p">))</span>
     <span class="n">value</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">(</span><span class="n">pickler</span><span class="o">=</span><span class="n">dill</span><span class="p">))</span>
     <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span>
-        <span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
-    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+        <span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
 
     <span class="c1"># source information</span>
-    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
-    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+
+    <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;idx_xcom_dag_task_date&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+    <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s1">&#39;&lt;XCom &quot;{key}&quot; ({task_id} @ {execution_date})&gt;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="k">return</span> <span class="s1">&#39;&lt;XCom &quot;</span><span class="si">{key}</span><span class="s1">&quot; (</span><span class="si">{task_id}</span><span class="s1"> @ </span><span class="si">{execution_date}</span><span class="s1">)&gt;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="n">key</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">,</span>
             <span class="n">task_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
             <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
@@ -3624,7 +3772,7 @@
             <span class="n">execution_date</span><span class="p">,</span>
             <span class="n">task_id</span><span class="p">,</span>
             <span class="n">dag_id</span><span class="p">,</span>
-            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Store an XCom value.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -3637,6 +3785,8 @@
             <span class="n">cls</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task_id</span><span class="p">,</span>
             <span class="n">cls</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
 
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
         <span class="c1"># insert new XCom</span>
         <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">XCom</span><span class="p">(</span>
             <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
@@ -3652,11 +3802,11 @@
     <span class="k">def</span> <span class="nf">get_one</span><span class="p">(</span>
             <span class="n">cls</span><span class="p">,</span>
             <span class="n">execution_date</span><span class="p">,</span>
-            <span class="n">key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">task_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Retrieve an XCom value, optionally meeting certain criteria</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -3687,12 +3837,12 @@
     <span class="k">def</span> <span class="nf">get_many</span><span class="p">(</span>
             <span class="n">cls</span><span class="p">,</span>
             <span class="n">execution_date</span><span class="p">,</span>
-            <span class="n">key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">task_ids</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">dag_ids</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">task_ids</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">dag_ids</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="n">limit</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
-            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Retrieve an XCom value, optionally meeting certain criteria</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -3718,17 +3868,81 @@
 
     <span class="nd">@classmethod</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">xcoms</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">xcoms</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">xcoms</span><span class="p">,</span> <span class="n">XCom</span><span class="p">):</span>
             <span class="n">xcoms</span> <span class="o">=</span> <span class="p">[</span><span class="n">xcoms</span><span class="p">]</span>
         <span class="k">for</span> <span class="n">xcom</span> <span class="ow">in</span> <span class="n">xcoms</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">xcom</span><span class="p">,</span> <span class="n">XCom</span><span class="p">):</span>
-                <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;Expected XCom; received {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                                <span class="n">xcom</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+                <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
+                    <span class="s1">&#39;Expected XCom; received </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">xcom</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">)</span>
+                <span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">xcom</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
 
+<span class="k">class</span> <span class="nc">DagStat</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;dag_stats&quot;</span>
+
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">state</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">count</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+    <span class="n">dirty</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">dirty</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">count</span> <span class="o">=</span> <span class="n">count</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dirty</span> <span class="o">=</span> <span class="n">dirty</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">set_dirty</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagStat</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagStat</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">):</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">dirty</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">clean_dirty</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Cleans out the dirty/out-of-sync rows from dag_stats table</span>
+
+<span class="sd">        :param dag_ids: dag_ids that may be dirty</span>
+<span class="sd">        :type dag_ids: list</span>
+<span class="sd">        :param full_query: whether to check dag_runs for new drs not in dag_stats</span>
+<span class="sd">        :type full_query: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># avoid querying with an empty IN clause</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dag_ids</span><span class="p">:</span>
+            <span class="k">return</span>
+
+        <span class="n">dag_ids</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">)</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagStat</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">and_</span><span class="p">(</span><span class="n">DagStat</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">),</span> <span class="n">DagStat</span><span class="o">.</span><span class="n">dirty</span> <span class="o">==</span> <span class="kc">True</span><s [...]
+        <span class="p">)</span>
+
+        <span class="n">dirty_ids</span> <span class="o">=</span> <span class="p">{</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">qry</span><span class="o">.</span><span class="n">all</span><span class="p">()}</span>
+        <span class="n">qry</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">synchronize_session</span><span class="o">=</span><span class="s1">&#39;fetch&#39;</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+        <span class="c1"># avoid querying with an empty IN clause</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dirty_ids</span><span class="p">:</span>
+            <span class="k">return</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">state</span><span class="p">,</span> <span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">dirty_ids</span><span class="p">))</span>
+            <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">state</span><span class="p">)</span>
+        <span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">count</span> <span class="ow">in</span> <span class="n">qry</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">DagStat</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">state</span><span class="p">,</span> <span class="n">count</span><span class="o">=</span><span class="n">count</span><span class="p">))</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+
 <span class="k">class</span> <span class="nc">DagRun</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    DagRun describes an instance of a Dag. It can be created</span>
@@ -3737,59 +3951,78 @@
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;dag_run&quot;</span>
 
     <span class="n">ID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;scheduled__&#39;</span>
-    <span class="n">ID_FORMAT_PREFIX</span> <span class="o">=</span> <span class="n">ID_PREFIX</span> <span class="o">+</span> <span class="s1">&#39;{0}&#39;</span>
+    <span class="n">ID_FORMAT_PREFIX</span> <span class="o">=</span> <span class="n">ID_PREFIX</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="si">{0}</span><span class="s1">&#39;</span>
+    <span class="n">DEADLOCK_CHECK_DEP_CONTEXT</span> <span class="o">=</span> <span class="n">DepContext</span><span class="p">(</span><span class="n">ignore_in_retry_period</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
     <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
     <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
     <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
-    <span class="n">state</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+    <span class="n">_state</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;state&#39;</span><span class="p">,</span> <span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
     <span class="n">run_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
-    <span class="n">external_trigger</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">external_trigger</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">conf</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">)</span>
 
-    <span class="n">dag</span> <span class="o">=</span> <span class="bp">None</span>
+    <span class="n">dag</span> <span class="o">=</span> <span class="kc">None</span>
 
     <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
-        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;dr_run_id&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">run_id</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;dr_run_id&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">run_id</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
     <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">(</span>
-            <span class="s1">&#39;&lt;DagRun {dag_id} @ {execution_date}: {run_id}, &#39;</span>
-            <span class="s1">&#39;externally triggered: {external_trigger}&gt;&#39;</span>
+            <span class="s1">&#39;&lt;DagRun </span><span class="si">{dag_id}</span><span class="s1"> @ </span><span class="si">{execution_date}</span><span class="s1">: </span><span class="si">{run_id}</span><span class="s1">, &#39;</span>
+            <span class="s1">&#39;externally triggered: </span><span class="si">{external_trigger}</span><span class="s1">&gt;&#39;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
             <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
             <span class="n">run_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">,</span>
             <span class="n">external_trigger</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">external_trigger</span><span class="p">)</span>
 
+    <span class="k">def</span> <span class="nf">get_state</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_state</span>
+
+    <span class="k">def</span> <span class="nf">set_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_state</span> <span class="o">!=</span> <span class="n">state</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_state</span> <span class="o">=</span> <span class="n">state</span>
+            <span class="c1"># something really weird goes on here: if you try to close the session</span>
+            <span class="c1"># dag runs will end up detached</span>
+            <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+            <span class="n">DagStat</span><span class="o">.</span><span class="n">set_dirty</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+    <span class="nd">@declared_attr</span>
+    <span class="k">def</span> <span class="nf">state</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">synonym</span><span class="p">(</span><span class="s1">&#39;_state&#39;</span><span class="p">,</span>
+                       <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_state</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">))</span>
+
     <span class="nd">@classmethod</span>
     <span class="k">def</span> <span class="nf">id_for_date</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">ID_FORMAT_PREFIX</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">prefix</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">19</span><span class="p">])</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Reloads the current dagrun from the database</span>
 <span class="sd">        :param session: database session</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">DR</span> <span class="o">=</span> <span class="n">DagRun</span>
 
+        <span class="n">exec_date</span> <span class="o">=</span> <span class="n">func</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span> <span class="n">DateTime</span><span class="p">)</span>
+
         <span class="n">dr</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
             <span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
-            <span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">func</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span> <span class="n">DateTime</span><span class="p">)</span> <span class="o">==</span> <span class="n">exec_date</span><span class="p">,</span>
             <span class="n">DR</span><span class="o">.</span><span class="n">run_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span>
         <span class="p">)</span><span class="o">.</span><span class="n">one</span><span class="p">()</span>
-        <span class="k">if</span> <span class="n">dr</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">id</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">state</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">state</span>
 
     <span class="nd">@staticmethod</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-             <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">external_trigger</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">execution_date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+             <span class="n">state</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">external_trigger</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a set of dag runs for the given search criteria.</span>
 <span class="sd">        :param dag_id: the dag_id to find dag runs for</span>
@@ -3813,7 +4046,10 @@
         <span class="k">if</span> <span class="n">run_id</span><span class="p">:</span>
             <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">run_id</span> <span class="o">==</span> <span class="n">run_id</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">execution_date</span><span class="p">:</span>
-            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">execution_date</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
+                <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">execution_date</span><span class="p">))</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
             <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">state</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">external_trigger</span><span class="p">:</span>
@@ -3824,7 +4060,7 @@
         <span class="k">return</span> <span class="n">dr</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns the task instances for this dag run</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -3838,10 +4074,10 @@
                 <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">state</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="c1"># this is required to deal with NULL values</span>
-                <span class="k">if</span> <span class="bp">None</span> <span class="ow">in</span> <span class="n">state</span><span class="p">:</span>
-                    <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">or_</span><span class="p">(</span>
-                        <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">),</span>
-                        <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">is_</span><span class="p">(</span><span class="bp">None</span><span class="p">))</span>
+                <span class="k">if</span> <span class="kc">None</span> <span class="ow">in</span> <span class="n">state</span><span class="p">:</span>
+                    <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                        <span class="n">or_</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">),</span>
+                            <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">is_</span><span class="p">(</span><span class="kc">None</span><span class="p">))</span>
                     <span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
                     <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">))</span>
@@ -3849,7 +4085,7 @@
         <span class="k">return</span> <span class="n">tis</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">get_task_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_task_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns the task instance specified by task_id for this dag run</span>
 <span class="sd">        :param task_id: the task id</span>
@@ -3866,18 +4102,39 @@
 
     <span class="k">def</span> <span class="nf">get_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns the Dag associated with this DagRun</span>
-<span class="sd">        :param session: database session</span>
+<span class="sd">        Returns the Dag associated with this DagRun.</span>
+
 <span class="sd">        :return: DAG</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The DAG (.dag) for {} needs to be set&quot;</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The DAG (.dag) for </span><span class="si">{}</span><span class="s2"> needs to be set&quot;</span>
                                    <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
 
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">update_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_previous_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;The previous DagRun, if there is one&quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">desc</span><span class="p">()</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_previous_scheduled_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;The previous, SCHEDULED DagRun, if there is one&quot;&quot;&quot;</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dag</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">update_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Determines the overall state of the DagRun based on the state</span>
 <span class="sd">        of its TaskInstances.</span>
@@ -3887,10 +4144,10 @@
         <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dag</span><span class="p">()</span>
         <span class="n">tis</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_task_instances</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Updating state for {} considering {} task(s)&quot;</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Updating state for </span><span class="si">{}</span><span class="s2"> considering </span><span class="si">{}</span><span class="s2"> task(s)&quot;</span>
                      <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">tis</span><span class="p">)))</span>
 
-        <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
+        <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">tis</span><span class="p">):</span>
             <span class="c1"># skip in db?</span>
             <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span><span class="p">:</span>
                 <span class="n">tis</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
@@ -3905,38 +4162,42 @@
             <span class="n">session</span><span class="o">=</span><span class="n">session</span>
         <span class="p">)</span>
         <span class="n">none_depends_on_past</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
-
         <span class="c1"># small speed up</span>
         <span class="k">if</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span> <span class="n">none_depends_on_past</span><span class="p">:</span>
             <span class="c1"># todo: this can actually get pretty slow: one task costs between 0.01-015s</span>
-            <span class="n">no_dependencies_met</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
-                                      <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
+            <span class="n">no_dependencies_met</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span>
+                <span class="c1"># Use a special dependency context that ignores task&#39;s up for retry</span>
+                <span class="c1"># dependency, since a task that is up for retry is not necessarily</span>
+                <span class="c1"># deadlocked.</span>
+                <span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span><span class="n">dep_context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">DEADLOCK_CHECK_DEP_CONTEXT</span><span class="p">,</span>
+                                           <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+                <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
 
         <span class="n">duration</span> <span class="o">=</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">start_dttm</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">*</span> <span class="mi">1000</span>
-        <span class="n">Stats</span><span class="o">.</span><span class="n">timing</span><span class="p">(</span><span class="s2">&quot;dagrun.dependency-check.{}.{}&quot;</span><span class="o">.</span>
-                     <span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span> <span class="n">duration</span><span class="p">)</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">timing</span><span class="p">(</span><span class="s2">&quot;dagrun.dependency-check.</span><span class="si">{}</span><span class="s2">.</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span>
+                     <span class="nb">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span> <span class="n">duration</span><span class="p">)</span>
 
         <span class="c1"># future: remove the check on adhoc tasks (=active_tasks)</span>
         <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tis</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">active_tasks</span><span class="p">):</span>
-            <span class="c1"># if any roots failed, the run failed</span>
             <span class="n">root_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">roots</span><span class="p">]</span>
             <span class="n">roots</span> <span class="o">=</span> <span class="p">[</span><span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">tis</span> <span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="n">root_ids</span><span class="p">]</span>
 
-            <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span>  <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">)</span>
-                   <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">roots</span><span class="p">):</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run {} failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+            <span class="c1"># if all roots finished and at least on failed, the run failed</span>
+            <span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span>
+                    <span class="nb">any</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">)</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in< [...]
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run </span><span class="si">{}</span><span class="s1"> failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
 
             <span class="c1"># if all roots succeeded, the run succeeded</span>
             <span class="k">elif</span> <span class="nb">all</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">)</span>
                      <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">roots</span><span class="p">):</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run {} successful&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run </span><span class="si">{}</span><span class="s1"> successful&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
 
             <span class="c1"># if *all tasks* are deadlocked, the run failed</span>
             <span class="k">elif</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span> <span class="n">none_depends_on_past</span> <span class="ow">and</span> <span class="n">no_dependencies_met</span><span class="p">:</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                    <span class="s1">&#39;Deadlock; marking run {} failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                    <span class="s1">&#39;Deadlock; marking run </span><span class="si">{}</span><span class="s1"> failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
 
             <span class="c1"># finally, if the roots aren&#39;t done, the dag is still running</span>
@@ -3950,7 +4211,7 @@
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span>
 
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">verify_integrity</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">verify_integrity</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Verifies the DagRun by checking for removed tasks or tasks that are not in the</span>
 <span class="sd">        database yet. It will set state to removed or add the task if required.</span>
@@ -4012,17 +4273,24 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
             <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">,</span>
-            <span class="n">DagRun</span><span class="o">.</span><span class="n">external_trigger</span> <span class="o">==</span> <span class="bp">False</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">external_trigger</span> <span class="o">==</span> <span class="kc">False</span><span class="p">,</span>
             <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">,</span>
         <span class="p">)</span>
         <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
 
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_backfill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="s2">&quot;backfill&quot;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">True</span>
+
+        <span class="k">return</span> <span class="kc">False</span>
+
 
 <span class="k">class</span> <span class="nc">Pool</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;slot_pool&quot;</span>
 
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">pool</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">pool</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">slots</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
     <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
 
@@ -4062,7 +4330,8 @@
 <span class="sd">        Returns the number of slots open at the moment</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">used_slots</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">used_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">slots</span> <span class="o">-</span> <span class="n">used_slots</span>
+        <span class="n">queued_slots</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">queued_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">slots</span> <span class="o">-</span> <span class="n">used_slots</span> <span class="o">-</span> <span class="n">queued_slots</span>
 
 
 <span class="k">class</span> <span class="nc">SlaMiss</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
@@ -4073,13 +4342,13 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;sla_miss&quot;</span>
 
-    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="n">email_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+    <span class="n">email_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
     <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
-    <span class="n">notification_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">notification_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">str</span><span class="p">((</span>
@@ -4088,13 +4357,16 @@
 
 <span class="k">class</span> <span class="nc">ImportError</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;import_error&quot;</span>
-    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="n">filename</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1024</span><span class="p">))</span>
     <span class="n">stacktrace</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -4127,7 +4399,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../_static/jquery.js"></script>
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
index 3b716d3..6d51369 100644
--- a/_modules/airflow/operators/sensors.html
+++ b/_modules/airflow/operators/sensors.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
         <link rel="up" title="Module code" href="../../index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../../../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../../../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="../../index.html">Module code</a> &raquo;</li>
-      
-    <li>airflow.operators.sensors</li>
+        
+      <li>airflow.operators.sensors</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,24 +176,27 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
-<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
 
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
-<span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="k">import</span> <span class="n">sleep</span>
+<span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="kn">import</span> <span class="nn">airflow</span>
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">DB</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hdfs_hook</span> <span class="k">import</span> <span class="n">HDFSHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="BaseSensorOperator"><a class="viewcode-back" href="../../../code.html#airflow.operators.sensors.BaseSensorOperator">[docs]</a><span class="k">class</span> <span class="nc">BaseSensorOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -193,7 +221,7 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="p">,</span>
             <span class="n">timeout</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">24</span><span class="o">*</span><span class="mi">7</span><span class="p">,</span>
-            <span class="n">soft_fail</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">soft_fail</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span> <span class="o">=</span> <span class="n">poke_interval</span>
@@ -245,13 +273,13 @@
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
         <span class="n">records</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">records</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
+            <span class="k">return</span> <span class="kc">False</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;0&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">,):</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">True</span>
-            <span class="k">print</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
+                <span class="k">return</span> <span class="kc">True</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
 
 
 <span class="k">class</span> <span class="nc">MetastorePartitionSensor</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">):</span>
@@ -286,13 +314,18 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_name</span> <span class="o">=</span> <span class="n">partition_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="n">table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">mysql_conn_id</span>
+        <span class="c1"># TODO(aoen): We shouldn&#39;t be using SqlSensor here but MetastorePartitionSensor.</span>
+        <span class="c1"># The problem is the way apply_defaults works isn&#39;t compatible with inheritance.</span>
+        <span class="c1"># The inheritance model needs to be reworked in order to support overriding args/</span>
+        <span class="c1"># kwargs with arguments here, then &#39;conn_id&#39; and &#39;sql&#39; can be passed into the</span>
+        <span class="c1"># constructor below and apply_defaults will no longer throw an exception.</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
@@ -301,9 +334,9 @@
 <span class="s2">            LEFT OUTER JOIN TBLS B0 ON A0.TBL_ID = B0.TBL_ID</span>
 <span class="s2">            LEFT OUTER JOIN DBS C0 ON B0.DB_ID = C0.DB_ID</span>
 <span class="s2">            WHERE</span>
-<span class="s2">                B0.TBL_NAME = &#39;{self.table}&#39; AND</span>
-<span class="s2">                C0.NAME = &#39;{self.schema}&#39; AND</span>
-<span class="s2">                A0.PART_NAME = &#39;{self.partition_name}&#39;;</span>
+<span class="s2">                B0.TBL_NAME = &#39;</span><span class="si">{self.table}</span><span class="s2">&#39; AND</span>
+<span class="s2">                C0.NAME = &#39;</span><span class="si">{self.schema}</span><span class="s2">&#39; AND</span>
+<span class="s2">                A0.PART_NAME = &#39;</span><span class="si">{self.partition_name}</span><span class="s2">&#39;;</span>
 <span class="s2">            &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
         <span class="k">return</span> <span class="nb">super</span><span class="p">(</span><span class="n">MetastorePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
 
@@ -338,13 +371,13 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">external_dag_id</span><span class="p">,</span>
             <span class="n">external_task_id</span><span class="p">,</span>
-            <span class="n">allowed_states</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">execution_delta</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">execution_date_fn</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">allowed_states</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">execution_delta</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">execution_date_fn</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">ExternalTaskSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span> <span class="o">=</span> <span class="n">allowed_states</span> <span class="ow">or</span> <span class="p">[</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">]</span>
-        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
                 <span class="s1">&#39;Only one of `execution_date` or `execution_date_fn` may&#39;</span>
                 <span class="s1">&#39;be provided to ExternalTaskSensor; not both.&#39;</span><span class="p">)</span>
@@ -364,9 +397,9 @@
 
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for &#39;</span>
-            <span class="s1">&#39;{self.external_dag_id}.&#39;</span>
-            <span class="s1">&#39;{self.external_task_id} on &#39;</span>
-            <span class="s1">&#39;{dttm} ... &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;</span><span class="si">{self.external_dag_id}</span><span class="s1">.&#39;</span>
+            <span class="s1">&#39;</span><span class="si">{self.external_task_id}</span><span class="s1"> on &#39;</span>
+            <span class="s1">&#39;</span><span class="si">{dttm}</span><span class="s1"> ... &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
 
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
@@ -406,22 +439,23 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">partition_names</span><span class="p">,</span>
             <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">,</span>
-            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">3</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">NamedHivePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
             <span class="n">poke_interval</span><span class="o">=</span><span class="n">poke_interval</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
 
+    <span class="nd">@classmethod</span>
     <span class="k">def</span> <span class="nf">parse_partition_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partition</span><span class="p">):</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
             <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="n">table_partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
             <span class="k">return</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span>
         <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
@@ -430,7 +464,7 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
 
         <span class="k">def</span> <span class="nf">poke_partition</span><span class="p">(</span><span class="n">partition</span><span class="p">):</span>
@@ -438,7 +472,7 @@
             <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition</span><span class="p">)</span>
 
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s1">&#39;Poking for {schema}.{table}/{partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+                <span class="s1">&#39;Poking for </span><span class="si">{schema}</span><span class="s1">.</span><span class="si">{table}</span><span class="s1">/</span><span class="si">{partition}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
             <span class="p">)</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span>
                 <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="p">)</span>
@@ -447,9 +481,9 @@
             <span class="k">if</span> <span class="n">poke_partition</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span><span class="p">]):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">+=</span> <span class="mi">1</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
 
-        <span class="k">return</span> <span class="bp">True</span>
+        <span class="k">return</span> <span class="kc">True</span>
 
 
 <span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
@@ -496,10 +530,10 @@
         <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for table {self.schema}.{self.table}, &#39;</span>
-            <span class="s1">&#39;partition {self.partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;Poking for table </span><span class="si">{self.schema}</span><span class="s1">.</span><span class="si">{self.table}</span><span class="s1">, &#39;</span>
+            <span class="s1">&#39;partition </span><span class="si">{self.partition}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span>
@@ -510,29 +544,77 @@
 <span class="sd">    Waits for a file or folder to land in HDFS</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#4d9de0&#39;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">WEB_COLORS</span><span class="p">[</span><span class="s1">&#39;LIGHTBLUE&#39;</span><span class="p">]</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">filepath</span><span class="p">,</span>
             <span class="n">hdfs_conn_id</span><span class="o">=</span><span class="s1">&#39;hdfs_default&#39;</span><span class="p">,</span>
+            <span class="n">ignored_ext</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;_COPYING_&#39;</span><span class="p">],</span>
+            <span class="n">ignore_copying</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">file_size</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">hook</span><span class="o">=</span><span class="n">HDFSHook</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">HdfsSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">filepath</span> <span class="o">=</span> <span class="n">filepath</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span> <span class="o">=</span> <span class="n">hdfs_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_size</span> <span class="o">=</span> <span class="n">file_size</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ignored_ext</span> <span class="o">=</span> <span class="n">ignored_ext</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ignore_copying</span> <span class="o">=</span> <span class="n">ignore_copying</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hook</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">filter_for_filesize</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Will test the filepath result and test if its size is at least self.filesize</span>
+<span class="sd">        :param result: a list of dicts returned by Snakebite ls</span>
+<span class="sd">        :param size: the file size in MB a file should be at least to trigger True</span>
+<span class="sd">        :return: (bool) depending on the matching criteria</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">size</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Filtering for file size &gt;= </span><span class="si">%s</span><span class="s1"> in files: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">: [...]
+            <span class="n">size</span> <span class="o">*=</span> <span class="n">settings</span><span class="o">.</span><span class="n">MEGABYTE</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">if</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;length&#39;</span><span class="p">]</span> <span class="o">&gt;=</span> <span class="n">size</span><span class="p">]</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: after size filter result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">filter_for_ignored_ext</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">ignored_ext</span><span class="p">,</span> <span class="n">ignore_copying</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Will filter if instructed to do so the result to remove matching criteria</span>
+<span class="sd">        :param result: (list) of dicts returned by Snakebite ls</span>
+<span class="sd">        :param ignored_ext: (list) of ignored extentions</span>
+<span class="sd">        :param ignore_copying: (bool) shall we ignore ?</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">ignore_copying</span><span class="p">:</span>
+            <span class="n">regex_builder</span> <span class="o">=</span> <span class="s2">&quot;^.*\.(</span><span class="si">%s</span><span class="s2">$)$&quot;</span> <span class="o">%</span> <span class="s1">&#39;$|&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">ignored_ext</span><span class="p">)</span>
+            <span class="n">ignored_extentions_regex</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">regex_builder</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Filtering result for ignored extentions: </span><span class="si">%s</span><span class="s1"> in files </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">ignored_extentions_regex</span><span class="o">.</span><span class="n">pattern</span><span class="p">,</span>
+                          <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;path&#39;</span><span class="p">],</span> <span class="n">result</span><span class="p">))</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">ignored_extentions_regex</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="s1">&#39;path&#39;</span><spa [...]
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: after ext filter result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="kn">import</span> <span class="nn">airflow.hooks.hdfs_hook</span>
-        <span class="n">sb</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hdfs_hook</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">sb</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;snakebite&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">WARNING</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for file </span><span class="si">{self.filepath}</span><span class="s1"> &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">sb</span><span class="o">.</span><span class="n">ls</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">])]</span>
+            <span class="c1"># IMOO it&#39;s not right here, as there no raise of any kind.</span>
+            <span class="c1"># if the filepath is let&#39;s say &#39;/data/mydirectory&#39;, it&#39;s correct but if it is &#39;/data/mydirectory/*&#39;,</span>
+            <span class="c1"># it&#39;s not correct as the directory exists and sb does not raise any error</span>
+            <span class="c1"># here is a quick fix</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">sb</span><span class="o">.</span><span class="n">ls</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">],</span> <span class="n">include_toplevel</span><span class="o">=</span><span class="kc">False</sp [...]
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filter_for_ignored_ext</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignored_ext</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignore_copying</span><span class="p">)</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filter_for_filesize</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_size</span><span class="p">)</span>
+            <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
         <span class="k">except</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="k">return</span> <span class="bp">True</span>
+            <span class="n">e</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Caught an exception !: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">False</span>
 
 
 <span class="k">class</span> <span class="nc">WebHdfsSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
@@ -554,7 +636,7 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">c</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">webhdfs_hook</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;Poking for file </span><span class="si">{self.filepath}</span><span class="s1"> &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">return</span> <span class="n">c</span><span class="o">.</span><span class="n">check_for_path</span><span class="p">(</span><span class="n">hdfs_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
 
 
@@ -580,17 +662,13 @@
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">bucket_key</span><span class="p">,</span>
-            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">wildcard_match</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">wildcard_match</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">S3KeySensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
         <span class="c1"># Parse</span>
-        <span class="k">if</span> <span class="n">bucket_name</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">bucket_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">bucket_key</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket_name&#39;</span><span class="p">)</span>
@@ -604,14 +682,12 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span> <span class="o">=</span> <span class="n">bucket_key</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span> <span class="o">=</span> <span class="n">wildcard_match</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : {full_url}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : </span><span class="si">{full_url}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span><span class="p">,</span>
                                                <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span><span class="p">)</span>
@@ -645,22 +721,16 @@
             <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">S3PrefixSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
         <span class="c1"># Parse</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">=</span> <span class="n">bucket_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span> <span class="o">=</span> <span class="n">delimiter</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="n">bucket_name</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">prefix</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : {self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
-                     <span class="s1">&#39;in bucket s3://{self.bucket_name}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : </span><span class="si">{self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
+                     <span class="s1">&#39;in bucket s3://</span><span class="si">{self.bucket_name}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
@@ -685,7 +755,7 @@
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_time</span><span class="p">))</span>
+            <span class="s1">&#39;Checking if the time (</span><span class="si">{0}</span><span class="s1">) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_time</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">target_time</span>
 
 
@@ -710,7 +780,7 @@
         <span class="n">dag</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;dag&#39;</span><span class="p">]</span>
         <span class="n">target_dttm</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">following_schedule</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">])</span>
         <span class="n">target_dttm</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">delta</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_dttm</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking if the time (</span><span class="si">{0}</span><span class="s1">) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_dttm</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">target_dttm</span>
 
 
@@ -736,16 +806,16 @@
 <span class="sd">        depends on the option that&#39;s being modified.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">)</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">endpoint</span><span class="p">,</span>
                  <span class="n">http_conn_id</span><span class="o">=</span><span class="s1">&#39;http_default&#39;</span><span class="p">,</span>
-                 <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">headers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">response_check</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">extra_options</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+                 <span class="n">params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">response_check</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">HttpSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span> <span class="o">=</span> <span class="n">endpoint</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
@@ -768,14 +838,17 @@
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">AirflowException</span> <span class="k">as</span> <span class="n">ae</span><span class="p">:</span>
             <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">ae</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
 
             <span class="k">raise</span> <span class="n">ae</span>
 
-        <span class="k">return</span> <span class="bp">True</span>
+        <span class="k">return</span> <span class="kc">True</span>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -808,7 +881,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../../../_static/jquery.js"></script>
diff --git a/_modules/bash_operator.html b/_modules/bash_operator.html
index 9877b4a..045c47e 100644
--- a/_modules/bash_operator.html
+++ b/_modules/bash_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>bash_operator</li>
+        
+      <li>bash_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -152,15 +177,17 @@
 <span class="c1"># limitations under the License.</span>
 
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">bytes</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">signal</span>
 <span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">from</span> <span class="nn">subprocess</span> <span class="kn">import</span> <span class="n">Popen</span><span class="p">,</span> <span class="n">STDOUT</span><span class="p">,</span> <span class="n">PIPE</span>
-<span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">gettempdir</span><span class="p">,</span> <span class="n">NamedTemporaryFile</span>
+<span class="kn">from</span> <span class="nn">subprocess</span> <span class="k">import</span> <span class="n">Popen</span><span class="p">,</span> <span class="n">STDOUT</span><span class="p">,</span> <span class="n">PIPE</span>
+<span class="kn">from</span> <span class="nn">tempfile</span> <span class="k">import</span> <span class="n">gettempdir</span><span class="p">,</span> <span class="n">NamedTemporaryFile</span>
 
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.file</span> <span class="kn">import</span> <span class="n">TemporaryDirectory</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.file</span> <span class="k">import</span> <span class="n">TemporaryDirectory</span>
 
 
 <div class="viewcode-block" id="BashOperator"><a class="viewcode-back" href="../code.html#airflow.operators.BashOperator">[docs]</a><span class="k">class</span> <span class="nc">BashOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -188,8 +215,8 @@
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">bash_command</span><span class="p">,</span>
-            <span class="n">xcom_push</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">env</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">xcom_push</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">env</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">output_encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
@@ -214,12 +241,13 @@
                 <span class="n">fname</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">name</span>
                 <span class="n">script_location</span> <span class="o">=</span> <span class="n">tmp_dir</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">fname</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Temporary script &quot;</span>
-                             <span class="s2">&quot;location :{0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">script_location</span><span class="p">))</span>
+                             <span class="s2">&quot;location :</span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">script_location</span><span class="p">))</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running command: &quot;</span> <span class="o">+</span> <span class="n">bash_command</span><span class="p">)</span>
                 <span class="n">sp</span> <span class="o">=</span> <span class="n">Popen</span><span class="p">(</span>
                     <span class="p">[</span><span class="s1">&#39;bash&#39;</span><span class="p">,</span> <span class="n">fname</span><span class="p">],</span>
                     <span class="n">stdout</span><span class="o">=</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stderr</span><span class="o">=</span><span class="n">STDOUT</span><span class="p">,</span>
-                    <span class="n">cwd</span><span class="o">=</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">)</span>
+                    <span class="n">cwd</span><span class="o">=</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">,</span>
+                    <span class="n">preexec_fn</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">setsid</span><span class="p">)</span>
 
                 <span class="bp">self</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">sp</span>
 
@@ -230,7 +258,7 @@
                     <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                 <span class="n">sp</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Command exited with &quot;</span>
-                             <span class="s2">&quot;return code {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+                             <span class="s2">&quot;return code </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
 
                 <span class="k">if</span> <span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Bash command failed&quot;</span><span class="p">)</span>
@@ -239,11 +267,15 @@
             <span class="k">return</span> <span class="n">line</span></div>
 
     <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending SIGTERM signal to bash subprocess&#39;</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span></div>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending SIGTERM signal to bash process group&#39;</span><span class="p">)</span>
+        <span class="n">os</span><span class="o">.</span><span class="n">killpg</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getpgid</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">pid</span><span class="p">),</span> <span class="n">signal</span><span class="o">.</span><span class="n">SIGTERM</span><span class="p">)</span></div>
+
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -276,7 +308,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/dagrun_operator.html b/_modules/dagrun_operator.html
index 1d147e0..ec09c2c 100644
--- a/_modules/dagrun_operator.html
+++ b/_modules/dagrun_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>dagrun_operator</li>
+        
+      <li>dagrun_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,16 +176,18 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">DagRun</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">DagBag</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span> <span class="k">as</span> <span class="n">conf</span>
 
 
 <span class="k">class</span> <span class="nc">DagRunOrder</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">payload</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">payload</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span> <span class="o">=</span> <span class="n">run_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">payload</span> <span class="o">=</span> <span class="n">payload</span>
 
@@ -201,12 +228,14 @@
         <span class="n">dro</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">python_callable</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">dro</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">dro</span><span class="p">:</span>
             <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-            <span class="n">dr</span> <span class="o">=</span> <span class="n">DagRun</span><span class="p">(</span>
-                <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">trigger_dag_id</span><span class="p">,</span>
+            <span class="n">dbag</span> <span class="o">=</span> <span class="n">DagBag</span><span class="p">(</span><span class="n">settings</span><span class="o">.</span><span class="n">DAGS_FOLDER</span><span class="p">)</span>
+            <span class="n">trigger_dag</span> <span class="o">=</span> <span class="n">dbag</span><span class="o">.</span><span class="n">get_dag</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">trigger_dag_id</span><span class="p">)</span>
+            <span class="n">dr</span> <span class="o">=</span> <span class="n">trigger_dag</span><span class="o">.</span><span class="n">create_dagrun</span><span class="p">(</span>
                 <span class="n">run_id</span><span class="o">=</span><span class="n">dro</span><span class="o">.</span><span class="n">run_id</span><span class="p">,</span>
+                <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
                 <span class="n">conf</span><span class="o">=</span><span class="n">dro</span><span class="o">.</span><span class="n">payload</span><span class="p">,</span>
-                <span class="n">external_trigger</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating DagRun {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dr</span><span class="p">))</span>
+                <span class="n">external_trigger</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating DagRun </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dr</span><span class="p">))</span>
             <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">dr</span><span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
             <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
@@ -215,6 +244,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -247,7 +279,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/dbapi_hook.html b/_modules/dbapi_hook.html
index 604dddd..ae37fd3 100644
--- a/_modules/dbapi_hook.html
+++ b/_modules/dbapi_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>dbapi_hook</li>
+        
+      <li>dbapi_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,15 +176,17 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">numpy</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">sys</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="k">import</span> <span class="n">create_engine</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
 
 <div class="viewcode-block" id="DbApiHook"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook">[docs]</a><span class="k">class</span> <span class="nc">DbApiHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
@@ -167,13 +194,13 @@
 <span class="sd">    Abstract base class for sql hooks.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="c1"># Override to provide the connection name.</span>
-    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="bp">None</span>
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="kc">None</span>
     <span class="c1"># Override to have a default connection id for a particular dbHook</span>
     <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;default_conn_id&#39;</span>
     <span class="c1"># Override if this db supports autocommit.</span>
-    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">False</span>
     <span class="c1"># Override with the object that exposes the connect method</span>
-    <span class="n">connector</span> <span class="o">=</span> <span class="bp">None</span>
+    <span class="n">connector</span> <span class="o">=</span> <span class="kc">None</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">:</span>
@@ -195,7 +222,23 @@
             <span class="n">username</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
             <span class="n">schema</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">schema</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="DbApiHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">))</span>
+        <span class="n">login</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+            <span class="n">login</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{conn.login}</span><span class="s1">:</span><span class="si">{conn.password}</span><span class="s1">@&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">)</span>
+        <span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">host</span> <span class="o">+=</span> <span class="s1">&#39;:</span><span class="si">{port}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">port</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">{conn.conn_type}</span><span class="s1">://</span><span class="si">{login}{host}</span><span class="s1">/</span><span class="si">{conn.schema}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">,</span> <span class="n">login</span><span class="o">=</span><span class="n">login</span><span class="p">,</span> <span class="n">host</span><span class="o">=</span><span class="n">host</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_sqlalchemy_engine</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">engine_kwargs</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">engine_kwargs</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">engine_kwargs</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">return</span> <span class="n">create_engine</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_uri</span><span class="p">(),</span> <span class="o">**</span><span class="n">engine_kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DbApiHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns a pandas dataframe</span>
 
@@ -207,13 +250,13 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
-        <span class="kn">import</span> <span class="nn">pandas.io.sql</span> <span class="kn">as</span> <span class="nn">psql</span>
+        <span class="kn">import</span> <span class="nn">pandas.io.sql</span> <span class="k">as</span> <span class="nn">psql</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">df</span> <span class="o">=</span> <span class="n">psql</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">conn</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">parameters</span><span class="p">)</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">df</span></div>
 
-<div class="viewcode-block" id="DbApiHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DbApiHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns a set of records.</span>
 
@@ -227,7 +270,7 @@
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cur</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_cursor</span><span class="p">()</span>
-        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
@@ -236,7 +279,7 @@
         <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">rows</span></div>
 
-<div class="viewcode-block" id="DbApiHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="DbApiHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns the first resulting row.</span>
 
@@ -250,7 +293,7 @@
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
-        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
@@ -259,7 +302,7 @@
         <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">rows</span></div>
 
-<div class="viewcode-block" id="DbApiHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">autocommit</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span cl [...]
+<div class="viewcode-block" id="DbApiHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">autocommit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span cl [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Runs a command or a list of commands. Pass a list of sql</span>
 <span class="sd">        statements to the sql parameter to get them to execute</span>
@@ -275,7 +318,7 @@
 <span class="sd">        :type parameters: mapping or iterable</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
             <span class="n">sql</span> <span class="o">=</span> <span class="p">[</span><span class="n">sql</span><span class="p">]</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">supports_autocommit</span><span class="p">:</span>
@@ -286,7 +329,7 @@
             <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                 <span class="n">s</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
@@ -303,7 +346,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="DbApiHook.insert_rows"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="bp">None</span><span clas [...]
+<div class="viewcode-block" id="DbApiHook.insert_rows"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="kc">None</span><span clas [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        A generic way to insert a set of tuples into a table,</span>
 <span class="sd">        the whole set of inserts is treated as one transaction</span>
@@ -320,22 +363,22 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">target_fields</span><span class="p">:</span>
             <span class="n">target_fields</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">target_fields</span><span class="p">)</span>
-            <span class="n">target_fields</span> <span class="o">=</span> <span class="s2">&quot;({})&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_fields</span><span class="p">)</span>
+            <span class="n">target_fields</span> <span class="o">=</span> <span class="s2">&quot;(</span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_fields</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">target_fields</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">supports_autocommit</span><span class="p">:</span>
-            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">&#39;SET autocommit = 0&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">set_autocommit</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
             <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
             <span class="n">l</span> <span class="o">=</span> <span class="p">[]</span>
             <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">row</span><span class="p">:</span>
-                <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">))</span>
+                <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">conn</span><span class="p">))</span>
             <span class="n">values</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
-            <span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;INSERT INTO {0} {1} VALUES ({2});&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;INSERT INTO </span><span class="si">{0}</span><span class="s2"> </span><span class="si">{1}</span><span class="s2"> VALUES (</span><span class="si">{2}</span><span class="s2">);&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                 <span class="n">table</span><span class="p">,</span>
                 <span class="n">target_fields</span><span class="p">,</span>
                 <span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">values</span><span class="p">))</span>
@@ -343,18 +386,29 @@
             <span class="k">if</span> <span class="n">commit_every</span> <span class="ow">and</span> <span class="n">i</span> <span class="o">%</span> <span class="n">commit_every</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
                 <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                    <span class="s2">&quot;Loaded {i} into {table} rows so far&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+                    <span class="s2">&quot;Loaded </span><span class="si">{i}</span><span class="s2"> into </span><span class="si">{table}</span><span class="s2"> rows so far&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">cur</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s2">&quot;Done loading. Loaded a total of {i} rows&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
+            <span class="s2">&quot;Done loading. Loaded a total of </span><span class="si">{i}</span><span class="s2"> rows&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
 
     <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">):</span>
-        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">conn</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the SQL literal of the cell as a string.</span>
+
+<span class="sd">        :param cell: The cell to insert into the table</span>
+<span class="sd">        :type cell: object</span>
+<span class="sd">        :param conn: The database connection</span>
+<span class="sd">        :type conn: connection object</span>
+<span class="sd">        :return: The serialized cell</span>
+<span class="sd">        :rtype: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
             <span class="k">return</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;&#39;&#39;&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
-        <span class="k">elif</span> <span class="n">cell</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">elif</span> <span class="n">cell</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="k">return</span> <span class="s1">&#39;NULL&#39;</span>
         <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">numpy</span><span class="o">.</span><span class="n">datetime64</span><span class="p">):</span>
             <span class="k">return</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
@@ -387,6 +441,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -419,7 +476,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/dummy_operator.html b/_modules/dummy_operator.html
index a531fd1..a5452a1 100644
--- a/_modules/dummy_operator.html
+++ b/_modules/dummy_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>dummy_operator</li>
+        
+      <li>dummy_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,8 +176,8 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="DummyOperator"><a class="viewcode-back" href="../code.html#airflow.operators.DummyOperator">[docs]</a><span class="k">class</span> <span class="nc">DummyOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -173,6 +198,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -205,7 +233,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/email_operator.html b/_modules/email_operator.html
index 4d91901..ccb6373 100644
--- a/_modules/email_operator.html
+++ b/_modules/email_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>email_operator</li>
+        
+      <li>email_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,9 +176,9 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="kn">import</span> <span class="n">send_email</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="k">import</span> <span class="n">send_email</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="EmailOperator"><a class="viewcode-back" href="../code.html#airflow.operators.EmailOperator">[docs]</a><span class="k">class</span> <span class="nc">EmailOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -185,9 +210,10 @@
             <span class="n">to</span><span class="p">,</span>
             <span class="n">subject</span><span class="p">,</span>
             <span class="n">html_content</span><span class="p">,</span>
-            <span class="n">files</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">cc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">bcc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">files</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">cc</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">bcc</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">mime_subtype</span><span class="o">=</span><span class="s1">&#39;mixed&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">EmailOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">to</span> <span class="o">=</span> <span class="n">to</span>
@@ -196,12 +222,16 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span> <span class="ow">or</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">cc</span> <span class="o">=</span> <span class="n">cc</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bcc</span> <span class="o">=</span> <span class="n">bcc</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mime_subtype</span> <span class="o">=</span> <span class="n">mime_subtype</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">send_email</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">subject</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><s [...]
+        <span class="n">send_email</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">subject</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><s [...]
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -234,7 +264,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/ftp_hook.html b/_modules/ftp_hook.html
index eed5b97..894f72f 100644
--- a/_modules/ftp_hook.html
+++ b/_modules/ftp_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>ftp_hook</li>
+        
+      <li>ftp_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -156,11 +181,11 @@
 <span class="kn">import</span> <span class="nn">ftplib</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">os.path</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
 
 
-<span class="k">def</span> <span class="nf">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">facts</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<span class="k">def</span> <span class="nf">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">facts</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    BACKPORT FROM PYTHON3 FTPLIB.</span>
 
@@ -203,20 +228,20 @@
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;ftp_default&#39;</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span>
 
     <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="bp">self</span>
 
     <span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">close_conn</span><span class="p">()</span>
 
 <div class="viewcode-block" id="FTPHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a FTP connection object</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span cl [...]
 
@@ -247,7 +272,7 @@
             <span class="n">files</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">files</span></div>
 
-<div class="viewcode-block" id="FTPHook.list_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">nlst</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.list_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">nlst</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a list of files on the remote system.</span>
 
@@ -296,7 +321,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
-        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">)</span>
+        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="n">basestring</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
             <span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
@@ -305,9 +330,9 @@
 
         <span class="n">remote_path</span><span class="p">,</span> <span class="n">remote_file_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">)</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">))</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">retrbinary</span><span class="p">(</span><span class="s1">&#39;RETR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished retrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished retrieving file from FTP: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="n">remote_full_path</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
@@ -329,7 +354,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
-        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">)</span>
+        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="n">basestring</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
             <span class="n">input_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
@@ -374,7 +399,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a FTPS connection object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP_TLS</span><span class="p">(</span>
                 <span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span>
@@ -383,6 +408,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -415,7 +443,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/generic_transfer.html b/_modules/generic_transfer.html
index ed7f740..71c5825 100644
--- a/_modules/generic_transfer.html
+++ b/_modules/generic_transfer.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>generic_transfer</li>
+        
+      <li>generic_transfer</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -153,9 +178,9 @@
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 
 
 <div class="viewcode-block" id="GenericTransfer"><a class="viewcode-back" href="../code.html#airflow.operators.GenericTransfer">[docs]</a><span class="k">class</span> <span class="nc">GenericTransfer</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -191,7 +216,7 @@
             <span class="n">destination_table</span><span class="p">,</span>
             <span class="n">source_conn_id</span><span class="p">,</span>
             <span class="n">destination_conn_id</span><span class="p">,</span>
-            <span class="n">preoperator</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">preoperator</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">GenericTransfer</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
@@ -203,7 +228,7 @@
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">source_hook</span> <span class="o">=</span> <span class="n">BaseHook</span><span class="o">.</span><span class="n">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">source_conn_id</span><span class="p">)</span>
 
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Extracting data from {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">source_conn_id</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Extracting data from </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">source_conn_id</span><span class="p">))</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing: </span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
         <span class="n">results</span> <span class="o">=</span> <span class="n">source_hook</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
 
@@ -213,11 +238,14 @@
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">preoperator</span><span class="p">)</span>
             <span class="n">destination_hook</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">preoperator</span><span class="p">)</span>
 
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Inserting rows into {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">destination_conn_id</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Inserting rows into </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">destination_conn_id</span><span class="p">))</span>
         <span class="n">destination_hook</span><span class="o">.</span><span class="n">insert_rows</span><span class="p">(</span><span class="n">table</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">destination_table</span><span class="p">,</span> <span class="n">rows</span><span class="o">=</span><span class="n">results</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -250,7 +278,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/http_hook.html b/_modules/http_hook.html
index b62b0d0..5458ec1 100644
--- a/_modules/http_hook.html
+++ b/_modules/http_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>http_hook</li>
+        
+      <li>http_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,13 +176,13 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">import</span> <span class="nn">requests</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
 
 <div class="viewcode-block" id="HttpHook"><a class="viewcode-back" href="../code.html#airflow.hooks.HttpHook">[docs]</a><span class="k">class</span> <span class="nc">HttpHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
@@ -189,7 +214,7 @@
 
         <span class="k">return</span> <span class="n">session</span></div>
 
-<div class="viewcode-block" id="HttpHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.HttpHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="bp [...]
+<div class="viewcode-block" id="HttpHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.HttpHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="kc [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Performs the request</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -198,7 +223,7 @@
         <span class="n">session</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(</span><span class="n">headers</span><span class="p">)</span>
 
         <span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">base_url</span> <span class="o">+</span> <span class="n">endpoint</span>
-        <span class="n">req</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="n">req</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;GET&#39;</span><span class="p">:</span>
             <span class="c1"># GET uses params</span>
             <span class="n">req</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">Request</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">method</span><span class="p">,</span>
@@ -225,12 +250,12 @@
 
         <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">send</span><span class="p">(</span>
             <span class="n">prepped_request</span><span class="p">,</span>
-            <span class="n">stream</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;stream&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">),</span>
-            <span class="n">verify</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;verify&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">),</span>
+            <span class="n">stream</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;stream&quot;</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
+            <span class="n">verify</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;verify&quot;</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
             <span class="n">proxies</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;proxies&quot;</span><span class="p">,</span> <span class="p">{}),</span>
             <span class="n">cert</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;cert&quot;</span><span class="p">),</span>
             <span class="n">timeout</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;timeout&quot;</span><span class="p">),</span>
-            <span class="n">allow_redirects</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;allow_redirects&quot;</span><span class="p">,</span> <span class="bp">True</span><span class="p">))</span>
+            <span class="n">allow_redirects</span><span class="o">=</span><span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;allow_redirects&quot;</span><span class="p">,</span> <span class="kc">True</span><span class="p">))</span>
 
         <span class="k">try</span><span class="p">:</span>
             <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
@@ -250,6 +275,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -282,7 +310,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/http_operator.html b/_modules/http_operator.html
index 00496c9..a22b710 100644
--- a/_modules/http_operator.html
+++ b/_modules/http_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>http_operator</li>
+        
+      <li>http_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -153,10 +178,10 @@
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="kn">import</span> <span class="n">HttpHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="k">import</span> <span class="n">HttpHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="SimpleHttpOperator"><a class="viewcode-back" href="../code.html#airflow.operators.SimpleHttpOperator">[docs]</a><span class="k">class</span> <span class="nc">SimpleHttpOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -192,11 +217,16 @@
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">endpoint</span><span class="p">,</span>
                  <span class="n">method</span><span class="o">=</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
-                 <span class="n">data</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">headers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">response_check</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">extra_options</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">data</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">response_check</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">xcom_push</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">http_conn_id</span><span class="o">=</span><span class="s1">&#39;http_default&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        If xcom_push is True, response of an HTTP request will also</span>
+<span class="sd">        be pushed to an XCom.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">SimpleHttpOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="n">method</span>
@@ -205,6 +235,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">data</span> <span class="ow">or</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span> <span class="o">=</span> <span class="n">response_check</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span> <span class="o">=</span> <span class="n">extra_options</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push_flag</span> <span class="o">=</span> <span class="n">xcom_push</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">http</span> <span class="o">=</span> <span class="n">HttpHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">method</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span><span class="p">)</span>
@@ -215,10 +246,15 @@
                             <span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Response check returned False.&quot;</span><span class="p">)</span></div>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Response check returned False.&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push_flag</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">text</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -251,7 +287,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/index.html b/_modules/index.html
index d40ab64..b1faeb5 100644
--- a/_modules/index.html
+++ b/_modules/index.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/> 
 
   
@@ -39,6 +42,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -89,6 +93,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -103,8 +109,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -117,81 +125,72 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
-    <li>Overview: module code</li>
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
+      <li>Overview: module code</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
   <h1>All modules for which code is available</h1>
-<ul><li><a href="S3_hook.html">S3_hook</a></li>
-<li><a href="airflow/contrib/executors/mesos_executor.html">airflow.contrib.executors.mesos_executor</a></li>
-<li><a href="airflow/contrib/hooks/gcs_hook.html">airflow.contrib.hooks.gcs_hook</a></li>
-<li><a href="airflow/contrib/operators/bigquery_operator.html">airflow.contrib.operators.bigquery_operator</a></li>
-<li><a href="airflow/contrib/operators/bigquery_to_gcs.html">airflow.contrib.operators.bigquery_to_gcs</a></li>
-<li><a href="airflow/contrib/operators/gcs_download_operator.html">airflow.contrib.operators.gcs_download_operator</a></li>
+<ul><li><a href="airflow/contrib/executors/mesos_executor.html">airflow.contrib.executors.mesos_executor</a></li>
 <li><a href="airflow/contrib/operators/hipchat_operator.html">airflow.contrib.operators.hipchat_operator</a></li>
-<li><a href="airflow/executors/celery_executor.html">airflow.executors.celery_executor</a></li>
 <li><a href="airflow/executors/local_executor.html">airflow.executors.local_executor</a></li>
 <li><a href="airflow/executors/sequential_executor.html">airflow.executors.sequential_executor</a></li>
 <li><a href="airflow/macros.html">airflow.macros</a></li>
 <ul><li><a href="airflow/macros/hive.html">airflow.macros.hive</a></li>
 </ul><li><a href="airflow/models.html">airflow.models</a></li>
-<li><a href="airflow/operators/docker_operator.html">airflow.operators.docker_operator</a></li>
 <li><a href="airflow/operators/sensors.html">airflow.operators.sensors</a></li>
 <li><a href="bash_operator.html">bash_operator</a></li>
-<li><a href="bigquery_hook.html">bigquery_hook</a></li>
-<li><a href="cloudant_hook.html">cloudant_hook</a></li>
 <li><a href="dagrun_operator.html">dagrun_operator</a></li>
 <li><a href="dbapi_hook.html">dbapi_hook</a></li>
-<li><a href="druid_hook.html">druid_hook</a></li>
 <li><a href="dummy_operator.html">dummy_operator</a></li>
 <li><a href="email_operator.html">email_operator</a></li>
 <li><a href="ftp_hook.html">ftp_hook</a></li>
-<li><a href="gcs_hook.html">gcs_hook</a></li>
 <li><a href="generic_transfer.html">generic_transfer</a></li>
-<li><a href="hive_hooks.html">hive_hooks</a></li>
-<li><a href="hive_operator.html">hive_operator</a></li>
-<li><a href="hive_to_druid.html">hive_to_druid</a></li>
-<li><a href="hive_to_mysql.html">hive_to_mysql</a></li>
-<li><a href="hive_to_samba_operator.html">hive_to_samba_operator</a></li>
 <li><a href="http_hook.html">http_hook</a></li>
 <li><a href="http_operator.html">http_operator</a></li>
-<li><a href="mssql_hook.html">mssql_hook</a></li>
-<li><a href="mssql_operator.html">mssql_operator</a></li>
-<li><a href="mssql_to_hive.html">mssql_to_hive</a></li>
 <li><a href="mysql_hook.html">mysql_hook</a></li>
 <li><a href="mysql_operator.html">mysql_operator</a></li>
-<li><a href="mysql_to_hive.html">mysql_to_hive</a></li>
-<li><a href="postgres_hook.html">postgres_hook</a></li>
-<li><a href="postgres_operator.html">postgres_operator</a></li>
 <li><a href="presto_check_operator.html">presto_check_operator</a></li>
 <li><a href="presto_hook.html">presto_hook</a></li>
 <li><a href="python_operator.html">python_operator</a></li>
-<li><a href="qubole_operator.html">qubole_operator</a></li>
-<li><a href="s3_to_hive_operator.html">s3_to_hive_operator</a></li>
 <li><a href="sensors.html">sensors</a></li>
-<li><a href="slack_operator.html">slack_operator</a></li>
 <li><a href="sqlite_hook.html">sqlite_hook</a></li>
 <li><a href="ssh_execute_operator.html">ssh_execute_operator</a></li>
 <li><a href="ssh_hook.html">ssh_hook</a></li>
-<li><a href="vertica_hook.html">vertica_hook</a></li>
-<li><a href="vertica_operator.html">vertica_operator</a></li>
-<li><a href="vertica_to_hive.html">vertica_to_hive</a></li>
-<li><a href="webhdfs_hook.html">webhdfs_hook</a></li>
 </ul>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -224,7 +223,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/mysql_hook.html b/_modules/mysql_hook.html
index a07aeb2..8c0c5c9 100644
--- a/_modules/mysql_hook.html
+++ b/_modules/mysql_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>mysql_hook</li>
+        
+      <li>mysql_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -154,21 +179,25 @@
 <span class="kn">import</span> <span class="nn">MySQLdb</span>
 <span class="kn">import</span> <span class="nn">MySQLdb.cursors</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
 
 
 <div class="viewcode-block" id="MySqlHook"><a class="viewcode-back" href="../code.html#airflow.hooks.MySqlHook">[docs]</a><span class="k">class</span> <span class="nc">MySqlHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
+    <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with MySQL.</span>
 
 <span class="sd">    You can specify charset in the extra field of your connection</span>
 <span class="sd">    as ``{&quot;charset&quot;: &quot;utf8&quot;}``. Also you can choose cursor as</span>
 <span class="sd">    ``{&quot;cursor&quot;: &quot;SSCursor&quot;}``. Refer to the MySQLdb.cursors for more details.</span>
-<span class="sd">    &#39;&#39;&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;mysql_conn_id&#39;</span>
     <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;mysql_default&#39;</span>
-    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="bp">True</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">True</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">MySqlHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;schema&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
 
 <div class="viewcode-block" id="MySqlHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.MySqlHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -177,31 +206,30 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">)</span>
         <span class="n">conn_config</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s2">&quot;user&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
-            <span class="s2">&quot;passwd&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
+            <span class="s2">&quot;passwd&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;host&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span> <span class="ow">or</span> <span class="s1">&#39;localhost&#39;</span><span class="p">,</span>
+            <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
         <span class="p">}</span>
 
-        <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;host&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span> <span class="ow">or</span> <span class="s1">&#39;localhost&#39;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;port&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3306</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;port&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
 
-        <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;db&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
-
-        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;charset&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;charset&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">]</span>
             <span class="k">if</span> <span class="p">(</span><span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;utf8&#39;</span> <span class="ow">or</span>\
                     <span class="p">(</span><span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">:</span>
-                <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;use_unicode&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;cursor&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
+                <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;use_unicode&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;cursor&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
             <span class="k">if</span> <span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;cursor&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;sscursor&#39;</span><span class="p">:</span>
                 <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;cursorclass&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">MySQLdb</span><span class="o">.</span><span class="n">cursors</span><span class="o">.</span><span class="n">SSCursor</span>
             <span class="k">elif</span> <span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;cursor&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;dictcursor&#39;</span><span class="p">:</span>
                 <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;cursorclass&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">MySQLdb</span><span class="o">.</span><span class="n">cursors</span><span class="o">.</span><span class="n">DictCursor</span>
             <span class="k">elif</span> <span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;cursor&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;ssdictcursor&#39;</span><span class="p">:</span>
                 <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;cursorclass&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">MySQLdb</span><span class="o">.</span><span class="n">cursors</span><span class="o">.</span><span class="n">SSDictCursor</span>
-        <span class="n">local_infile</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;local_infile&#39;</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ssl&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
+        <span class="n">local_infile</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;local_infile&#39;</span><span class="p">,</span><span class="kc">False</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ssl&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s1">&#39;ssl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;ssl&#39;</span><span class="p">]</span>
         <span class="k">if</span> <span class="n">local_infile</span><span class="p">:</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;local_infile&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
@@ -215,13 +243,31 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s2">&quot;&quot;&quot;</span>
-<span class="s2">            LOAD DATA LOCAL INFILE &#39;{tmp_file}&#39;</span>
-<span class="s2">            INTO TABLE {table}</span>
+<span class="s2">            LOAD DATA LOCAL INFILE &#39;</span><span class="si">{tmp_file}</span><span class="s2">&#39;</span>
+<span class="s2">            INTO TABLE </span><span class="si">{table}</span><span class="s2"></span>
 <span class="s2">            &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
-        <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div></div>
+        <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">conn</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the MySQL literal of the cell as a string.</span>
+
+<span class="sd">        :param cell: The cell to insert into the table</span>
+<span class="sd">        :type cell: object</span>
+<span class="sd">        :param conn: The database connection</span>
+<span class="sd">        :type conn: connection object</span>
+<span class="sd">        :return: The serialized cell</span>
+<span class="sd">        :rtype: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="n">conn</span><span class="o">.</span><span class="n">literal</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -254,7 +300,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/mysql_operator.html b/_modules/mysql_operator.html
index a1fc11a..09a5aab 100644
--- a/_modules/mysql_operator.html
+++ b/_modules/mysql_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>mysql_operator</li>
+        
+      <li>mysql_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -153,9 +178,9 @@
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="k">import</span> <span class="n">MySqlHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="MySqlOperator"><a class="viewcode-back" href="../code.html#airflow.operators.MySqlOperator">[docs]</a><span class="k">class</span> <span class="nc">MySqlOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -168,6 +193,8 @@
 <span class="sd">    :type sql: Can receive a str representing a sql statement,</span>
 <span class="sd">        a list of str (sql statements), or reference to a template file.</span>
 <span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;</span>
+<span class="sd">    :param database: name of database which overwrite defined one in connection</span>
+<span class="sd">    :type database: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
@@ -176,17 +203,19 @@
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">mysql_conn_id</span><span class="o">=</span><span class="s1">&#39;mysql_default&#39;</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">autocommit</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">mysql_conn_id</span><span class="o">=</span><span class="s1">&#39;mysql_default&#39;</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">autocommit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">database</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">MySqlOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span> <span class="o">=</span> <span class="n">mysql_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">autocommit</span> <span class="o">=</span> <span class="n">autocommit</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">parameters</span> <span class="o">=</span> <span class="n">parameters</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">database</span> <span class="o">=</span> <span class="n">database</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">,</span>
+                         <span class="n">schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">)</span>
         <span class="n">hook</span><span class="o">.</span><span class="n">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">,</span>
             <span class="n">autocommit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">autocommit</span><span class="p">,</span>
@@ -194,6 +223,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -226,7 +258,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/presto_check_operator.html b/_modules/presto_check_operator.html
index 639b71e..325c884 100644
--- a/_modules/presto_check_operator.html
+++ b/_modules/presto_check_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>presto_check_operator</li>
+        
+      <li>presto_check_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,9 +176,9 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="kn">import</span> <span class="n">PrestoHook</span>
-<span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="kn">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="k">import</span> <span class="n">PrestoHook</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="k">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <div class="viewcode-block" id="PrestoCheckOperator"><a class="viewcode-back" href="../code.html#airflow.operators.PrestoCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">PrestoCheckOperator</span><span class="p">(</span><span class="n">CheckOperator</span><span class="p">):</span>
@@ -216,10 +241,12 @@
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">presto_conn_id</span><span class="o">=</span><span class="s1">&#39;presto_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">PrestoValueCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class [...]
+        <span class="nb">super</span><span class="p">(</span><span class="n">PrestoValueCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+            <span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="o">=</span><span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="n">tolerance</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span> <span class="o">=</span> <span class="n">presto_conn_id</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -249,7 +276,8 @@
             <span class="n">presto_conn_id</span><span class="o">=</span><span class="s1">&#39;presto_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">PrestoIntervalCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
-            <span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="p">,</span> <span class="n">date_filter_column</span><span class="p">,</span> <span class="n">days_back</span><span class="p">,</span>
+            <span class="n">table</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="o">=</span><span class="n">metrics_thresholds</span><span class="p">,</span>
+            <span class="n">date_filter_column</span><span class="o">=</span><span class="n">date_filter_column</span><span class="p">,</span> <span class="n">days_back</span><span class="o">=</span><span class="n">days_back</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">presto_conn_id</span> <span class="o">=</span> <span class="n">presto_conn_id</span>
 
@@ -258,6 +286,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -290,7 +321,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/presto_hook.html b/_modules/presto_hook.html
index 49b93a9..573ddc8 100644
--- a/_modules/presto_hook.html
+++ b/_modules/presto_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>presto_hook</li>
+        
+      <li>presto_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,13 +176,13 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">pyhive</span> <span class="kn">import</span> <span class="n">presto</span>
-<span class="kn">from</span> <span class="nn">pyhive.exc</span> <span class="kn">import</span> <span class="n">DatabaseError</span>
+<span class="kn">from</span> <span class="nn">pyhive</span> <span class="k">import</span> <span class="n">presto</span>
+<span class="kn">from</span> <span class="nn">pyhive.exc</span> <span class="k">import</span> <span class="n">DatabaseError</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
 
 <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;pyhive&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
 
@@ -193,7 +218,7 @@
     <span class="k">def</span> <span class="nf">_strip_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">sql</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">&#39;;&#39;</span><span class="p">)</span>
 
-<div class="viewcode-block" id="PrestoHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="PrestoHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a set of records from Presto</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -205,12 +230,12 @@
                 <span class="s1">&#39;errorName&#39;</span> <span class="ow">in</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span> <span class="ow">and</span>
                 <span class="s1">&#39;message&#39;</span> <span class="ow">in</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="p">):</span>
                 <span class="c1"># Use the structured error data in the raised exception</span>
-                <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="s1">&#39;{name}: {message}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{name}</span><span class="s1">: </span><span class="si">{message}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">name</span><span class="o">=</span><span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="p">[</span><span class="s1">&#39;errorName&#39;</span><span class="p">],</span> <span class="n">message</span><span class="o">=</span><span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]))</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span></div>
 
-<div class="viewcode-block" id="PrestoHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="PrestoHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns only the first row, regardless of how many rows the query</span>
 <span class="sd">        returns.</span>
@@ -221,7 +246,7 @@
         <span class="k">except</span> <span class="n">DatabaseError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="n">e</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;message&#39;</span><span class="p">])</span></div>
 
-<div class="viewcode-block" id="PrestoHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="PrestoHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a pandas dataframe from a sql query.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -240,7 +265,7 @@
             <span class="n">df</span> <span class="o">=</span> <span class="n">pandas</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">df</span></div>
 
-<div class="viewcode-block" id="PrestoHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+<div class="viewcode-block" id="PrestoHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Execute the statement against Presto. Can be used to create views.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -251,6 +276,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -283,7 +311,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/python_operator.html b/_modules/python_operator.html
index 059ebb2..d2def55 100644
--- a/_modules/python_operator.html
+++ b/_modules/python_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>python_operator</li>
+        
+      <li>python_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,14 +176,14 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">settings</span>
 
 
 <div class="viewcode-block" id="PythonOperator"><a class="viewcode-back" href="../code.html#airflow.operators.PythonOperator">[docs]</a><span class="k">class</span> <span class="nc">PythonOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -195,11 +220,11 @@
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">python_callable</span><span class="p">,</span>
-            <span class="n">op_args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">op_kwargs</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">provide_context</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-            <span class="n">templates_dict</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">templates_exts</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">op_args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">op_kwargs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">provide_context</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">templates_dict</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">templates_exts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">PythonOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">python_callable</span> <span class="o">=</span> <span class="n">python_callable</span>
@@ -272,7 +297,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">condition</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">ShortCircuitOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Condition result is {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">condition</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Condition result is </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">condition</span><span class="p">))</span>
         <span class="k">if</span> <span class="n">condition</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Proceeding with downstream tasks...&#39;</span><span class="p">)</span>
             <span class="k">return</span>
@@ -292,6 +317,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -324,7 +352,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/sensors.html b/_modules/sensors.html
index 6567e38..f2b1cfe 100644
--- a/_modules/sensors.html
+++ b/_modules/sensors.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>sensors</li>
+        
+      <li>sensors</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,24 +176,27 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
-<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
 
-<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
-<span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="k">import</span> <span class="n">sleep</span>
+<span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="kn">import</span> <span class="nn">airflow</span>
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">DB</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hdfs_hook</span> <span class="k">import</span> <span class="n">HDFSHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
 
 
 <span class="k">class</span> <span class="nc">BaseSensorOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -193,7 +221,7 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="p">,</span>
             <span class="n">timeout</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">24</span><span class="o">*</span><span class="mi">7</span><span class="p">,</span>
-            <span class="n">soft_fail</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">soft_fail</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span> <span class="o">=</span> <span class="n">poke_interval</span>
@@ -245,13 +273,13 @@
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
         <span class="n">records</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">records</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
+            <span class="k">return</span> <span class="kc">False</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;0&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">,):</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">True</span>
-            <span class="k">print</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span></div>
+                <span class="k">return</span> <span class="kc">True</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span></div>
 
 
 <div class="viewcode-block" id="MetastorePartitionSensor"><a class="viewcode-back" href="../code.html#airflow.operators.MetastorePartitionSensor">[docs]</a><span class="k">class</span> <span class="nc">MetastorePartitionSensor</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">):</span>
@@ -286,13 +314,18 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_name</span> <span class="o">=</span> <span class="n">partition_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="n">table</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">mysql_conn_id</span>
+        <span class="c1"># TODO(aoen): We shouldn&#39;t be using SqlSensor here but MetastorePartitionSensor.</span>
+        <span class="c1"># The problem is the way apply_defaults works isn&#39;t compatible with inheritance.</span>
+        <span class="c1"># The inheritance model needs to be reworked in order to support overriding args/</span>
+        <span class="c1"># kwargs with arguments here, then &#39;conn_id&#39; and &#39;sql&#39; can be passed into the</span>
+        <span class="c1"># constructor below and apply_defaults will no longer throw an exception.</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="kc">False</span>
             <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
@@ -301,9 +334,9 @@
 <span class="s2">            LEFT OUTER JOIN TBLS B0 ON A0.TBL_ID = B0.TBL_ID</span>
 <span class="s2">            LEFT OUTER JOIN DBS C0 ON B0.DB_ID = C0.DB_ID</span>
 <span class="s2">            WHERE</span>
-<span class="s2">                B0.TBL_NAME = &#39;{self.table}&#39; AND</span>
-<span class="s2">                C0.NAME = &#39;{self.schema}&#39; AND</span>
-<span class="s2">                A0.PART_NAME = &#39;{self.partition_name}&#39;;</span>
+<span class="s2">                B0.TBL_NAME = &#39;</span><span class="si">{self.table}</span><span class="s2">&#39; AND</span>
+<span class="s2">                C0.NAME = &#39;</span><span class="si">{self.schema}</span><span class="s2">&#39; AND</span>
+<span class="s2">                A0.PART_NAME = &#39;</span><span class="si">{self.partition_name}</span><span class="s2">&#39;;</span>
 <span class="s2">            &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
         <span class="k">return</span> <span class="nb">super</span><span class="p">(</span><span class="n">MetastorePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
 
@@ -338,13 +371,13 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">external_dag_id</span><span class="p">,</span>
             <span class="n">external_task_id</span><span class="p">,</span>
-            <span class="n">allowed_states</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">execution_delta</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">execution_date_fn</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">allowed_states</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">execution_delta</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">execution_date_fn</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">ExternalTaskSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span> <span class="o">=</span> <span class="n">allowed_states</span> <span class="ow">or</span> <span class="p">[</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">]</span>
-        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
                 <span class="s1">&#39;Only one of `execution_date` or `execution_date_fn` may&#39;</span>
                 <span class="s1">&#39;be provided to ExternalTaskSensor; not both.&#39;</span><span class="p">)</span>
@@ -364,9 +397,9 @@
 
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for &#39;</span>
-            <span class="s1">&#39;{self.external_dag_id}.&#39;</span>
-            <span class="s1">&#39;{self.external_task_id} on &#39;</span>
-            <span class="s1">&#39;{dttm} ... &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;</span><span class="si">{self.external_dag_id}</span><span class="s1">.&#39;</span>
+            <span class="s1">&#39;</span><span class="si">{self.external_task_id}</span><span class="s1"> on &#39;</span>
+            <span class="s1">&#39;</span><span class="si">{dttm}</span><span class="s1"> ... &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
 
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
@@ -406,22 +439,23 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">partition_names</span><span class="p">,</span>
             <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">,</span>
-            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">3</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span> <span class="o">*</span> <span class="mi">3</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">NamedHivePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
             <span class="n">poke_interval</span><span class="o">=</span><span class="n">poke_interval</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="n">basestring</span><span class="p">):</span>
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
 
+    <span class="nd">@classmethod</span>
     <span class="k">def</span> <span class="nf">parse_partition_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partition</span><span class="p">):</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
             <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="n">table_partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
             <span class="k">return</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span>
         <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
@@ -430,7 +464,7 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
 
         <span class="k">def</span> <span class="nf">poke_partition</span><span class="p">(</span><span class="n">partition</span><span class="p">):</span>
@@ -438,7 +472,7 @@
             <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition</span><span class="p">)</span>
 
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s1">&#39;Poking for {schema}.{table}/{partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+                <span class="s1">&#39;Poking for </span><span class="si">{schema}</span><span class="s1">.</span><span class="si">{table}</span><span class="s1">/</span><span class="si">{partition}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
             <span class="p">)</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span>
                 <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="p">)</span>
@@ -447,9 +481,9 @@
             <span class="k">if</span> <span class="n">poke_partition</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span><span class="p">]):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">+=</span> <span class="mi">1</span>
             <span class="k">else</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
 
-        <span class="k">return</span> <span class="bp">True</span></div>
+        <span class="k">return</span> <span class="kc">True</span></div>
 
 
 <div class="viewcode-block" id="HivePartitionSensor"><a class="viewcode-back" href="../code.html#airflow.operators.HivePartitionSensor">[docs]</a><span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
@@ -496,10 +530,10 @@
         <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for table {self.schema}.{self.table}, &#39;</span>
-            <span class="s1">&#39;partition {self.partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;Poking for table </span><span class="si">{self.schema}</span><span class="s1">.</span><span class="si">{self.table}</span><span class="s1">, &#39;</span>
+            <span class="s1">&#39;partition </span><span class="si">{self.partition}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span></div>
@@ -510,29 +544,77 @@
 <span class="sd">    Waits for a file or folder to land in HDFS</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#4d9de0&#39;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">WEB_COLORS</span><span class="p">[</span><span class="s1">&#39;LIGHTBLUE&#39;</span><span class="p">]</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">filepath</span><span class="p">,</span>
             <span class="n">hdfs_conn_id</span><span class="o">=</span><span class="s1">&#39;hdfs_default&#39;</span><span class="p">,</span>
+            <span class="n">ignored_ext</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;_COPYING_&#39;</span><span class="p">],</span>
+            <span class="n">ignore_copying</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">file_size</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">hook</span><span class="o">=</span><span class="n">HDFSHook</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">HdfsSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">filepath</span> <span class="o">=</span> <span class="n">filepath</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span> <span class="o">=</span> <span class="n">hdfs_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_size</span> <span class="o">=</span> <span class="n">file_size</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ignored_ext</span> <span class="o">=</span> <span class="n">ignored_ext</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ignore_copying</span> <span class="o">=</span> <span class="n">ignore_copying</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hook</span>
+
+    <span class="nd">@staticmethod</span>
+<div class="viewcode-block" id="HdfsSensor.filter_for_filesize"><a class="viewcode-back" href="../code.html#airflow.operators.HdfsSensor.filter_for_filesize">[docs]</a>    <span class="k">def</span> <span class="nf">filter_for_filesize</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Will test the filepath result and test if its size is at least self.filesize</span>
+<span class="sd">        :param result: a list of dicts returned by Snakebite ls</span>
+<span class="sd">        :param size: the file size in MB a file should be at least to trigger True</span>
+<span class="sd">        :return: (bool) depending on the matching criteria</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">size</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Filtering for file size &gt;= </span><span class="si">%s</span><span class="s1"> in files: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">: [...]
+            <span class="n">size</span> <span class="o">*=</span> <span class="n">settings</span><span class="o">.</span><span class="n">MEGABYTE</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">if</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;length&#39;</span><span class="p">]</span> <span class="o">&gt;=</span> <span class="n">size</span><span class="p">]</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: after size filter result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span></div>
+
+    <span class="nd">@staticmethod</span>
+<div class="viewcode-block" id="HdfsSensor.filter_for_ignored_ext"><a class="viewcode-back" href="../code.html#airflow.operators.HdfsSensor.filter_for_ignored_ext">[docs]</a>    <span class="k">def</span> <span class="nf">filter_for_ignored_ext</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">ignored_ext</span><span class="p">,</span> <span class="n">ignore_copying</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Will filter if instructed to do so the result to remove matching criteria</span>
+<span class="sd">        :param result: (list) of dicts returned by Snakebite ls</span>
+<span class="sd">        :param ignored_ext: (list) of ignored extentions</span>
+<span class="sd">        :param ignore_copying: (bool) shall we ignore ?</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">ignore_copying</span><span class="p">:</span>
+            <span class="n">regex_builder</span> <span class="o">=</span> <span class="s2">&quot;^.*\.(</span><span class="si">%s</span><span class="s2">$)$&quot;</span> <span class="o">%</span> <span class="s1">&#39;$|&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">ignored_ext</span><span class="p">)</span>
+            <span class="n">ignored_extentions_regex</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">regex_builder</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Filtering result for ignored extentions: </span><span class="si">%s</span><span class="s1"> in files </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">ignored_extentions_regex</span><span class="o">.</span><span class="n">pattern</span><span class="p">,</span>
+                          <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;path&#39;</span><span class="p">],</span> <span class="n">result</span><span class="p">))</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">result</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">ignored_extentions_regex</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="s1">&#39;path&#39;</span><spa [...]
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: after ext filter result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span></div>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="kn">import</span> <span class="nn">airflow.hooks.hdfs_hook</span>
-        <span class="n">sb</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hdfs_hook</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">sb</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;snakebite&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">WARNING</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for file </span><span class="si">{self.filepath}</span><span class="s1"> &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">sb</span><span class="o">.</span><span class="n">ls</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">])]</span>
+            <span class="c1"># IMOO it&#39;s not right here, as there no raise of any kind.</span>
+            <span class="c1"># if the filepath is let&#39;s say &#39;/data/mydirectory&#39;, it&#39;s correct but if it is &#39;/data/mydirectory/*&#39;,</span>
+            <span class="c1"># it&#39;s not correct as the directory exists and sb does not raise any error</span>
+            <span class="c1"># here is a quick fix</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">sb</span><span class="o">.</span><span class="n">ls</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">],</span> <span class="n">include_toplevel</span><span class="o">=</span><span class="kc">False</sp [...]
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;HdfsSensor.poke: result is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filter_for_ignored_ext</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignored_ext</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignore_copying</span><span class="p">)</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filter_for_filesize</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_size</span><span class="p">)</span>
+            <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
         <span class="k">except</span><span class="p">:</span>
-            <span class="k">return</span> <span class="bp">False</span>
-        <span class="k">return</span> <span class="bp">True</span></div>
+            <span class="n">e</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Caught an exception !: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">False</span></div>
 
 
 <div class="viewcode-block" id="WebHdfsSensor"><a class="viewcode-back" href="../code.html#airflow.operators.WebHdfsSensor">[docs]</a><span class="k">class</span> <span class="nc">WebHdfsSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
@@ -554,7 +636,7 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">c</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">webhdfs_hook</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+            <span class="s1">&#39;Poking for file </span><span class="si">{self.filepath}</span><span class="s1"> &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">return</span> <span class="n">c</span><span class="o">.</span><span class="n">check_for_path</span><span class="p">(</span><span class="n">hdfs_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span></div>
 
 
@@ -580,17 +662,13 @@
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">bucket_key</span><span class="p">,</span>
-            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-            <span class="n">wildcard_match</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+            <span class="n">wildcard_match</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">S3KeySensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
         <span class="c1"># Parse</span>
-        <span class="k">if</span> <span class="n">bucket_name</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">bucket_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">bucket_key</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket_name&#39;</span><span class="p">)</span>
@@ -604,14 +682,12 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span> <span class="o">=</span> <span class="n">bucket_key</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span> <span class="o">=</span> <span class="n">wildcard_match</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : {full_url}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : </span><span class="si">{full_url}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span><span class="p">,</span>
                                                <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span><span class="p">)</span>
@@ -645,22 +721,16 @@
             <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">S3PrefixSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
         <span class="c1"># Parse</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">=</span> <span class="n">bucket_name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span> <span class="o">=</span> <span class="n">delimiter</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="n">bucket_name</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">prefix</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : {self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
-                     <span class="s1">&#39;in bucket s3://{self.bucket_name}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : </span><span class="si">{self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
+                     <span class="s1">&#39;in bucket s3://</span><span class="si">{self.bucket_name}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
@@ -685,7 +755,7 @@
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_time</span><span class="p">))</span>
+            <span class="s1">&#39;Checking if the time (</span><span class="si">{0}</span><span class="s1">) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_time</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">target_time</span></div>
 
 
@@ -710,7 +780,7 @@
         <span class="n">dag</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;dag&#39;</span><span class="p">]</span>
         <span class="n">target_dttm</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">following_schedule</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">])</span>
         <span class="n">target_dttm</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">delta</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_dttm</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking if the time (</span><span class="si">{0}</span><span class="s1">) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_dttm</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">target_dttm</span>
 
 
@@ -736,16 +806,16 @@
 <span class="sd">        depends on the option that&#39;s being modified.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">)</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">endpoint</span><span class="p">,</span>
                  <span class="n">http_conn_id</span><span class="o">=</span><span class="s1">&#39;http_default&#39;</span><span class="p">,</span>
-                 <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">headers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">response_check</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                 <span class="n">extra_options</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+                 <span class="n">params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">response_check</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">HttpSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span> <span class="o">=</span> <span class="n">endpoint</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
@@ -768,14 +838,17 @@
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">AirflowException</span> <span class="k">as</span> <span class="n">ae</span><span class="p">:</span>
             <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">ae</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
-                <span class="k">return</span> <span class="bp">False</span>
+                <span class="k">return</span> <span class="kc">False</span>
 
             <span class="k">raise</span> <span class="n">ae</span>
 
-        <span class="k">return</span> <span class="bp">True</span></div>
+        <span class="k">return</span> <span class="kc">True</span></div>
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -808,7 +881,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/sqlite_hook.html b/_modules/sqlite_hook.html
index 70abb8c..dc33f36 100644
--- a/_modules/sqlite_hook.html
+++ b/_modules/sqlite_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>sqlite_hook</li>
+        
+      <li>sqlite_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -153,7 +178,7 @@
 
 <span class="kn">import</span> <span class="nn">sqlite3</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
 
 
 <div class="viewcode-block" id="SqliteHook"><a class="viewcode-back" href="../code.html#airflow.hooks.SqliteHook">[docs]</a><span class="k">class</span> <span class="nc">SqliteHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
@@ -164,7 +189,7 @@
 
     <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;sqlite_conn_id&#39;</span>
     <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;sqlite_default&#39;</span>
-    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">False</span>
 
 <div class="viewcode-block" id="SqliteHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.SqliteHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -176,6 +201,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -208,7 +236,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/ssh_execute_operator.html b/_modules/ssh_execute_operator.html
index c4c952d..27834e2 100644
--- a/_modules/ssh_execute_operator.html
+++ b/_modules/ssh_execute_operator.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>ssh_execute_operator</li>
+        
+      <li>ssh_execute_operator</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -151,14 +176,14 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">bytes</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
-<span class="kn">from</span> <span class="nn">subprocess</span> <span class="kn">import</span> <span class="n">STDOUT</span>
+<span class="kn">from</span> <span class="nn">subprocess</span> <span class="k">import</span> <span class="n">STDOUT</span>
 
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
 
 <span class="k">class</span> <span class="nc">SSHTempFileContent</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
@@ -177,9 +202,9 @@
 
 <span class="sd">    :param ssh_hook: A SSHHook that indicates a remote host</span>
 <span class="sd">                     where you want to create tempfile</span>
-<span class="sd">    :param content: Initial content of creating temprary file</span>
+<span class="sd">    :param content: Initial content of creating temporary file</span>
 <span class="sd">    :type content: string</span>
-<span class="sd">    :param prefix: The prefix string you want to use for the temprary file</span>
+<span class="sd">    :param prefix: The prefix string you want to use for the temporary file</span>
 <span class="sd">    :type prefix: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
@@ -194,7 +219,7 @@
         <span class="n">prefix</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prefix</span>
 
         <span class="n">pmktemp</span> <span class="o">=</span> <span class="n">ssh_hook</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s2">&quot;-q&quot;</span><span class="p">,</span>
-                                  <span class="s2">&quot;mktemp&quot;</span><span class="p">,</span> <span class="s2">&quot;--tmpdir&quot;</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s2">&quot;_XXXXXX&quot;</span><span class="p">],</span>
+                                  <span class="s2">&quot;mktemp&quot;</span><span class="p">,</span> <span class="s2">&quot;-t&quot;</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s2">&quot;_XXXXXX&quot;</span><span class="p">],</span>
                                  <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
                                  <span class="n">stderr</span><span class="o">=</span><span class="n">STDOUT</span><span class="p">)</span>
         <span class="n">tempfile</span> <span class="o">=</span> <span class="n">pmktemp</span><span class="o">.</span><span class="n">communicate</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">rstrip</span><span class="p">()</span>
@@ -221,7 +246,7 @@
         <span class="n">sp</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
         <span class="k">if</span> <span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Failed to remove to remote temp file&quot;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">False</span>
+        <span class="k">return</span> <span class="kc">False</span>
 
 
 <div class="viewcode-block" id="SSHExecuteOperator"><a class="viewcode-back" href="../code.html#airflow.contrib.operators.SSHExecuteOperator">[docs]</a><span class="k">class</span> <span class="nc">SSHExecuteOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -248,8 +273,8 @@
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">ssh_hook</span><span class="p">,</span>
                  <span class="n">bash_command</span><span class="p">,</span>
-                 <span class="n">xcom_push</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
-                 <span class="n">env</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">xcom_push</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">env</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">SSHExecuteOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bash_command</span> <span class="o">=</span> <span class="n">bash_command</span>
@@ -266,8 +291,10 @@
                                 <span class="bp">self</span><span class="o">.</span><span class="n">bash_command</span><span class="p">,</span>
                                 <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span> <span class="k">as</span> <span class="n">remote_file_path</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Temporary script &quot;</span>
-                         <span class="s2">&quot;location : {0}:{1}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">remote_file_path</span><span class="p">))</span>
+                         <span class="s2">&quot;location : </span><span class="si">{0}</span><span class="s2">:</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">remote_file_path</span><span class="p">))</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running command: &quot;</span> <span class="o">+</span> <span class="n">bash_command</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;env: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">))</span>
 
             <span class="n">sp</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span>
                 <span class="p">[</span><span class="s1">&#39;-q&#39;</span><span class="p">,</span> <span class="s1">&#39;bash&#39;</span><span class="p">,</span> <span class="n">remote_file_path</span><span class="p">],</span>
@@ -279,11 +306,11 @@
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Output:&quot;</span><span class="p">)</span>
             <span class="n">line</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
             <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">iter</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
-                <span class="n">line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+                <span class="n">line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf_8&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
             <span class="n">sp</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Command exited with &quot;</span>
-                         <span class="s2">&quot;return code {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+                         <span class="s2">&quot;return code </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
             <span class="k">if</span> <span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Bash command failed&quot;</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">:</span>
@@ -297,6 +324,9 @@
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -329,7 +359,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_modules/ssh_hook.html b/_modules/ssh_hook.html
index e094b62..8da4b35 100644
--- a/_modules/ssh_hook.html
+++ b/_modules/ssh_hook.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="../genindex.html"/>
+        <link rel="search" title="Search" href="../search.html"/>
     <link rel="top" title="Airflow Documentation" href="../index.html"/>
         <link rel="up" title="Module code" href="index.html"/> 
 
@@ -40,6 +43,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -90,6 +94,8 @@
 <li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
 </ul>
@@ -104,8 +110,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Airflow</a>
+        
       </nav>
 
 
@@ -118,19 +126,36 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
+    
+      <li><a href="../index.html">Docs</a> &raquo;</li>
+        
           <li><a href="index.html">Module code</a> &raquo;</li>
-      
-    <li>ssh_hook</li>
+        
+      <li>ssh_hook</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
+            
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -156,10 +181,10 @@
 <span class="c1">#</span>
 <span class="c1"># This is a port of Luigi&#39;s ssh implementation. All credits go there.</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
-<span class="kn">from</span> <span class="nn">contextlib</span> <span class="kn">import</span> <span class="n">contextmanager</span>
+<span class="kn">from</span> <span class="nn">contextlib</span> <span class="k">import</span> <span class="n">contextmanager</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
 <span class="kn">import</span> <span class="nn">logging</span>
 
@@ -191,11 +216,13 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="s1">&#39;ssh_default&#39;</span><span class="p">):</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;key_file&#39;</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">connect_timeout</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;connect_timeout&#39;</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;no_host_key_check&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">tty</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tty&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">sshpass</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;sshpass&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;key_file&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connect_timeout</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;connect_timeout&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tcp_keepalive</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tcp_keepalive&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">server_alive_interval</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;server_alive_interval&#39;</span><span class="p">,</span> <span class="mi">60</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;no_host_key_check&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tty</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tty&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sshpass</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;sshpass&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">conn</span>
 
     <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -203,7 +230,7 @@
 
     <span class="k">def</span> <span class="nf">_host_ref</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
-            <span class="k">return</span> <span class="s2">&quot;{0}@{1}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+            <span class="k">return</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">@</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span [...]
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span>
 
@@ -218,7 +245,11 @@
             <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-p&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)]</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">connect_timeout</span><span class="p">:</span>
-            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;ConnectionTimeout={}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connect_timeout</span><span class="p">)]</span>
+            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;ConnectionTimeout=</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connect_timeout</span><span class="p">)]</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tcp_keepalive</span><span class="p">:</span>
+            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;TCPKeepAlive=yes&quot;</span><span class="p">]</span>
+            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;ServerAliveInterval=</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">server_alive_interval</span><span class="p">)]</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span><span class="p">:</span>
             <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;UserKnownHostsFile=/dev/null&quot;</span><span class="p">,</span>
@@ -231,7 +262,7 @@
             <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-t&quot;</span><span class="p">]</span>
 
         <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="n">cmd</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;SSH cmd: {} &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">connection_cmd</span><span class="p">))</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;SSH cmd: </span><span class="si">{}</span><span class="s2"> &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">connection_cmd</span><span class="p">))</span>
 
         <span class="k">return</span> <span class="n">connection_cmd</span>
 
@@ -259,13 +290,13 @@
 
         <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">returncode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
             <span class="c1"># I like this better: RemoteCalledProcessError(p.returncode, cmd, self.host, output=output)</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Cannot execute {} on {}. Error code is: {}. Output: {}, Stderr: {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Cannot execute </span><span class="si">{}</span><span class="s2"> on </span><span class="si">{}</span><span class="s2">. Error code is: </span><span class="si">{}</span><span class="s2">. Output: </span><span class="si">{}</span><span class="s2">, Stderr: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format [...]
                                    <span class="n">cmd</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">returncode</span><span class="p">,</span> <span class="n">output</span><span class="p">,</span> <span class="n">stderr</span><span class="p">))</span>
 
         <span class="k">return</span> <span class="n">output</span></div>
 
     <span class="nd">@contextmanager</span>
-<div class="viewcode-block" id="SSHHook.tunnel"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.SSHHook.tunnel">[docs]</a>    <span class="k">def</span> <span class="nf">tunnel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_port</span><span class="p">,</span> <span class="n">remote_port</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">remote_host</span><span class [...]
+<div class="viewcode-block" id="SSHHook.tunnel"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.SSHHook.tunnel">[docs]</a>    <span class="k">def</span> <span class="nf">tunnel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_port</span><span class="p">,</span> <span class="n">remote_port</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">remote_host</span><span class [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a tunnel between two hosts. Like ssh -L &lt;LOCAL_PORT&gt;:host:&lt;REMOTE_PORT&gt;.</span>
 <span class="sd">        Remember to close() the returned &quot;tunnel&quot; object in order to clean up</span>
@@ -279,7 +310,7 @@
 <span class="sd">        :type remote_host: str</span>
 <span class="sd">        :return:</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">tunnel_host</span> <span class="o">=</span> <span class="s2">&quot;{0}:{1}:{2}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">local_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span class="p">)</span>
+        <span class="n">tunnel_host</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">:</span><span class="si">{1}</span><span class="s2">:</span><span class="si">{2}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">local_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span [...]
         <span class="n">proc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s2">&quot;-L&quot;</span><span class="p">,</span> <span class="n">tunnel_host</span><span class="p">,</span> <span class="s2">&quot;echo -n ready &amp;&amp; cat&quot;</span><span class="p">],</span>
                           <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
 
@@ -287,11 +318,14 @@
         <span class="k">assert</span> <span class="n">ready</span> <span class="o">==</span> <span class="n">b</span><span class="s2">&quot;ready&quot;</span><span class="p">,</span> <span class="s2">&quot;Did not get &#39;ready&#39; from remote&quot;</span>
         <span class="k">yield</span>
         <span class="n">proc</span><span class="o">.</span><span class="n">communicate</span><span class="p">()</span>
-        <span class="k">assert</span> <span class="n">proc</span><span class="o">.</span><span class="n">returncode</span> <span class="o">==</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;Tunnel process did unclean exit (returncode {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">proc</span><span class="o">.</span><span class="n">returncode</span><span class="p">)</span></div></div>
+        <span class="k">assert</span> <span class="n">proc</span><span class="o">.</span><span class="n">returncode</span> <span class="o">==</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;Tunnel process did unclean exit (returncode </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">proc</span><span class="o">.</span><span class="n">returncode</span><s [...]
 
 </pre></div>
 
            </div>
+           <div class="articleComments">
+            
+           </div>
           </div>
           <footer>
   
@@ -324,7 +358,8 @@
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
         };
     </script>
       <script type="text/javascript" src="../_static/jquery.js"></script>
diff --git a/_static/basic.css b/_static/basic.css
index 65dfd7d..7ed0e58 100644
--- a/_static/basic.css
+++ b/_static/basic.css
@@ -85,10 +85,6 @@ div.sphinxsidebar #searchbox input[type="text"] {
     width: 170px;
 }
 
-div.sphinxsidebar #searchbox input[type="submit"] {
-    width: 30px;
-}
-
 img {
     border: 0;
     max-width: 100%;
@@ -126,6 +122,8 @@ ul.keywordmatches li.goodmatch a {
 
 table.contentstable {
     width: 90%;
+    margin-left: auto;
+    margin-right: auto;
 }
 
 table.contentstable p.biglink {
@@ -153,9 +151,14 @@ table.indextable td {
     vertical-align: top;
 }
 
-table.indextable dl, table.indextable dd {
+table.indextable ul {
     margin-top: 0;
     margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
 }
 
 table.indextable tr.pcap {
@@ -187,6 +190,13 @@ div.genindex-jumpbox {
     padding: 0.4em;
 }
 
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
 /* -- general body styles --------------------------------------------------- */
 
 div.body p, div.body dd, div.body li, div.body blockquote {
@@ -221,10 +231,6 @@ div.body td {
     text-align: left;
 }
 
-.field-list ul {
-    padding-left: 1em;
-}
-
 .first {
     margin-top: 0 !important;
 }
@@ -341,10 +347,6 @@ table.docutils td, table.docutils th {
     border-bottom: 1px solid #aaa;
 }
 
-table.field-list td, table.field-list th {
-    border: 0 !important;
-}
-
 table.footnote td, table.footnote th {
     border: 0 !important;
 }
@@ -381,6 +383,20 @@ div.figure p.caption span.caption-number {
 div.figure p.caption span.caption-text {
 }
 
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
 
 /* -- other body styles ----------------------------------------------------- */
 
@@ -431,15 +447,6 @@ dl.glossary dt {
     font-size: 1.1em;
 }
 
-.field-list ul {
-    margin: 0;
-    padding-left: 1em;
-}
-
-.field-list p {
-    margin: 0;
-}
-
 .optional {
     font-size: 1.3em;
 }
@@ -498,6 +505,13 @@ pre {
     overflow-y: hidden;  /* fixes display issues on Chrome browsers */
 }
 
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+}
+
 td.linenos pre {
     padding: 5px 0px;
     border: 0;
@@ -589,6 +603,16 @@ span.eqno {
     float: right;
 }
 
+span.eqno a.headerlink {
+    position: relative;
+    left: 0px;
+    z-index: 1;
+}
+
+div.math:hover a.headerlink {
+    visibility: visible;
+}
+
 /* -- printout stylesheet --------------------------------------------------- */
 
 @media print {
diff --git a/_static/comment-bright.png b/_static/comment-bright.png
index 551517b..15e27ed 100644
Binary files a/_static/comment-bright.png and b/_static/comment-bright.png differ
diff --git a/_static/comment-close.png b/_static/comment-close.png
index 09b54be..4d91bcf 100644
Binary files a/_static/comment-close.png and b/_static/comment-close.png differ
diff --git a/_static/comment.png b/_static/comment.png
index 92feb52..dfbc0cb 100644
Binary files a/_static/comment.png and b/_static/comment.png differ
diff --git a/_static/css/badge_only.css b/_static/css/badge_only.css
index 7e17fb1..6362912 100644
--- a/_static/css/badge_only.css
+++ b/_static/css/badge_only.css
@@ -1,2 +1,2 @@
-.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg [...]
+.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg [...]
 /*# sourceMappingURL=badge_only.css.map */
diff --git a/_static/css/theme.css b/_static/css/theme.css
index 7be9339..c1631d8 100644
--- a/_static/css/theme.css
+++ b/_static/css/theme.css
@@ -1,5 +1,5 @@
 *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr [...]
- *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.2.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical l [...]
+ */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.6.3");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.6.3") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.6.3") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");font-weight:normal;font-style:norma [...]
 /*# sourceMappingURL=theme.css.map */
diff --git a/_static/down-pressed.png b/_static/down-pressed.png
index 7c30d00..5756c8c 100644
Binary files a/_static/down-pressed.png and b/_static/down-pressed.png differ
diff --git a/_static/down.png b/_static/down.png
index f48098a..1b3bdad 100644
Binary files a/_static/down.png and b/_static/down.png differ
diff --git a/_static/file.png b/_static/file.png
index 254c60b..a858a41 100644
Binary files a/_static/file.png and b/_static/file.png differ
diff --git a/_static/fonts/Inconsolata-Bold.ttf b/_static/fonts/Inconsolata-Bold.ttf
index 58c9fef..809c1f5 100644
Binary files a/_static/fonts/Inconsolata-Bold.ttf and b/_static/fonts/Inconsolata-Bold.ttf differ
diff --git a/_static/fonts/Inconsolata-Regular.ttf b/_static/fonts/Inconsolata-Regular.ttf
index a87ffba..fc981ce 100644
Binary files a/_static/fonts/Inconsolata-Regular.ttf and b/_static/fonts/Inconsolata-Regular.ttf differ
diff --git a/_static/fonts/Lato-Bold.ttf b/_static/fonts/Lato-Bold.ttf
index 7434369..1d23c70 100644
Binary files a/_static/fonts/Lato-Bold.ttf and b/_static/fonts/Lato-Bold.ttf differ
diff --git a/_static/fonts/Lato-Regular.ttf b/_static/fonts/Lato-Regular.ttf
index 04ea8ef..0f3d0f8 100644
Binary files a/_static/fonts/Lato-Regular.ttf and b/_static/fonts/Lato-Regular.ttf differ
diff --git a/_static/fonts/fontawesome-webfont.eot b/_static/fonts/fontawesome-webfont.eot
index 84677bc..c7b00d2 100644
Binary files a/_static/fonts/fontawesome-webfont.eot and b/_static/fonts/fontawesome-webfont.eot differ
diff --git a/_static/fonts/fontawesome-webfont.svg b/_static/fonts/fontawesome-webfont.svg
index d907b25..8b66187 100644
--- a/_static/fonts/fontawesome-webfont.svg
+++ b/_static/fonts/fontawesome-webfont.svg
@@ -147,14 +147,14 @@
 <glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
 <glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
 <glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5  [...]
-<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h [...]
+<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 [...]
 <glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
 <glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
 <glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
 <glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
 <glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
 <glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t [...]
-<glyph unicode="&#xf082;" d="M1536 160q0 -119 -84.5 -203.5t-203.5 -84.5h-192v608h203l30 224h-233v143q0 54 28 83t96 29l132 1v207q-96 9 -180 9q-136 0 -218 -80.5t-82 -225.5v-166h-224v-224h224v-608h-544q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5v-960z" />
+<glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />
 <glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 - [...]
 <glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189  [...]
 <glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11  [...]
@@ -169,7 +169,7 @@
 <glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q2 [...]
 <glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -2 [...]
 <glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 4 [...]
-<glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 [...]
+<glyph unicode="&#xf092;" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 9 [...]
 <glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 [...]
 <glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t- [...]
 <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5  [...]
@@ -178,7 +178,7 @@
 <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216. [...]
 <glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
 <glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
-<glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 - [...]
+<glyph unicode="&#xf09b;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -4 [...]
 <glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
 <glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
 <glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5 [...]
@@ -219,8 +219,8 @@
 <glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5  [...]
 <glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11 [...]
 <glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 - [...]
-<glyph unicode="&#xf0d4;" d="M829 318q0 -76 -58.5 -112.5t-139.5 -36.5q-41 0 -80.5 9.5t-75.5 28.5t-58 53t-22 78q0 46 25 80t65.5 51.5t82 25t84.5 7.5q20 0 31 -2q2 -1 23 -16.5t26 -19t23 -18t24.5 -22t19 -22.5t17 -26t9 -26.5t4.5 -31.5zM755 863q0 -60 -33 -99.5t-92 -39.5q-53 0 -93 42.5 t-57.5 96.5t-17.5 106q0 61 32 104t92 43q53 0 93.5 -45t58 -101t17.5 -107zM861 1120l88 64h-265q-85 0 -161 -32t-127.5 -98t-51.5 -153q0 -93 64.5 -154.5t158.5 -61.5q22 0 43 3q-13 -29 -13 -54q0 -44 40 -94q-175 -12 -257  [...]
-<glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M735 740q0 -36 32 -70.5t77.5 -68t90.5 -73.5t77 -104t32 -142q0 -90 -48 -173q-72 -122 -211 -179.5t-298 -57.5q-132 0 -246.5 41.5t-171.5 137.5q-37 60 -37 131q0 81 44.5 150t118.5 115q131 82 404 100q-32 42 -47.5 74t-15.5 73q0 36 21 85q-46 -4 -68 -4 q-148 0 -249.5 96.5t-101.5 244.5q0 82 36 159t99 131q77 66 182.5 98t217.5 32h418l-138 -88h-131q74 -63 112 -133t38 -160q0 -72 -24.5 -129.5t-59 -93t-69.5 -65t-59.5 -61.5t-24.5 -66zM589 836q38 0 78 16.5t66 [...]
+<glyph unicode="&#xf0d4;" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf0d5;" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
 <glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45  [...]
 <glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
 <glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
@@ -275,7 +275,7 @@
 <glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75  [...]
 <glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 [...]
-<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 [...]
+<glyph unicode="&#xf110;" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-11 [...]
 <glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
 <glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM16 [...]
@@ -362,8 +362,8 @@
 <glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
 <glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
 <glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
-<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-11 [...]
+<glyph unicode="&#xf16c;" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+<glyph unicode="&#xf16d;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11  [...]
 <glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
 <glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q- [...]
@@ -399,7 +399,7 @@
 <glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
 <glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455 [...]
-<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t7 [...]
+<glyph unicode="&#xf194;" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
 <glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
 <glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 20 [...]
 <glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-2 [...]
@@ -410,9 +410,9 @@
 <glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
 <glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
 <glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
-<glyph unicode="&#xf1a0;" horiz-adv-x="1280" d="M981 197q0 25 -7 49t-14.5 42t-27 41.5t-29.5 35t-38.5 34.5t-36.5 29t-41.5 30t-36.5 26q-16 2 -49 2q-53 0 -104.5 -7t-107 -25t-97 -46t-68.5 -74.5t-27 -105.5q0 -56 23.5 -102t61 -75.5t87 -50t100 -29t101.5 -8.5q58 0 111.5 13t99 39t73 73t27.5 109zM864 1055 q0 59 -17 125.5t-48 129t-84 103.5t-117 41q-42 0 -82.5 -19.5t-66.5 -52.5q-46 -59 -46 -160q0 -46 10 -97.5t31.5 -103t52 -92.5t75 -67t96.5 -26q37 0 77.5 16.5t65.5 43.5q53 56 53 159zM752 1536h417l-137 [...]
-<glyph unicode="&#xf1a1;" horiz-adv-x="1984" d="M831 572q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41t96.5 -41t40.5 -98zM1292 711q56 0 96.5 -41t40.5 -98q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41zM1984 722q0 -62 -31 -114t-83 -82q5 -33 5 -61 q0 -121 -68.5 -230.5t-197.5 -193.5q-125 -82 -285.5 -125.5t-335.5 -43.5q-176 0 -336.5 43.5t-284.5 125.5q-129 84 -197.5 193t-68.5 231q0 29 5 66q-48 31 -77 81.5t-29 109.5q0 94 66 160t160 66q83 0 148 -55q248 1 [...]
-<glyph unicode="&#xf1a2;" d="M950 393q7 7 17.5 7t17.5 -7t7 -18t-7 -18q-65 -64 -208 -64h-1h-1q-143 0 -207 64q-8 7 -8 18t8 18q7 7 17.5 7t17.5 -7q49 -51 172 -51h1h1q122 0 173 51zM671 613q0 -37 -26 -64t-63 -27t-63 27t-26 64t26 63t63 26t63 -26t26 -63zM1214 1049q-29 0 -50 21t-21 50 q0 30 21 51t50 21q30 0 51 -21t21 -51q0 -29 -21 -50t-51 -21zM1216 1408q132 0 226 -94t94 -227v-894q0 -133 -94 -227t-226 -94h-896q-132 0 -226 94t-94 227v894q0 133 94 227t226 94h896zM1321 596q35 14 57 45.5t22 70.5q0 51  [...]
+<glyph unicode="&#xf1a0;" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+<glyph unicode="&#xf1a1;" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q- [...]
+<glyph unicode="&#xf1a2;" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42 [...]
 <glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385 [...]
 <glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
 <glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
@@ -438,7 +438,7 @@
 <glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 [...]
 <glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
 <glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t [...]
-<glyph unicode="&#xf1bd;" d="M1397 1408q58 0 98.5 -40.5t40.5 -98.5v-1258q0 -58 -40.5 -98.5t-98.5 -40.5h-1258q-58 0 -98.5 40.5t-40.5 98.5v1258q0 58 40.5 98.5t98.5 40.5h1258zM1465 11v1258q0 28 -20 48t-48 20h-1258q-28 0 -48 -20t-20 -48v-1258q0 -28 20 -48t48 -20h1258q28 0 48 20t20 48 zM694 749l188 -387l533 145v-496q0 -7 -5.5 -12.5t-12.5 -5.5h-1258q-7 0 -12.5 5.5t-5.5 12.5v141l711 195l-212 439q4 1 12 2.5t12 1.5q170 32 303.5 21.5t221 -46t143.5 -94.5q27 -28 -25 -42q-64 -16 -256 -62l-97 198q-111 [...]
+<glyph unicode="&#xf1bd;" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
 <glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l [...]
 <glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280  [...]
 <glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t13 [...]
@@ -454,12 +454,12 @@
 <glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
 <glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44  [...]
 <glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-2 [...]
-<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348q0 222 101 414.5t276.5 317t390.5 155.5v-260q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 q0 230 -145.5 406t-366.5 221v260q215 -31 390.5 -155.5t276.5 -317t101 -414.5z" />
+<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
 <glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115 [...]
 <glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241 [...]
 <glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387 [...]
 <glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 10 [...]
-<glyph unicode="&#xf1d4;" d="M825 547l343 588h-150q-21 -39 -63.5 -118.5t-68 -128.5t-59.5 -118.5t-60 -128.5h-3q-21 48 -44.5 97t-52 105.5t-46.5 92t-54 104.5t-49 95h-150l323 -589v-435h134v436zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf1d4;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
 <glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186 [...]
 <glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 - [...]
 <glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -7 [...]
@@ -483,13 +483,13 @@
 <glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
 <glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73 [...]
 <glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90. [...]
-<glyph unicode="&#xf1ed;" horiz-adv-x="1792" d="M1112 1090q0 159 -237 159h-70q-32 0 -59.5 -21.5t-34.5 -52.5l-63 -276q-2 -5 -2 -16q0 -24 17 -39.5t41 -15.5h53q69 0 128.5 13t112.5 41t83.5 81.5t30.5 126.5zM1716 938q0 -265 -220 -428q-219 -161 -612 -161h-61q-32 0 -59 -21.5t-34 -52.5l-73 -316 q-8 -36 -40.5 -61.5t-69.5 -25.5h-213q-31 0 -53 20t-22 51q0 10 13 65h151q34 0 64 23.5t38 56.5l73 316q8 33 37.5 57t63.5 24h61q390 0 607 160t217 421q0 129 -51 207q183 -92 183 -335zM1533 1123q0 -264 -221 -428q [...]
-<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M602 949q19 -61 31 -123.5t17 -141.5t-14 -159t-62 -145q-21 81 -67 157t-95.5 127t-99 90.5t-78.5 57.5t-33 19q-62 34 -81.5 100t14.5 128t101 81.5t129 -14.5q138 -83 238 -177zM927 1236q11 -25 20.5 -46t36.5 -100.5t42.5 -150.5t25.5 -179.5t0 -205.5t-47.5 -209.5 t-105.5 -208.5q-51 -72 -138 -72q-54 0 -98 31q-57 40 -69 109t28 127q60 85 81 195t13 199.5t-32 180.5t-39 128t-22 52q-31 63 -8.5 129.5t85.5 97.5q34 17 75 17q47 0 88.5 -25t63.5 -69zM1248 567q-17 - [...]
+<glyph unicode="&#xf1ed;" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 3 [...]
+<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
 <glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24 [...]
 <glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39  [...]
 <glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0  [...]
 <glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1 [...]
-<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M322 689h-15q-19 0 -19 18q0 28 19 85q5 15 15 19.5t28 4.5q77 0 77 -49q0 -41 -30.5 -59.5t-74.5 -18.5zM664 528q-47 0 -47 29q0 62 123 62l3 -3q-5 -88 -79 -88zM1438 687h-15q-19 0 -19 19q0 28 19 85q5 15 14.5 19t28.5 4q77 0 77 -49q0 -41 -30.5 -59.5 t-74.5 -18.5zM1780 527q-47 0 -47 30q0 62 123 62l3 -3q-5 -89 -79 -89zM373 894h-128q-8 0 -14.5 -4t-8.5 -7.5t-7 -12.5q-3 -7 -45 -190t-42 -192q0 -7 5.5 -12.5t13.5 -5.5h62q25 0 32.5 34.5l15 69t32.5 34.5q47 0  [...]
+<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q [...]
 <glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 - [...]
 <glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68  [...]
 <glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7 [...]
@@ -513,8 +513,173 @@
 <glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65 [...]
 <glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
 <glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -8 [...]
-<glyph unicode="&#xf20d;" horiz-adv-x="1792" />
-<glyph unicode="&#xf20e;" horiz-adv-x="1792" />
+<glyph unicode="&#xf20d;" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+<glyph unicode="&#xf20e;" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t [...]
+<glyph unicode="&#xf210;" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+<glyph unicode="&#xf211;" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+<glyph unicode="&#xf212;" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-17 [...]
+<glyph unicode="&#xf213;" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 - [...]
+<glyph unicode="&#xf214;" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l10 [...]
+<glyph unicode="&#xf215;" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+<glyph unicode="&#xf216;" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 - [...]
+<glyph unicode="&#xf217;" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1  [...]
+<glyph unicode="&#xf218;" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 [...]
+<glyph unicode="&#xf219;" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+<glyph unicode="&#xf21a;" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 4 [...]
+<glyph unicode="&#xf21b;" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 [...]
+<glyph unicode="&#xf21c;" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5 [...]
+<glyph unicode="&#xf21d;" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 - [...]
+<glyph unicode="&#xf21e;" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t [...]
+<glyph unicode="&#xf221;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+<glyph unicode="&#xf222;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+<glyph unicode="&#xf223;" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -2 [...]
+<glyph unicode="&#xf224;" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 13 [...]
+<glyph unicode="&#xf225;" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l [...]
+<glyph unicode="&#xf226;" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -12 [...]
+<glyph unicode="&#xf227;" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -7 [...]
+<glyph unicode="&#xf228;" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q1 [...]
+<glyph unicode="&#xf229;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 [...]
+<glyph unicode="&#xf22a;" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t [...]
+<glyph unicode="&#xf22b;" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131. [...]
+<glyph unicode="&#xf22c;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+<glyph unicode="&#xf22d;" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+<glyph unicode="&#xf22e;" horiz-adv-x="1792" />
+<glyph unicode="&#xf22f;" horiz-adv-x="1792" />
+<glyph unicode="&#xf230;" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+<glyph unicode="&#xf231;" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 9 [...]
+<glyph unicode="&#xf232;" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 - [...]
+<glyph unicode="&#xf233;" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+<glyph unicode="&#xf234;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h [...]
+<glyph unicode="&#xf235;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91 [...]
+<glyph unicode="&#xf236;" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />
+<glyph unicode="&#xf237;" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+<glyph unicode="&#xf238;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+<glyph unicode="&#xf239;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+<glyph unicode="&#xf23a;" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+<glyph unicode="&#xf23b;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+<glyph unicode="&#xf23c;" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5z [...]
+<glyph unicode="&#xf23d;" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98 [...]
+<glyph unicode="&#xf23e;" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 - [...]
+<glyph unicode="&#xf240;" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+<glyph unicode="&#xf241;" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+<glyph unicode="&#xf242;" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+<glyph unicode="&#xf243;" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+<glyph unicode="&#xf244;" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+<glyph unicode="&#xf245;" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+<glyph unicode="&#xf246;" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+<glyph unicode="&#xf247;" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+<glyph unicode="&#xf248;" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v [...]
+<glyph unicode="&#xf249;" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+<glyph unicode="&#xf24a;" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />
+<glyph unicode="&#xf24b;" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-12 [...]
+<glyph unicode="&#xf24c;" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323  [...]
+<glyph unicode="&#xf24d;" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 - [...]
+<glyph unicode="&#xf24e;" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t2 [...]
+<glyph unicode="&#xf250;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11 [...]
+<glyph unicode="&#xf251;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -1 [...]
+<glyph unicode="&#xf252;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+<glyph unicode="&#xf253;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11 [...]
+<glyph unicode="&#xf254;" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14  [...]
+<glyph unicode="&#xf255;" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 [...]
+<glyph unicode="&#xf256;" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -17 [...]
+<glyph unicode="&#xf257;" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79 [...]
+<glyph unicode="&#xf258;" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 [...]
+<glyph unicode="&#xf259;" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-1 [...]
+<glyph unicode="&#xf25a;" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47  [...]
+<glyph unicode="&#xf25b;" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 - [...]
+<glyph unicode="&#xf25c;" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51 [...]
+<glyph unicode="&#xf25d;" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5  [...]
+<glyph unicode="&#xf25e;" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q [...]
+<glyph unicode="&#xf260;" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+<glyph unicode="&#xf261;" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+<glyph unicode="&#xf262;" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q [...]
+<glyph unicode="&#xf263;" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 3 [...]
+<glyph unicode="&#xf264;" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 [...]
+<glyph unicode="&#xf265;" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+<glyph unicode="&#xf266;" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5  [...]
+<glyph unicode="&#xf267;" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 1 [...]
+<glyph unicode="&#xf268;" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5  [...]
+<glyph unicode="&#xf269;" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31. [...]
+<glyph unicode="&#xf26a;" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83  [...]
+<glyph unicode="&#xf26b;" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 [...]
+<glyph unicode="&#xf26c;" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+<glyph unicode="&#xf26d;" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12  [...]
+<glyph unicode="&#xf26e;" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q [...]
+<glyph unicode="&#xf270;" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 - [...]
+<glyph unicode="&#xf271;" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408 [...]
+<glyph unicode="&#xf272;" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 1 [...]
+<glyph unicode="&#xf273;" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -1 [...]
+<glyph unicode="&#xf274;" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 5 [...]
+<glyph unicode="&#xf275;" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+<glyph unicode="&#xf276;" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+<glyph unicode="&#xf277;" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+<glyph unicode="&#xf278;" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+<glyph unicode="&#xf279;" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+<glyph unicode="&#xf27a;" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5  [...]
+<glyph unicode="&#xf27b;" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171 [...]
+<glyph unicode="&#xf27c;" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+<glyph unicode="&#xf27d;" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+<glyph unicode="&#xf27e;" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+<glyph unicode="&#xf280;" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 [...]
+<glyph unicode="&#xf281;" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105 [...]
+<glyph unicode="&#xf282;" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -16 [...]
+<glyph unicode="&#xf283;" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+<glyph unicode="&#xf284;" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t2 [...]
+<glyph unicode="&#xf285;" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+<glyph unicode="&#xf286;" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 - [...]
+<glyph unicode="&#xf287;" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t [...]
+<glyph unicode="&#xf288;" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+<glyph unicode="&#xf289;" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 22 [...]
+<glyph unicode="&#xf28a;" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t- [...]
+<glyph unicode="&#xf28b;" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf28c;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+<glyph unicode="&#xf28d;" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
+<glyph unicode="&#xf28e;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+<glyph unicode="&#xf290;" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 11 [...]
+<glyph unicode="&#xf291;" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t- [...]
+<glyph unicode="&#xf292;" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 3 [...]
+<glyph unicode="&#xf293;" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+<glyph unicode="&#xf294;" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+<glyph unicode="&#xf295;" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5  [...]
+<glyph unicode="&#xf296;" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+<glyph unicode="&#xf297;" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -3 [...]
+<glyph unicode="&#xf298;" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+<glyph unicode="&#xf299;" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9. [...]
+<glyph unicode="&#xf29a;" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37 [...]
+<glyph unicode="&#xf29b;" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -5 [...]
+<glyph unicode="&#xf29c;" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768  [...]
+<glyph unicode="&#xf29d;" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 2 [...]
+<glyph unicode="&#xf29e;" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-5 [...]
+<glyph unicode="&#xf2a0;" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t- [...]
+<glyph unicode="&#xf2a1;" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113  [...]
+<glyph unicode="&#xf2a2;" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 [...]
+<glyph unicode="&#xf2a3;" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 [...]
+<glyph unicode="&#xf2a4;" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19  [...]
+<glyph unicode="&#xf2a5;" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39 [...]
+<glyph unicode="&#xf2a6;" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19 [...]
+<glyph unicode="&#xf2a7;" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 7 [...]
+<glyph unicode="&#xf2a8;" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q [...]
+<glyph unicode="&#xf2a9;" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 2 [...]
+<glyph unicode="&#xf2aa;" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86  [...]
+<glyph unicode="&#xf2ab;" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39 [...]
+<glyph unicode="&#xf2ac;" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q [...]
+<glyph unicode="&#xf2ad;" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 [...]
+<glyph unicode="&#xf2ae;" horiz-adv-x="2304" d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2 [...]
+<glyph unicode="&#xf2b0;" d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-10 [...]
+<glyph unicode="&#xf2b1;" horiz-adv-x="1664" d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 - [...]
+<glyph unicode="&#xf2b2;" horiz-adv-x="1792" d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -2 [...]
+<glyph unicode="&#xf2b3;" d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf2b4;" d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf2b5;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2b6;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2b7;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2b8;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2b9;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2ba;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2bb;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2bc;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2bd;" horiz-adv-x="1792" />
+<glyph unicode="&#xf2be;" horiz-adv-x="1792" />
 <glyph unicode="&#xf500;" horiz-adv-x="1792" />
 </font>
 </defs></svg> 
\ No newline at end of file
diff --git a/_static/fonts/fontawesome-webfont.ttf b/_static/fonts/fontawesome-webfont.ttf
index 96a3639..f221e50 100644
Binary files a/_static/fonts/fontawesome-webfont.ttf and b/_static/fonts/fontawesome-webfont.ttf differ
diff --git a/_static/fonts/fontawesome-webfont.woff b/_static/fonts/fontawesome-webfont.woff
index 628b6a5..6e7483c 100644
Binary files a/_static/fonts/fontawesome-webfont.woff and b/_static/fonts/fontawesome-webfont.woff differ
diff --git a/_static/jquery.js b/_static/jquery.js
index ab28a24..f6a6a99 100644
--- a/_static/jquery.js
+++ b/_static/jquery.js
@@ -1,4 +1,4 @@
-/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b [...]
-if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&& [...]
-},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.prop [...]
+/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElem [...]
+r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:fun [...]
+if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:f [...]
diff --git a/_static/js/theme.js b/_static/js/theme.js
index 48a9f06..af661a9 100644
--- a/_static/js/theme.js
+++ b/_static/js/theme.js
@@ -13,33 +13,36 @@ function ThemeNav () {
         winPosition: 0,
         winHeight: null,
         docHeight: null,
-        isRunning: null
+        isRunning: false
     };
 
     nav.enable = function () {
         var self = this;
 
-        jQuery(function ($) {
-            self.init($);
-
-            self.reset();
-            self.win.on('hashchange', self.reset);
-
-            // Set scroll monitor
-            self.win.on('scroll', function () {
-                if (!self.linkScroll) {
-                    self.winScroll = true;
-                }
-            });
-            setInterval(function () { if (self.winScroll) self.onScroll(); }, 25);
-
-            // Set resize monitor
-            self.win.on('resize', function () {
-                self.winResize = true;
+        if (!self.isRunning) {
+            self.isRunning = true;
+            jQuery(function ($) {
+                self.init($);
+
+                self.reset();
+                self.win.on('hashchange', self.reset);
+
+                // Set scroll monitor
+                self.win.on('scroll', function () {
+                    if (!self.linkScroll) {
+                        self.winScroll = true;
+                    }
+                });
+                setInterval(function () { if (self.winScroll) self.onScroll(); }, 25);
+
+                // Set resize monitor
+                self.win.on('resize', function () {
+                    self.winResize = true;
+                });
+                setInterval(function () { if (self.winResize) self.onResize(); }, 25);
+                self.onResize();
             });
-            setInterval(function () { if (self.winResize) self.onResize(); }, 25);
-            self.onResize();
-        });
+        };
     };
 
     nav.init = function ($) {
@@ -95,6 +98,19 @@ function ThemeNav () {
             try {
                 var link = $('.wy-menu-vertical')
                     .find('[href="' + anchor + '"]');
+                // If we didn't find a link, it may be because we clicked on
+                // something that is not in the sidebar (eg: when using
+                // sphinxcontrib.httpdomain it generates headerlinks but those
+                // aren't picked up and placed in the toctree). So let's find
+                // the closest header in the document and try with that one.
+                if (link.length === 0) {
+                  var doc_link = $('.document a[href="' + anchor + '"]');
+                  var closest_section = doc_link.closest('div.section');
+                  // Try again with the closest section entry.
+                  link = $('.wy-menu-vertical')
+                    .find('[href="#' + closest_section.attr("id") + '"]');
+
+                }
                 $('.wy-menu-vertical li.toctree-l1 li.current')
                     .removeClass('current');
                 link.closest('li.toctree-l2').addClass('current');
diff --git a/_static/minus.png b/_static/minus.png
index 0f22b16..d96755f 100644
Binary files a/_static/minus.png and b/_static/minus.png differ
diff --git a/_static/plus.png b/_static/plus.png
index 0cfe084..7107cec 100644
Binary files a/_static/plus.png and b/_static/plus.png differ
diff --git a/_static/searchtools.js b/_static/searchtools.js
index 066857c..bbfb3ac 100644
--- a/_static/searchtools.js
+++ b/_static/searchtools.js
@@ -226,6 +226,106 @@ var Scorer = {
 };
 
 
+
+
+
+var splitChars = (function() {
+    var result = {};
+    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
+         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
+         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
+         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
+         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
+         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
+         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
+         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
+         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
+         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
+    var i, j, start, end;
+    for (i = 0; i < singles.length; i++) {
+        result[singles[i]] = true;
+    }
+    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
+         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
+         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
+         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
+         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
+         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
+         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
+         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
+         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
+         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
+         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
+         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
+         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
+         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
+         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
+         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
+         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
+         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
+         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
+         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
+         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
+         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
+         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
+         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
+         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
+         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
+         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
+         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
+         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
+         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
+         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
+         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
+         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
+         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
+         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
+         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
+         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
+         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
+         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
+         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
+         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
+         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
+         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
+         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
+         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
+         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
+         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
+         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
+         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
+    for (i = 0; i < ranges.length; i++) {
+        start = ranges[i][0];
+        end = ranges[i][1];
+        for (j = start; j <= end; j++) {
+            result[j] = true;
+        }
+    }
+    return result;
+})();
+
+function splitQuery(query) {
+    var result = [];
+    var start = -1;
+    for (var i = 0; i < query.length; i++) {
+        if (splitChars[query.charCodeAt(i)]) {
+            if (start !== -1) {
+                result.push(query.slice(start, i));
+                start = -1;
+            }
+        } else if (start === -1) {
+            start = i;
+        }
+    }
+    if (start !== -1) {
+        result.push(query.slice(start));
+    }
+    return result;
+}
+
+
+
+
 /**
  * Search Module
  */
@@ -324,7 +424,7 @@ var Search = {
     var searchterms = [];
     var excluded = [];
     var hlterms = [];
-    var tmp = query.split(/\s+/);
+    var tmp = splitQuery(query);
     var objectterms = [];
     for (i = 0; i < tmp.length; i++) {
       if (tmp[i] !== "") {
@@ -338,6 +438,10 @@ var Search = {
       }
       // stem the word
       var word = stemmer.stemWord(tmp[i].toLowerCase());
+      // prevent stemmer from cutting word smaller than two chars
+      if(word.length < 3 && tmp[i].length >= 3) {
+        word = tmp[i];
+      }
       var toAppend;
       // select the correct list
       if (word[0] == '-') {
@@ -435,7 +539,8 @@ var Search = {
             displayNextItem();
           });
         } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
-          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt',
+          var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
+          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
                   dataType: "text",
                   complete: function(jqxhr, textstatus) {
                     var data = jqxhr.responseText;
@@ -474,6 +579,7 @@ var Search = {
    */
   performObjectSearch : function(object, otherterms) {
     var filenames = this._index.filenames;
+    var docnames = this._index.docnames;
     var objects = this._index.objects;
     var objnames = this._index.objnames;
     var titles = this._index.titles;
@@ -527,7 +633,7 @@ var Search = {
           } else {
             score += Scorer.objPrioDefault;
           }
-          results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]);
+          results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
         }
       }
     }
@@ -539,6 +645,7 @@ var Search = {
    * search for full-text terms in the index
    */
   performTermsSearch : function(searchterms, excluded, terms, titleterms) {
+    var docnames = this._index.docnames;
     var filenames = this._index.filenames;
     var titles = this._index.titles;
 
@@ -613,7 +720,7 @@ var Search = {
         // select one (max) score for the file.
         // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
         var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
-        results.push([filenames[file], titles[file], '', null, score]);
+        results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
       }
     }
     return results;
diff --git a/_static/up-pressed.png b/_static/up-pressed.png
index 99e7210..acee3b6 100644
Binary files a/_static/up-pressed.png and b/_static/up-pressed.png differ
diff --git a/_static/up.png b/_static/up.png
index 26de002..2a940a7 100644
Binary files a/_static/up.png and b/_static/up.png differ
diff --git a/cli.html b/cli.html
index 71ebad4..60008af 100644
--- a/cli.html
+++ b/cli.html
@@ -30,6 +30,9 @@
   
 
   
+        <link rel="index" title="Index"
+              href="genindex.html"/>
+        <link rel="search" title="Search" href="search.html"/>
     <link rel="top" title="Airflow Documentation" href="index.html"/>
         <link rel="next" title="Scheduling &amp; Triggers" href="scheduler.html"/>
         <link rel="prev" title="Data Profiling" href="profiling.html"/> 
@@ -41,6 +44,7 @@
 
 <body class="wy-body-for-nav" role="document">
 
+   
   <div class="wy-grid-for-nav">
 
     
@@ -91,6 +95,8 @@
 <li class="toctree-l1"><a class="reference internal" href="scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="integration.html">Integration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="code.html">API Reference</a></li>
 </ul>
@@ -105,8 +111,10 @@
 
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">Airflow</a>
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Airflow</a>
+        
       </nav>
 
 
@@ -115,23 +123,40 @@
         <div class="rst-content">
           
 
- 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
 <div role="navigation" aria-label="breadcrumbs navigation">
+
   <ul class="wy-breadcrumbs">
-    <li><a href="index.html">Docs</a> &raquo;</li>
-      
-    <li>Command Line Interface</li>
+    
+      <li><a href="index.html">Docs</a> &raquo;</li>
+        
+      <li>Command Line Interface</li>
+    
+    
       <li class="wy-breadcrumbs-aside">
         
-          
-            <a href="_sources/cli.txt" rel="nofollow"> View page source</a>
+            
+            <a href="_sources/cli.rst.txt" rel="nofollow"> View page source</a>
           
         
       </li>
+    
   </ul>
+
+  
   <hr/>
 </div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
@@ -143,11 +168,24 @@
 many types of operation on a DAG, starting services, and supporting
 development and testing.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span>
-               <span class="p">{</span><span class="n">resetdb</span><span class="p">,</span><span class="n">render</span><span class="p">,</span><span class="n">variables</span><span class="p">,</span><span class="n">pause</span><span class="p">,</span><span class="n">version</span><span class="p">,</span><span class="n">initdb</span><span class="p">,</span><span class="n">test</span><span class="p">,</span><span class="n">unpause</span><span class="p">,</span><span class="n">dag_state< [...]
+               <span class="p">{</span><span class="n">resetdb</span><span class="p">,</span><span class="n">render</span><span class="p">,</span><span class="n">variables</span><span class="p">,</span><span class="n">connections</span><span class="p">,</span><span class="n">pause</span><span class="p">,</span><span class="n">task_failed_deps</span><span class="p">,</span><span class="n">version</span><span class="p">,</span><span class="n">trigger_dag</span><span class="p">,</span><span [...]
                <span class="o">...</span>
 </pre></div>
 </div>
 <dl class="docutils">
+<dt>Required Arguments</dt>
+<dd><table class="first last docutils option-list" frame="void" rules="none">
+<col class="option" />
+<col class="description" />
+<tbody valign="top">
+<tr><td class="option-group">
+<kbd><span class="option">subcommand</span></kbd></td>
+<td><p class="first">sub-command help</p>
+<p class="last">Possible choices: resetdb, render, variables, connections, pause, task_failed_deps, version, trigger_dag, initdb, test, unpause, dag_state, run, list_tasks, backfill, list_dags, kerberos, worker, webserver, flower, scheduler, task_state, pool, serve_logs, clear, upgradedb</p>
+</td></tr>
+</tbody>
+</table>
+</dd>
 <dt>Sub-commands:</dt>
 <dd><dl class="first last docutils">
 <dt><strong>resetdb</strong></dt>
@@ -156,7 +194,7 @@ development and testing.</p>
 </pre></div>
 </div>
 <dl class="last docutils">
-<dt>Options:</dt>
+<dt>Optional Arguments</dt>
 <dd><table class="first last docutils option-list" frame="void" rules="none">
 <col class="option" />
 <col class="description" />
@@ -164,7 +202,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-y=False</span>, <span class="option">--yes=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Do not prompt to confirm reset. Use with care!</td></tr>
+<tr><td>&#160;</td><td>Do not prompt to confirm reset. Use with care!</td></tr>
 </tbody>
 </table>
 </dd>
@@ -176,24 +214,24 @@ development and testing.</p>
 </pre></div>
 </div>
 <dl class="last docutils">
-<dt>Positional arguments:</dt>
+<dt>Required Arguments</dt>
 <dd><table class="first last docutils option-list" frame="void" rules="none">
 <col class="option" />
 <col class="description" />
 <tbody valign="top">
 <tr><td class="option-group">
-<kbd>dag_id</kbd></td>
+<kbd><span class="option">dag_id</span></kbd></td>
 <td>The id of the dag</td></tr>
 <tr><td class="option-group">
-<kbd>task_id</kbd></td>
+<kbd><span class="option">task_id</span></kbd></td>
 <td>The id of the task</td></tr>
 <tr><td class="option-group">
-<kbd>execution_date</kbd></td>
+<kbd><span class="option">execution_date</span></kbd></td>
 <td>The execution date of the DAG</td></tr>
 </tbody>
 </table>
 </dd>
-<dt>Options:</dt>
+<dt>Optional Arguments</dt>
 <dd><table class="first last docutils option-list" frame="void" rules="none">
 <col class="option" />
 <col class="description" />
@@ -201,20 +239,20 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-sd=/Users/maxime_beauchemin/dags</span>, <span class="option">--subdir=/Users/maxime_beauchemin/dags</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>File location or directory from which to look for the dag</td></tr>
+<tr><td>&#160;</td><td>File location or directory from which to look for the dag</td></tr>
 </tbody>
 </table>
 </dd>
 </dl>
 </dd>
 <dt><strong>variables</strong></dt>
-<dd><p class="first">List all variables</p>
+<dd><p class="first">CRUD operations on variables</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">variables</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">s</span> <span class="n">KEY</span> <span class="n">VAL</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span c [...]
                          <span class="p">[</span><span class="o">-</span><span class="n">i</span> <span class="n">FILEPATH</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">e</span> <span class="n">FILEPATH</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">x</span> <span class="n">KEY</span><span class="p">]</span>
 </pre></div>
 </div>
 <dl class="last docutils">
-<dt>Options:</dt>
+<dt>Optional Arguments</dt>
 <dd><table class="first last docutils option-list" frame="void" rules="none">
 <col class="option" />
 <col class="description" />
@@ -228,7 +266,7 @@ development and testing.</p>
 <tr><td class="option-group" colspan="2">
 <kbd><span class="option">-j=False</span>, <span class="option">--json=False</span></kbd></td>
 </tr>
-<tr><td>&nbsp;</td><td>Deserialize JSON variable</td></tr>
+<tr><td>&#160;</td><td>Deserialize JSON variable</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">-d</span>, <span class="option">--default</span></kbd></td>
 <td>Default value returned if variable does not exist</td></tr>
@@ -246,24 +284,100 @@ development and testing.</p>
 </dd>
 </dl>
 </dd>
+<dt><strong>connections</strong></dt>
+<dd><p class="first">List/Add/Delete connections</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">connections</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">a</span><span class="p">]</span> <span clas [...]
+                           <span class="p">[</span><span class="o">--</span><span class="n">conn_uri</span> <span class="n">CONN_URI</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">conn_extra</span> <span class="n">CONN_EXTRA</span><span class="p">]</span>
+</pre></div>
+</div>
+<dl class="last docutils">
+<dt>Optional Arguments</dt>
+<dd><table class="first last docutils option-list" frame="void" rules="none">
+<col class="option" />
+<col class="description" />
+<tbody valign="top">
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-l=False</span>, <span class="option">--list=False</span></kbd></td>
+</tr>
+<tr><td>&#160;</td><td>List all connections</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-a=False</span>, <span class="option">--add=False</span></kbd></td>
+</tr>
+<tr><td>&#160;</td><td>Add a connection</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-d=False</span>, <span class="option">--delete=False</span></kbd></td>
+</tr>
+<tr><td>&#160;</td><td>Delete a connection</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">--conn_id</span></kbd></td>
+<td>Connection id, required to add/delete a connection</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">--conn_uri</span></kbd></td>
+<td>Connection URI, required to add a connection</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">--conn_extra</span></kbd></td>
+<td>Connection `Extra` field, optional when adding a connection</td></tr>
+</tbody>
+</table>
+</dd>
+</dl>
+</dd>
 <dt><strong>pause</strong></dt>
 <dd><p class="first">Pause a DAG</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">pause</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span class="n">SUBDIR</span><span class="p">]</span> <span class="n">dag_id</span>
 </pre></div>
 </div>
 <dl class="last docutils">
-<dt>Positional arguments:</dt>
... 7671 lines suppressed ...


[airflow-site] 05/30: New version of the docs

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 4af0850c3b9f8d0874a58a51ddf5cf83c4ad74e5
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Thu Aug 11 15:58:56 2016 -0700

    New version of the docs
---
 _modules/S3_hook.html                              |   1 +
 .../contrib/operators/bigquery_operator.html       |   1 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   1 +
 .../contrib/operators/gcs_download_operator.html   |   1 +
 _modules/airflow/executors/local_executor.html     |   4 +-
 _modules/airflow/macros.html                       |   1 -
 _modules/airflow/models.html                       | 408 +++++++++++++++++----
 _modules/airflow/operators/sensors.html            |  26 +-
 _modules/bash_operator.html                        |   8 +-
 _modules/bigquery_hook.html                        |  56 +--
 _modules/cloudant_hook.html                        |   4 +-
 _modules/dagrun_operator.html                      |   1 +
 _modules/dbapi_hook.html                           |  15 +-
 _modules/druid_hook.html                           |  14 +-
 _modules/email_operator.html                       |  10 +-
 _modules/ftp_hook.html                             |  10 +
 _modules/hive_hooks.html                           | 183 ++++++---
 _modules/hive_operator.html                        |  22 +-
 _modules/hive_to_mysql.html                        |   1 +
 _modules/mysql_hook.html                           |   1 +
 _modules/presto_check_operator.html                |   5 +-
 _modules/sensors.html                              |  30 +-
 _modules/ssh_hook.html                             |   5 +-
 _modules/vertica_hook.html                         |   1 +
 _modules/vertica_to_hive.html                      |   1 +
 _modules/webhdfs_hook.html                         |  16 +-
 _sources/code.txt                                  |   1 +
 _sources/faq.txt                                   |  47 ++-
 _sources/security.txt                              |   8 +-
 _sources/tutorial.txt                              |   4 +-
 _static/default.css                                |   3 +
 cli.html                                           |  33 +-
 code.html                                          | 309 +++++++++++++---
 faq.html                                           |  59 ++-
 genindex.html                                      |  48 ++-
 index.html                                         |  10 +-
 objects.inv                                        | Bin 2246 -> 2326 bytes
 searchindex.js                                     |   2 +-
 security.html                                      |   8 +-
 tutorial.html                                      |   4 +-
 40 files changed, 1079 insertions(+), 283 deletions(-)

diff --git a/_modules/S3_hook.html b/_modules/S3_hook.html
index cca8dea..40a14c3 100644
--- a/_modules/S3_hook.html
+++ b/_modules/S3_hook.html
@@ -151,6 +151,7 @@
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
 
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">division</span>
 <span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">import</span> <span class="nn">logging</span>
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
index 6038f2c..c7fcfd9 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -157,6 +157,7 @@
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
+
 <div class="viewcode-block" id="BigQueryOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Executes BigQuery SQL queries in a specific BigQuery database</span>
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
index a3b8d18..97cf815 100644
--- a/_modules/airflow/contrib/operators/bigquery_to_gcs.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -157,6 +157,7 @@
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
+
 <div class="viewcode-block" id="BigQueryToCloudStorageOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryToCloudStorageOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Transfers a BigQuery table to a Google Cloud Storage bucket.</span>
diff --git a/_modules/airflow/contrib/operators/gcs_download_operator.html b/_modules/airflow/contrib/operators/gcs_download_operator.html
index dbf56fb..39186e2 100644
--- a/_modules/airflow/contrib/operators/gcs_download_operator.html
+++ b/_modules/airflow/contrib/operators/gcs_download_operator.html
@@ -158,6 +158,7 @@
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
+
 <div class="viewcode-block" id="GoogleCloudStorageDownloadOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageDownloadOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Downloads a file from Google Cloud Storage.</span>
diff --git a/_modules/airflow/executors/local_executor.html b/_modules/airflow/executors/local_executor.html
index 1841cb4..250eafd 100644
--- a/_modules/airflow/executors/local_executor.html
+++ b/_modules/airflow/executors/local_executor.html
@@ -223,7 +223,9 @@
 
     <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="c1"># Sending poison pill to all worker</span>
-        <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">]</span>
+        <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span>
+
         <span class="c1"># Wait for commands to finish</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sync</span><span class="p">()</span></div>
diff --git a/_modules/airflow/macros.html b/_modules/airflow/macros.html
index 78efd22..19c18ff 100644
--- a/_modules/airflow/macros.html
+++ b/_modules/airflow/macros.html
@@ -209,7 +209,6 @@
         <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
         <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
 
-
         <span class="c1">##########################################################</span>
         <span class="c1"># TODO FIXME Remove in Airflow 2.0</span>
 
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index d4ed8a6..2f044a4 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -198,6 +198,7 @@
 <span class="kn">from</span> <span class="nn">airflow.executors</span> <span class="kn">import</span> <span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span> <span class="n">LocalExecutor</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
+<span class="kn">from</span> <span class="nn">airflow.dag.base_dag</span> <span class="kn">import</span> <span class="n">BaseDag</span><span class="p">,</span> <span class="n">BaseDagBag</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.dates</span> <span class="kn">import</span> <span class="n">cron_presets</span><span class="p">,</span> <span class="n">date_range</span> <span class="k">as</span> <span class="n">utils_date_range</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.db</span> <span class="kn">import</span> <span class="n">provide_session</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
@@ -205,6 +206,7 @@
 <span class="kn">from</span> <span class="nn">airflow.utils.helpers</span> <span class="kn">import</span> <span class="p">(</span>
     <span class="n">as_tuple</span><span class="p">,</span> <span class="n">is_container</span><span class="p">,</span> <span class="n">is_in</span><span class="p">,</span> <span class="n">validate_key</span><span class="p">,</span> <span class="n">pprinttable</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="kn">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.operator_resources</span> <span class="kn">import</span> <span class="n">Resources</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.timeout</span> <span class="kn">import</span> <span class="n">timeout</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.trigger_rule</span> <span class="kn">import</span> <span class="n">TriggerRule</span>
@@ -267,7 +269,7 @@
             <span class="n">dr</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
 
 
-<div class="viewcode-block" id="DagBag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag">[docs]</a><span class="k">class</span> <span class="nc">DagBag</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+<div class="viewcode-block" id="DagBag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag">[docs]</a><span class="k">class</span> <span class="nc">DagBag</span><span class="p">(</span><span class="n">BaseDagBag</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    A dagbag is a collection of dags, parsed out of a folder tree and has high</span>
 <span class="sd">    level configuration settings, like what database to use as a backend and</span>
@@ -278,7 +280,7 @@
 <span class="sd">    independent settings sets.</span>
 
 <span class="sd">    :param dag_folder: the folder to scan to find DAGs</span>
-<span class="sd">    :type dag_folder: str</span>
+<span class="sd">    :type dag_folder: unicode</span>
 <span class="sd">    :param executor: the executor to use when executing task instances</span>
 <span class="sd">        in this DagBag</span>
 <span class="sd">    :param include_examples: whether to include the examples that ship</span>
@@ -293,25 +295,23 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">dag_folder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">executor</span><span class="o">=</span><span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span>
-            <span class="n">include_examples</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;LOAD_EXAMPLES&#39;</span><span class="p">),</span>
-            <span class="n">sync_to_db</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+            <span class="n">include_examples</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;LOAD_EXAMPLES&#39;</span><span class="p">)):</span>
 
         <span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span> <span class="ow">or</span> <span class="n">DAGS_FOLDER</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Filling up the DagBag from {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dags</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">sync_to_db</span> <span class="o">=</span> <span class="n">sync_to_db</span>
+        <span class="c1"># the file&#39;s last modified timestamp when we last read it</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">executor</span> <span class="o">=</span> <span class="n">executor</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span> <span class="o">=</span> <span class="p">{}</span>
+
         <span class="k">if</span> <span class="n">include_examples</span><span class="p">:</span>
             <span class="n">example_dag_folder</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
                 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">),</span>
                 <span class="s1">&#39;example_dags&#39;</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">collect_dags</span><span class="p">(</span><span class="n">example_dag_folder</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">collect_dags</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">sync_to_db</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">deactivate_inactive_dags</span><span class="p">()</span>
 
 <div class="viewcode-block" id="DagBag.size"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.size">[docs]</a>    <span class="k">def</span> <span class="nf">size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -330,7 +330,7 @@
             <span class="k">if</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span><span class="p">:</span>
                 <span class="n">root_dag_id</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">parent_dag</span><span class="o">.</span><span class="n">dag_id</span>
 
-        <span class="c1"># If the root_dag_id is absent or expired</span>
+        <span class="c1"># If the dag corresponding to root_dag_id is absent or expired</span>
         <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="o">.</span><span class="n">get_current</span><span class="p">(</span><span class="n">root_dag_id</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">orm_dag</span> <span class="ow">and</span> <span class="p">(</span>
                 <span class="n">root_dag_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span> <span class="ow">or</span>
@@ -339,10 +339,11 @@
                     <span class="n">dag</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">&lt;</span> <span class="n">orm_dag</span><span class="o">.</span><span class="n">last_expired</span>
                 <span class="p">)</span>
         <span class="p">):</span>
-            <span class="c1"># Reprocessing source file</span>
+            <span class="c1"># Reprocess source file</span>
             <span class="n">found_dags</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span>
                 <span class="n">filepath</span><span class="o">=</span><span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
 
+            <span class="c1"># If the source file no longer exports `dag_id`, delete it from self.dags</span>
             <span class="k">if</span> <span class="n">found_dags</span> <span class="ow">and</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="p">[</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">found_dags</span><span class="p">]:</span>
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag_id</span><span class="p">]</span>
             <span class="k">elif</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">:</span>
@@ -363,10 +364,10 @@
         <span class="k">try</span><span class="p">:</span>
             <span class="c1"># This failed before in what may have been a git sync</span>
             <span class="c1"># race condition</span>
-            <span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">getmtime</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
+            <span class="n">file_last_changed_on_disk</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">getmtime</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
             <span class="k">if</span> <span class="n">only_if_updated</span> \
                     <span class="ow">and</span> <span class="n">filepath</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span> \
-                    <span class="ow">and</span> <span class="n">dttm</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]:</span>
+                    <span class="ow">and</span> <span class="n">file_last_changed_on_disk</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]:</span>
                 <span class="k">return</span> <span class="n">found_dags</span>
 
         <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
@@ -395,7 +396,7 @@
                 <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s2">&quot;Failed to import: &quot;</span> <span class="o">+</span> <span class="n">filepath</span><span class="p">)</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">file_last_changed_on_disk</span>
 
         <span class="k">else</span><span class="p">:</span>
             <span class="n">zip_file</span> <span class="o">=</span> <span class="n">zipfile</span><span class="o">.</span><span class="n">ZipFile</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span>
@@ -426,7 +427,7 @@
                     <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s2">&quot;Failed to import: &quot;</span> <span class="o">+</span> <span class="n">filepath</span><span class="p">)</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">file_last_changed_on_disk</span>
 
         <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">mods</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">values</span><span class="p">()):</span>
@@ -439,11 +440,11 @@
                     <span class="n">found_dags</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
                     <span class="n">found_dags</span> <span class="o">+=</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">file_last_changed_on_disk</span>
         <span class="k">return</span> <span class="n">found_dags</span></div>
 
     <span class="nd">@provide_session</span>
-<div class="viewcode-block" id="DagBag.kill_zombies"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.kill_zombies">[docs]</a>    <span class="k">def</span> <span class="nf">kill_zombies</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+<div class="viewcode-block" id="DagBag.kill_zombies"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.kill_zombies">[docs]</a>    <span class="k">def</span> <span class="nf">kill_zombies</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Fails tasks that haven&#39;t had a heartbeat in too long</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -477,6 +478,7 @@
                     <span class="n">ti</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="s2">&quot;{} killed as zombie&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                         <span class="s1">&#39;Marked zombie job {} as failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
+                    <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;zombies_killed&#39;</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="DagBag.bag_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.bag_dag">[docs]</a>    <span class="k">def</span> <span class="nf">bag_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="p">):</span>
@@ -490,20 +492,6 @@
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
             <span class="n">settings</span><span class="o">.</span><span class="n">policy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">sync_to_db</span><span class="p">:</span>
-            <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
-            <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
-                <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">orm_dag</span><span class="p">:</span>
-                <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
-            <span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">full_filepath</span>
-            <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span>
-            <span class="n">orm_dag</span><span class="o">.</span><span class="n">owners</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">owner</span>
-            <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">True</span>
-            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">orm_dag</span><span class="p">)</span>
-            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-            <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
-
         <span class="k">for</span> <span class="n">subdag</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span><span class="p">:</span>
             <span class="n">subdag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
             <span class="n">subdag</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="n">dag</span>
@@ -692,7 +680,8 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt, configuration is missing&quot;</span><span class="p">)</span>
+                    <span class="s2">&quot;Can&#39;t decrypt encrypted password for login={}, </span><span class="se">\</span>
+<span class="s2">                    FERNET_KEY configuration is missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">login</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_password</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_password</span>
@@ -715,7 +704,8 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt `extra`, configuration is missing&quot;</span><span class="p">)</span>
+                    <span class="s2">&quot;Can&#39;t decrypt `extra` params for login={},</span><span class="se">\</span>
+<span class="s2">                    FERNET_KEY configuration is missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">login</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_extra</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span>
@@ -891,8 +881,78 @@
 <span class="sd">        the orchestrator.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span>
-        <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
-        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;airflow run {self.dag_id} {self.task_id} {iso} &quot;</span>
+
+        <span class="n">should_pass_filepath</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">pickle_id</span> <span class="ow">and</span> <span class="n">dag</span>
+        <span class="k">if</span> <span class="n">should_pass_filepath</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">!=</span> <span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="s2">&quot;DAGS_FOLDER/{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">should_pass_filepath</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="bp">None</span>
+
+        <span class="k">return</span> <span class="n">TaskInstance</span><span class="o">.</span><span class="n">generate_command</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+            <span class="n">force</span><span class="o">=</span><span class="n">force</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="n">local</span><span class="p">,</span>
+            <span class="n">pickle_id</span><span class="o">=</span><span class="n">pickle_id</span><span class="p">,</span>
+            <span class="n">file_path</span><span class="o">=</span><span class="n">path</span><span class="p">,</span>
+            <span class="n">raw</span><span class="o">=</span><span class="n">raw</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="n">job_id</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">)</span></div>
+
+    <span class="nd">@staticmethod</span>
+<div class="viewcode-block" id="TaskInstance.generate_command"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.generate_command">[docs]</a>    <span class="k">def</span> <span class="nf">generate_command</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span>
+                         <span class="n">task_id</span><span class="p">,</span>
+                         <span class="n">execution_date</span><span class="p">,</span>
+                         <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">pickle_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                         <span class="n">file_path</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                         <span class="n">raw</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                         <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                         <span class="n">pool</span><span class="o">=</span><span class="bp">None</span>
+                         <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Generates the shell command required to execute this task instance.</span>
+
+<span class="sd">        :param dag_id: DAG ID</span>
+<span class="sd">        :type dag_id: unicode</span>
+<span class="sd">        :param task_id: Task ID</span>
+<span class="sd">        :type task_id: unicode</span>
+<span class="sd">        :param execution_date: Execution date for the task</span>
+<span class="sd">        :type execution_date: datetime</span>
+<span class="sd">        :param mark_success: Whether to mark the task as successful</span>
+<span class="sd">        :type mark_success: bool</span>
+<span class="sd">        :param ignore_dependencies: Whether to ignore the dependencies and run</span>
+<span class="sd">        anyway</span>
+<span class="sd">        :type ignore_dependencies: bool</span>
+<span class="sd">        :param ignore_depends_on_past: Whether to ignore the depends on past</span>
+<span class="sd">        setting and run anyway</span>
+<span class="sd">        :type ignore_depends_on_past: bool</span>
+<span class="sd">        :param force: Whether to force running - see TaskInstance.run()</span>
+<span class="sd">        :type force: bool</span>
+<span class="sd">        :param local: Whether to run the task locally</span>
+<span class="sd">        :type local: bool</span>
+<span class="sd">        :param pickle_id: If the DAG was serialized to the DB, the ID</span>
+<span class="sd">        associated with the pickled DAG</span>
+<span class="sd">        :type pickle_id: unicode</span>
+<span class="sd">        :param file_path: path to the file containing the DAG definition</span>
+<span class="sd">        :param raw: raw mode (needs more details)</span>
+<span class="sd">        :param job_id: job ID (needs more details)</span>
+<span class="sd">        :param pool: the Airflow pool that the task should run in</span>
+<span class="sd">        :type pool: unicode</span>
+<span class="sd">        :return: shell command that can be used to run the task instance</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;airflow run {dag_id} {task_id} {iso} &quot;</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--mark_success &quot;</span> <span class="k">if</span> <span class="n">mark_success</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pickle {pickle_id} &quot;</span> <span class="k">if</span> <span class="n">pickle_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--job_id {job_id} &quot;</span> <span class="k">if</span> <span class="n">job_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
@@ -902,11 +962,7 @@
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--local &quot;</span> <span class="k">if</span> <span class="n">local</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pool {pool} &quot;</span> <span class="k">if</span> <span class="n">pool</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
         <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--raw &quot;</span> <span class="k">if</span> <span class="n">raw</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">pickle_id</span> <span class="ow">and</span> <span class="n">dag</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">!=</span> <span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
-                <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd DAGS_FOLDER/{dag.filepath} &quot;</span>
-            <span class="k">elif</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
-                <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd {dag.full_filepath}&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd {file_path}&quot;</span> <span class="k">if</span> <span class="n">file_path</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
         <span class="k">return</span> <span class="n">cmd</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span></div>
 
     <span class="nd">@property</span>
@@ -1284,13 +1340,25 @@
             <span class="s2">&quot;{ti.execution_date} [{ti.state}]&gt;&quot;</span>
         <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
 
+<div class="viewcode-block" id="TaskInstance.next_retry_datetime"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.next_retry_datetime">[docs]</a>    <span class="k">def</span> <span class="nf">next_retry_datetime</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get datetime of the next retry if the task instance fails. For exponential</span>
+<span class="sd">        backoff, retry_delay is used as base and will be converted to seconds.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">delay</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">retry_delay</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">retry_exponential_backoff</span><span class="p">:</span>
+            <span class="n">delay_backoff_in_seconds</span> <span class="o">=</span> <span class="n">delay</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">**</span> <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span>
+            <span class="n">delay</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="n">delay_backoff_in_seconds</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">max_retry_delay</span><span class="p">:</span>
+                <span class="n">delay</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">max_retry_delay</span><span class="p">,</span> <span class="n">delay</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="n">delay</span></div>
+
 <div class="viewcode-block" id="TaskInstance.ready_for_retry"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.ready_for_retry">[docs]</a>    <span class="k">def</span> <span class="nf">ready_for_retry</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Checks on whether the task instance is in the right state and timeframe</span>
 <span class="sd">        to be retried.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> \
-            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">&lt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span></div>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_retry_datetime</span><span class="p">()</span> <span class="o">&lt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><s [...]
 
     <span class="nd">@provide_session</span>
 <div class="viewcode-block" id="TaskInstance.pool_full"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.pool_full">[docs]</a>    <span class="k">def</span> <span class="nf">pool_full</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
@@ -1308,9 +1376,7 @@
             <span class="o">.</span><span class="n">first</span><span class="p">()</span>
         <span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">pool</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
-                <span class="s2">&quot;Task specified a pool ({}) but the pool &quot;</span>
-                <span class="s2">&quot;doesn&#39;t exist!&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">pool</span><span class="p">))</span>
+            <span class="k">return</span> <span class="bp">False</span>
         <span class="n">open_slots</span> <span class="o">=</span> <span class="n">pool</span><span class="o">.</span><span class="n">open_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="n">open_slots</span> <span class="o">&lt;=</span> <span class="mi">0</span></div>
@@ -1378,7 +1444,7 @@
             <span class="c1"># todo: move this to the scheduler</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span>
                 <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()):</span>
-            <span class="n">next_run</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="n">task</span><span class="o">.</span><span class="n">retry_delay</span><span class="p">)</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+            <span class="n">next_run</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_retry_datetime</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s2">&quot;Not ready for retry yet. &quot;</span> <span class="o">+</span>
                 <span class="s2">&quot;Next run after {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">next_run</span><span class="p">)</span>
@@ -1510,6 +1576,9 @@
         <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
             <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
 
+        <span class="c1"># Log failure duration</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">TaskFail</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</sp [...]
+
         <span class="c1"># Let&#39;s go deeper</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span>< [...]
@@ -1592,17 +1661,25 @@
 <span class="sd">            {var.variable_name}.</span>
 <span class="sd">            &quot;&quot;&quot;</span>
             <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-                <span class="k">pass</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="bp">None</span>
 
             <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
-                <span class="k">return</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">var</span>
+
+            <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+                <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">var</span><span class="p">)</span>
 
         <span class="k">class</span> <span class="nc">VariableJsonAccessor</span><span class="p">:</span>
             <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-                <span class="k">pass</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span> <span class="bp">None</span>
 
             <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
-                <span class="k">return</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">var</span> <span class="o">=</span>  <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">var</span>
+
+            <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+                <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">var</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="p">{</span>
             <span class="s1">&#39;dag&#39;</span><span class="p">:</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="p">,</span>
@@ -1755,6 +1832,29 @@
             <span class="k">return</span> <span class="n">pull_fn</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="n">task_ids</span><span class="p">)</span></div></div>
 
 
+<span class="k">class</span> <span class="nc">TaskFail</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    TaskFail tracks the failed run durations of each task instance.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;task_fail&quot;</span>
+
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">duration</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Float</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">=</span> <span class="n">execution_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span>
+
+
 <span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Used to actively log events to the database</span>
@@ -1831,6 +1931,12 @@
 <span class="sd">    :type retries: int</span>
 <span class="sd">    :param retry_delay: delay between retries</span>
 <span class="sd">    :type retry_delay: timedelta</span>
+<span class="sd">    :param retry_exponential_backoff: allow progressive longer waits between</span>
+<span class="sd">        retries by using exponential backoff algorithm on retry delay (delay</span>
+<span class="sd">        will be converted into seconds)</span>
+<span class="sd">    :type retry_exponential_backoff: bool</span>
+<span class="sd">    :param max_retry_delay: maximum delay interval between retries</span>
+<span class="sd">    :type max_retry_delay: timedelta</span>
 <span class="sd">    :param start_date: The ``start_date`` for the task, determines</span>
 <span class="sd">        the ``execution_date`` for the first task instance. The best practice</span>
 <span class="sd">        is to have the start_date rounded</span>
@@ -1908,6 +2014,9 @@
 <span class="sd">        using the constants defined in the static class</span>
 <span class="sd">        ``airflow.utils.TriggerRule``</span>
 <span class="sd">    :type trigger_rule: str</span>
+<span class="sd">    :param resources: A map of resource parameter names (the argument names of the</span>
+<span class="sd">        Resources constructor) to their values.</span>
+<span class="sd">    :type resources: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="c1"># For derived classes to define which fields will get jinjaified</span>
@@ -1928,6 +2037,8 @@
             <span class="n">email_on_failure</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
             <span class="n">retries</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
             <span class="n">retry_delay</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="mi">300</span><span class="p">),</span>
+            <span class="n">retry_exponential_backoff</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">max_retry_delay</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">schedule_interval</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>  <span class="c1"># not hooked as of now</span>
@@ -1946,6 +2057,7 @@
             <span class="n">on_success_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">on_retry_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">trigger_rule</span><span class="o">=</span><span class="n">TriggerRule</span><span class="o">.</span><span class="n">ALL_SUCCESS</span><span class="p">,</span>
+            <span class="n">resources</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
@@ -2003,9 +2115,12 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;retry_delay isn&#39;t timedelta object, assuming secs&quot;</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="n">retry_delay</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retry_exponential_backoff</span> <span class="o">=</span> <span class="n">retry_exponential_backoff</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">max_retry_delay</span> <span class="o">=</span> <span class="n">max_retry_delay</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="n">params</span> <span class="ow">or</span> <span class="p">{}</span>  <span class="c1"># Available in templates!</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">adhoc</span> <span class="o">=</span> <span class="n">adhoc</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span> <span class="o">=</span> <span class="n">priority_weight</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resources</span> <span class="o">=</span> <span class="n">Resources</span><span class="p">(</span><span class="o">**</span><span class="p">(</span><span class="n">resources</span> <span class="ow">or</span> <span class="p">{}))</span>
 
         <span class="c1"># Private attributes</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="o">=</span> <span class="p">[]</span>
@@ -2023,6 +2138,8 @@
             <span class="s1">&#39;email&#39;</span><span class="p">,</span>
             <span class="s1">&#39;email_on_retry&#39;</span><span class="p">,</span>
             <span class="s1">&#39;retry_delay&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;retry_exponential_backoff&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;max_retry_delay&#39;</span><span class="p">,</span>
             <span class="s1">&#39;start_date&#39;</span><span class="p">,</span>
             <span class="s1">&#39;schedule_interval&#39;</span><span class="p">,</span>
             <span class="s1">&#39;depends_on_past&#39;</span><span class="p">,</span>
@@ -2042,7 +2159,7 @@
             <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
                 <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
 
-    <span class="k">def</span> <span class="nf">__neq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__ne__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
         <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span> <span class="o">==</span> <span class="n">other</span>
 
     <span class="k">def</span> <span class="nf">__lt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
@@ -2541,8 +2658,8 @@
     <span class="n">last_scheduler_run</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="c1"># Last time this DAG was pickled</span>
     <span class="n">last_pickled</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
-    <span class="c1"># When the DAG received a refreshed signal last, used to know when</span>
-    <span class="c1"># we need to force refresh</span>
+    <span class="c1"># Time when the DAG last received a refresh signal</span>
+    <span class="c1"># (e.g. the DAG&#39;s &quot;refresh&quot; button was clicked in the web UI)</span>
     <span class="n">last_expired</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
     <span class="c1"># Whether (one  of) the scheduler is scheduling this DAG at the moment</span>
     <span class="n">scheduler_lock</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
@@ -2567,7 +2684,7 @@
 
 
 <span class="nd">@functools.total_ordering</span>
-<div class="viewcode-block" id="DAG"><a class="viewcode-back" href="../../code.html#airflow.models.DAG">[docs]</a><span class="k">class</span> <span class="nc">DAG</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+<div class="viewcode-block" id="DAG"><a class="viewcode-back" href="../../code.html#airflow.models.DAG">[docs]</a><span class="k">class</span> <span class="nc">DAG</span><span class="p">(</span><span class="n">BaseDag</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    A dag (directed acyclic graph) is a collection of tasks with directional</span>
 <span class="sd">    dependencies. A dag also has a schedule, a start end an end date</span>
@@ -2655,8 +2772,14 @@
             <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_args</span><span class="p">[</span><span class="s1">&#39;params&#39;</span><span class="p">]</span>
 
         <span class="n">validate_key</span><span class="p">(</span><span class="n">dag_id</span><span class="p">)</span>
+
+        <span class="c1"># Properties from BaseDag</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span> <span class="o">=</span> <span class="n">full_filepath</span> <span class="k">if</span> <span class="n">full_filepath</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span> <span class="o">=</span> <span class="n">concurrency</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span> <span class="o">=</span> <span class="bp">None</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
@@ -2666,14 +2789,12 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="bp">None</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">full_filepath</span> <span class="k">if</span> <span class="n">full_filepath</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span>
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">template_searchpath</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
             <span class="n">template_searchpath</span> <span class="o">=</span> <span class="p">[</span><span class="n">template_searchpath</span><span class="p">]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span> <span class="o">=</span> <span class="n">template_searchpath</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="bp">None</span>  <span class="c1"># Gets set when DAGs are loaded</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">safe_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;__dot__&#39;</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">concurrency</span> <span class="o">=</span> <span class="n">concurrency</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">max_active_runs</span> <span class="o">=</span> <span class="n">max_active_runs</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dagrun_timeout</span> <span class="o">=</span> <span class="n">dagrun_timeout</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sla_miss_callback</span> <span class="o">=</span> <span class="n">sla_miss_callback</span>
@@ -2695,10 +2816,12 @@
     <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">(</span>
             <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">==</span> <span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> <span class="ow">and</span>
-            <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
+            <span class="c1"># Use getattr() instead of __dict__ as __dict__ doesn&#39;t return</span>
+            <span class="c1"># correct values for properties.</span>
+            <span class="nb">all</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span cl [...]
                 <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
 
-    <span class="k">def</span> <span class="nf">__neq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__ne__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
         <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span> <span class="o">==</span> <span class="n">other</span>
 
     <span class="k">def</span> <span class="nf">__lt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
@@ -2770,6 +2893,38 @@
         <span class="k">return</span> <span class="n">dttm</span></div>
 
     <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span>
+
+    <span class="nd">@dag_id.setter</span>
+    <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_dag_id</span> <span class="o">=</span> <span class="n">value</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">full_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span>
+
+    <span class="nd">@full_filepath.setter</span>
+    <span class="k">def</span> <span class="nf">full_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_full_filepath</span> <span class="o">=</span> <span class="n">value</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">concurrency</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span>
+
+    <span class="nd">@concurrency.setter</span>
+    <span class="k">def</span> <span class="nf">concurrency</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_concurrency</span> <span class="o">=</span> <span class="n">value</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">pickle_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span>
+
+    <span class="nd">@pickle_id.setter</span>
+    <span class="k">def</span> <span class="nf">pickle_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_pickle_id</span> <span class="o">=</span> <span class="n">value</span>
+
+    <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
 
@@ -2866,6 +3021,15 @@
                 <span class="n">l</span> <span class="o">+=</span> <span class="n">task</span><span class="o">.</span><span class="n">subdag</span><span class="o">.</span><span class="n">subdags</span>
         <span class="k">return</span> <span class="n">l</span>
 
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">reached_max_runs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">active_runs</span> <span class="o">=</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">find</span><span class="p">(</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
+            <span class="n">external_trigger</span><span class="o">=</span><span class="bp">False</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">active_runs</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_active_runs</span>
+
     <span class="k">def</span> <span class="nf">resolve_template_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
             <span class="n">t</span><span class="o">.</span><span class="n">resolve_template_files</span><span class="p">()</span>
@@ -2932,9 +3096,9 @@
         <span class="n">dates</span> <span class="o">=</span> <span class="n">utils_date_range</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">)</span>
         <span class="n">drs</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span cla [...]
         <span class="k">for</span> <span class="n">dr</span> <span class="ow">in</span> <span class="n">drs</span><span class="p">:</span>
-            <span class="n">dr</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+            <span class="n">dr</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
 
-    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
+<div class="viewcode-block" id="DAG.clear"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.clear">[docs]</a>    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">only_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
             <span class="n">only_running</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
@@ -2942,11 +3106,11 @@
             <span class="n">include_subdags</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
             <span class="n">reset_dag_runs</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
             <span class="n">dry_run</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
-        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Clears a set of task instances associated with the current dag for</span>
 <span class="sd">        a specified date range.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
         <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">include_subdags</span><span class="p">:</span>
@@ -2998,7 +3162,7 @@
 
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">count</span>
+        <span class="k">return</span> <span class="n">count</span></div>
 
     <span class="k">def</span> <span class="nf">__deepcopy__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
         <span class="c1"># Swiwtcharoo to go around deepcopying objects coming through the</span>
@@ -3230,7 +3394,81 @@
         <span class="n">run</span><span class="o">.</span><span class="n">verify_integrity</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
         <span class="n">run</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">run</span></div></div>
+        <span class="k">return</span> <span class="n">run</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.sync_to_db"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sync_to_db">[docs]</a>    <span class="k">def</span> <span class="nf">sync_to_db</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">owner</span><span class="p">,</span> <span class="n">sync_time</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Save attributes about this DAG to the DB. Note that this method</span>
+<span class="sd">        can be called for both DAGs and SubDAGs. A SubDag is actually a</span>
+<span class="sd">        SubDagOperator.</span>
+
+<span class="sd">        :param dag: the DAG object to save to the DB</span>
+<span class="sd">        :type dag: DAG</span>
+<span class="sd">        :own</span>
+<span class="sd">        :param sync_time: The time that the DAG should be marked as sync&#39;ed</span>
+<span class="sd">        :type sync_time: datetime</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+            <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">orm_dag</span><span class="p">:</span>
+            <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating ORM DAG for </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                         <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">owners</span> <span class="o">=</span> <span class="n">owner</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="n">orm_dag</span><span class="o">.</span><span class="n">last_scheduler_run</span> <span class="o">=</span> <span class="n">sync_time</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">orm_dag</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+        <span class="k">for</span> <span class="n">subdag</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span><span class="p">:</span>
+            <span class="n">DAG</span><span class="o">.</span><span class="n">sync_to_db</span><span class="p">(</span><span class="n">subdag</span><span class="p">,</span> <span class="n">owner</span><span class="p">,</span> <span class="n">sync_time</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.deactivate_unknown_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_unknown_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_unknown_dags</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given a list of known DAGs, deactivate any other DAGs that are</span>
+<span class="sd">        marked as active in the ORM</span>
+
+<span class="sd">        :param active_dag_ids: list of DAG IDs that are active</span>
+<span class="sd">        :type active_dag_ids: list[unicode]</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span>
+        <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+                <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="o">~</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">))</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.deactivate_stale_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.deactivate_stale_dags">[docs]</a>    <span class="k">def</span> <span class="nf">deactivate_stale_dags</span><span class="p">(</span><span class="n">expiration_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deactivate any DAGs that were last touched by the scheduler before</span>
+<span class="sd">        the expiration date. These DAGs were likely deleted.</span>
+
+<span class="sd">        :param expiration_date: set inactive DAGs that were touched before this</span>
+<span class="sd">        time</span>
+<span class="sd">        :type expiration_date: datetime</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+                <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">last_scheduler_run</span> <span class="o">&lt;</span> <span class="n">expiration_date</span><span class="p">,</span>
+                                 <span class="n">DagModel</span><span class="o">.</span><span class="n">is_active</span><span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Deactivating DAG ID </span><span class="si">%s</span><span class="s2"> since it was last touched &quot;</span>
+                         <span class="s2">&quot;by the scheduler at </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+                         <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                         <span class="n">dag</span><span class="o">.</span><span class="n">last_scheduler_run</span><span class="o">.</span><span class="n">isoformat</span><span class="p">())</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div></div>
 
 
 <span class="k">class</span> <span class="nc">Chart</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
@@ -3305,7 +3543,8 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;Can&#39;t decrypt _val, configuration is missing&quot;</span><span class="p">)</span>
+                    <span class="s2">&quot;Can&#39;t decrypt _val for key={}, FERNET_KEY configuration </span><span class="se">\</span>
+<span class="s2">                    missing&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">))</span>
             <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span>
@@ -3323,6 +3562,7 @@
     <span class="k">def</span> <span class="nf">val</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">synonym</span><span class="p">(</span><span class="s1">&#39;_val&#39;</span><span class="p">,</span>
                        <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_val</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_val</span><span class="p">))</span>
+
     <span class="nd">@classmethod</span>
     <span class="nd">@provide_session</span>
     <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">default_var</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</spa [...]
@@ -3526,7 +3766,7 @@
             <span class="n">external_trigger</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">external_trigger</span><span class="p">)</span>
 
     <span class="nd">@classmethod</span>
-    <span class="k">def</span> <span class="nf">id_for_date</span><span class="p">(</span><span class="n">klass</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">ID_FORMAT_PREFIX</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">id_for_date</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">ID_FORMAT_PREFIX</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">prefix</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">19</span><span class="p">])</span>
 
     <span class="nd">@provide_session</span>
@@ -3664,7 +3904,7 @@
             <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">unfinished</span><span class="p">(),</span>
             <span class="n">session</span><span class="o">=</span><span class="n">session</span>
         <span class="p">)</span>
-        <span class="n">none_depends_on_past</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
+        <span class="n">none_depends_on_past</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
 
         <span class="c1"># small speed up</span>
         <span class="k">if</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span> <span class="n">none_depends_on_past</span><span class="p">:</span>
@@ -3739,6 +3979,44 @@
 
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">get_running_tasks</span><span class="p">(</span><span class="n">session</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">task_ids</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the number of tasks running in the given DAG.</span>
+
+<span class="sd">        :param session: ORM session</span>
+<span class="sd">        :param dag_id: ID of the DAG to get the task concurrency of</span>
+<span class="sd">        :type dag_id: unicode</span>
+<span class="sd">        :param task_ids: A list of valid task IDs for the given DAG</span>
+<span class="sd">        :type task_ids: list[unicode]</span>
+<span class="sd">        :return: The number of running tasks</span>
+<span class="sd">        :rtype: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">task_ids</span><span class="p">),</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">scalar</span><span class="p">()</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">get_run</span><span class="p">(</span><span class="n">session</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param dag_id: DAG ID</span>
+<span class="sd">        :type dag_id: unicode</span>
+<span class="sd">        :param execution_date: execution date</span>
+<span class="sd">        :type execution_date: datetime</span>
+<span class="sd">        :return: DagRun corresponding to the given dag_id and execution date</span>
+<span class="sd">        if one exists. None otherwise.</span>
+<span class="sd">        :rtype: DagRun</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">external_trigger</span> <span class="o">==</span> <span class="bp">False</span><span class="p">,</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
 
 <span class="k">class</span> <span class="nc">Pool</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
     <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;slot_pool&quot;</span>
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
index 65a0587..3b716d3 100644
--- a/_modules/airflow/operators/sensors.html
+++ b/_modules/airflow/operators/sensors.html
@@ -155,6 +155,8 @@
 <span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
@@ -229,6 +231,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.hql&#39;</span><span class="p">,</span> <span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#7c7287&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
@@ -272,6 +275,7 @@
 <span class="sd">    :type mysql_conn_id: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_name&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#8da7be&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -327,6 +331,7 @@
 <span class="sd">        or execution_date_fn can be passed to ExternalTaskSensor, but not both.</span>
 <span class="sd">    :type execution_date_fn: callable</span>
 <span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#19647e&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -382,10 +387,11 @@
 
 <span class="sd">    :param partition_names: List of fully qualified names of the</span>
 <span class="sd">        partitions to wait for. A fully qualified name is of the</span>
-<span class="sd">        form schema.table/pk1=pv1/pk2=pv2, for example,</span>
+<span class="sd">        form ``schema.table/pk1=pv1/pk2=pv2``, for example,</span>
 <span class="sd">        default.users/ds=2016-01-01. This is passed as is to the metastore</span>
-<span class="sd">        Thrift client &quot;get_partitions_by_name&quot; method. Note that</span>
-<span class="sd">        you cannot use logical operators as in HivePartitionSensor.</span>
+<span class="sd">        Thrift client ``get_partitions_by_name`` method. Note that</span>
+<span class="sd">        you cannot use logical or comparison operators as in</span>
+<span class="sd">        HivePartitionSensor.</span>
 <span class="sd">    :type partition_names: list of strings</span>
 <span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
 <span class="sd">        connection id</span>
@@ -393,6 +399,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_names&#39;</span><span class="p">,</span> <span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#8d99ae&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -408,9 +415,6 @@
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
 
-        <span class="k">for</span> <span class="n">partition_name</span> <span class="ow">in</span> <span class="n">partition_names</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition_name</span><span class="p">)</span>
-
         <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
@@ -452,7 +456,7 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Waits for a partition to show up in Hive.</span>
 
-<span class="sd">    Note: Because @partition supports general logical operators, it</span>
+<span class="sd">    Note: Because ``partition`` supports general logical operators, it</span>
 <span class="sd">    can be inefficient. Consider using NamedHivePartitionSensor instead if</span>
 <span class="sd">    you don&#39;t need the full flexibility of HivePartitionSensor.</span>
 
@@ -460,15 +464,16 @@
 <span class="sd">        notation (my_database.my_table)</span>
 <span class="sd">    :type table: string</span>
 <span class="sd">    :param partition: The partition clause to wait for. This is passed as</span>
-<span class="sd">        is to the metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
-<span class="sd">        and apparently supports SQL like notation as in `ds=&#39;2015-01-01&#39;</span>
-<span class="sd">        AND type=&#39;value&#39;` and &gt; &lt; sings as in &quot;ds&gt;=2015-01-01&quot;</span>
+<span class="sd">        is to the metastore Thrift client ``get_partitions_by_filter`` method,</span>
+<span class="sd">        and apparently supports SQL like notation as in ``ds=&#39;2015-01-01&#39;</span>
+<span class="sd">        AND type=&#39;value&#39;`` and comparison operators as in ``&quot;ds&gt;=2015-01-01&quot;``</span>
 <span class="sd">    :type partition: string</span>
 <span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
 <span class="sd">        connection id</span>
 <span class="sd">    :type metastore_conn_id: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;schema&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;partition&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#2b2d42&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -505,6 +510,7 @@
 <span class="sd">    Waits for a file or folder to land in HDFS</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#4d9de0&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
diff --git a/_modules/bash_operator.html b/_modules/bash_operator.html
index d38a3f8..9877b4a 100644
--- a/_modules/bash_operator.html
+++ b/_modules/bash_operator.html
@@ -170,6 +170,9 @@
 <span class="sd">    :param bash_command: The command, set of commands or reference to a</span>
 <span class="sd">        bash script (must be &#39;.sh&#39;) to be executed.</span>
 <span class="sd">    :type bash_command: string</span>
+<span class="sd">    :param xcom_push: If xcom_push is True, the last line written to stdout</span>
+<span class="sd">        will also be pushed to an XCom when the bash command completes.</span>
+<span class="sd">    :type xcom_push: bool</span>
 <span class="sd">    :param env: If env is not None, it must be a mapping that defines the</span>
 <span class="sd">        environment variables for the new process; these are used instead</span>
 <span class="sd">        of inheriting the current process environment, which is the default</span>
@@ -189,10 +192,7 @@
             <span class="n">env</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">output_encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        If xcom_push is True, the last line written to stdout will also</span>
-<span class="sd">        be pushed to an XCom when the bash command completes.</span>
-<span class="sd">        &quot;&quot;&quot;</span>
+
         <span class="nb">super</span><span class="p">(</span><span class="n">BashOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bash_command</span> <span class="o">=</span> <span class="n">bash_command</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">env</span> <span class="o">=</span> <span class="n">env</span>
diff --git a/_modules/bigquery_hook.html b/_modules/bigquery_hook.html
index 9478587..1f8170a 100644
--- a/_modules/bigquery_hook.html
+++ b/_modules/bigquery_hook.html
@@ -157,6 +157,9 @@
 <span class="sd">implementation for BigQuery.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">range</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">time</span>
 
@@ -440,10 +443,10 @@
                 <span class="bp">self</span><span class="o">.</span><span class="n">_split_project_dataset_table_input</span><span class="p">(</span>
                     <span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">)</span>
             <span class="n">source_project_dataset_tables_fixup</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
-                    <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
-                    <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
-                    <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span>
-                <span class="p">})</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span>
+            <span class="p">})</span>
 
         <span class="k">assert</span> <span class="mi">3</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">destination_project_dataset_table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)),</span> <span class="p">(</span>
             <span class="s1">&#39;Expected destination_project_dataset_table in the format of &#39;</span>
@@ -652,29 +655,34 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="c1"># check to see if the table exists</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span>
-        <span class="n">table_exists</span> <span class="o">=</span> <span class="bp">False</span>
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
         <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
                                                       <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="k">if</span> <span class="s1">&#39;tables&#39;</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">:</span>
-            <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">[</span><span class="s1">&#39;tables&#39;</span><span class="p">]:</span>
+        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tables&#39;</span><span class="p">,</span> <span class="p">[]):</span>
                 <span class="k">if</span> <span class="n">table</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">table_id</span><span class="p">:</span>
-                    <span class="n">table_exists</span> <span class="o">=</span> <span class="bp">True</span>
-                    <span class="k">break</span>
-
-        <span class="c1"># do update if table exists</span>
-        <span class="k">if</span> <span class="n">table_exists</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id [...]
-            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                                                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                                                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
-                                                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="c1"># do insert if table does not exist</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n"> [...]
-            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                                                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                                                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                    <span class="c1"># found the table, do update</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
+                                 <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                                                        <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                                                        <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+                                                        <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="c1"># If there is a next page, we need to check the next page.</span>
+            <span class="k">if</span> <span class="s1">&#39;nextPageToken&#39;</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">:</span>
+                <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span>\
+                    <span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                          <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                          <span class="n">pageToken</span><span class="o">=</span><span class="n">tables_list_resp</span><span class="p">[</span><span class="s1">&#39;nextPageToken&#39;</span><span class="p">])</span>\
+                    <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="c1"># If there is no next page, then the table doesn&#39;t exist.</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="c1"># do insert</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
+                             <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                                                    <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                                                    <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">run_grant_dataset_view_access</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                                       <span class="n">source_dataset</span><span class="p">,</span>
@@ -851,7 +859,7 @@
         <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
             <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arraysize</span>
         <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">size</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">size</span><span class="p">):</span>
             <span class="n">one</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
             <span class="k">if</span> <span class="n">one</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
                 <span class="k">break</span>
diff --git a/_modules/cloudant_hook.html b/_modules/cloudant_hook.html
index b238080..b7747b4 100644
--- a/_modules/cloudant_hook.html
+++ b/_modules/cloudant_hook.html
@@ -150,9 +150,11 @@
 <span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
-<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">unicode</span>
 
 <span class="kn">import</span> <span class="nn">cloudant</span>
+<span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
diff --git a/_modules/dagrun_operator.html b/_modules/dagrun_operator.html
index c6725bb..1d147e0 100644
--- a/_modules/dagrun_operator.html
+++ b/_modules/dagrun_operator.html
@@ -185,6 +185,7 @@
     <span class="n">template_fields</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#ffefeb&#39;</span>
+
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
diff --git a/_modules/dbapi_hook.html b/_modules/dbapi_hook.html
index e608a23..604dddd 100644
--- a/_modules/dbapi_hook.html
+++ b/_modules/dbapi_hook.html
@@ -195,9 +195,8 @@
             <span class="n">username</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
             <span class="n">schema</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">schema</span><span class="p">)</span></div>
 
-
 <div class="viewcode-block" id="DbApiHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns a pandas dataframe</span>
 
 <span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
@@ -205,7 +204,7 @@
 <span class="sd">        :type sql: str or list</span>
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="kn">import</span> <span class="nn">pandas.io.sql</span> <span class="kn">as</span> <span class="nn">psql</span>
@@ -215,7 +214,7 @@
         <span class="k">return</span> <span class="n">df</span></div>
 
 <div class="viewcode-block" id="DbApiHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns a set of records.</span>
 
 <span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
@@ -223,7 +222,7 @@
 <span class="sd">        :type sql: str or list</span>
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
@@ -238,7 +237,7 @@
         <span class="k">return</span> <span class="n">rows</span></div>
 
 <div class="viewcode-block" id="DbApiHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-        <span class="sd">&#39;&#39;&#39;</span>
+        <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes the sql and returns the first resulting row.</span>
 
 <span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
@@ -246,7 +245,7 @@
 <span class="sd">        :type sql: str or list</span>
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
-<span class="sd">        &#39;&#39;&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
             <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
@@ -280,7 +279,7 @@
             <span class="n">sql</span> <span class="o">=</span> <span class="p">[</span><span class="n">sql</span><span class="p">]</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">supports_autocommit</span><span class="p">:</span>
-           <span class="bp">self</span><span class="o">.</span><span class="n">set_autocommit</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">set_autocommit</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">)</span>
 
         <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">sql</span><span class="p">:</span>
diff --git a/_modules/druid_hook.html b/_modules/druid_hook.html
index f5b2a4d..20ffb1d 100644
--- a/_modules/druid_hook.html
+++ b/_modules/druid_hook.html
@@ -165,6 +165,7 @@
 <span class="n">LOAD_CHECK_INTERVAL</span> <span class="o">=</span> <span class="mi">5</span>
 <span class="n">DEFAULT_TARGET_PARTITION_SIZE</span> <span class="o">=</span> <span class="mi">5000000</span>
 
+
 <span class="k">class</span> <span class="nc">AirflowDruidLoadException</span><span class="p">(</span><span class="n">AirflowException</span><span class="p">):</span>
     <span class="k">pass</span>
 
@@ -260,10 +261,10 @@
                         <span class="s2">&quot;mapreduce.map.output.compress&quot;</span><span class="p">:</span> <span class="s2">&quot;false&quot;</span><span class="p">,</span>
                         <span class="s2">&quot;mapreduce.output.fileoutputformat.compress&quot;</span><span class="p">:</span> <span class="s2">&quot;false&quot;</span><span class="p">,</span>
                     <span class="p">},</span>
-                    <span class="s2">&quot;partitionsSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
-                        <span class="s2">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;hashed&quot;</span><span class="p">,</span>
-                        <span class="s2">&quot;targetPartitionSize&quot;</span> <span class="p">:</span> <span class="n">target_partition_size</span><span class="p">,</span>
-                        <span class="s2">&quot;numShards&quot;</span> <span class="p">:</span> <span class="n">num_shards</span><span class="p">,</span>
+                    <span class="s2">&quot;partitionsSpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;hashed&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;targetPartitionSize&quot;</span><span class="p">:</span> <span class="n">target_partition_size</span><span class="p">,</span>
+                        <span class="s2">&quot;numShards&quot;</span><span class="p">:</span> <span class="n">num_shards</span><span class="p">,</span>
                     <span class="p">},</span>
                 <span class="p">},</span>
                 <span class="s2">&quot;ioConfig&quot;</span><span class="p">:</span> <span class="p">{</span>
@@ -303,8 +304,9 @@
             <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">metric_spec</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        load data to druid from hdfs</span>
-<span class="sd">        :params ts_dim: The column name to use as a timestamp</span>
-<span class="sd">        :params metric_spec: A list of dictionaries</span>
+
+<span class="sd">        :param ts_dim: The column name to use as a timestamp</span>
+<span class="sd">        :param metric_spec: A list of dictionaries</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">task_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">send_ingest_query</span><span class="p">(</span>
             <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span> <span class="n">metric_spec</span><span class="p">,</span>
diff --git a/_modules/email_operator.html b/_modules/email_operator.html
index 6bb4434..4d91901 100644
--- a/_modules/email_operator.html
+++ b/_modules/email_operator.html
@@ -169,6 +169,10 @@
 <span class="sd">    :type html_content: string</span>
 <span class="sd">    :param files: file names to attach in email</span>
 <span class="sd">    :type files: list</span>
+<span class="sd">    :param cc: list of recipients to be added in CC field</span>
+<span class="sd">    :type cc: list or string (comma or semicolon delimited)</span>
+<span class="sd">    :param bcc: list of recipients to be added in BCC field</span>
+<span class="sd">    :type bcc: list or string (comma or semicolon delimited)</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;subject&#39;</span><span class="p">,</span> <span class="s1">&#39;html_content&#39;</span><span class="p">)</span>
@@ -182,15 +186,19 @@
             <span class="n">subject</span><span class="p">,</span>
             <span class="n">html_content</span><span class="p">,</span>
             <span class="n">files</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">cc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">bcc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">EmailOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">to</span> <span class="o">=</span> <span class="n">to</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">subject</span> <span class="o">=</span> <span class="n">subject</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span> <span class="o">=</span> <span class="n">html_content</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span> <span class="ow">or</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cc</span> <span class="o">=</span> <span class="n">cc</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bcc</span> <span class="o">=</span> <span class="n">bcc</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">send_email</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">subject</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><s [...]
+        <span class="n">send_email</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">subject</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><s [...]
 </pre></div>
 
            </div>
diff --git a/_modules/ftp_hook.html b/_modules/ftp_hook.html
index 19a7498..eed5b97 100644
--- a/_modules/ftp_hook.html
+++ b/_modules/ftp_hook.html
@@ -352,6 +352,16 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
 
+<div class="viewcode-block" id="FTPHook.rename"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.rename">[docs]</a>    <span class="k">def</span> <span class="nf">rename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">from_name</span><span class="p">,</span> <span class="n">to_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Rename a file.</span>
+
+<span class="sd">        :param from_name: rename file from name</span>
+<span class="sd">        :param to_name: rename file to name</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">conn</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">from_name</span><span class="p">,</span> <span class="n">to_name</span><span class="p">)</span></div>
+
     <span class="k">def</span> <span class="nf">get_mod_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">ftp_mdtm</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">sendcmd</span><span class="p">(</span><span class="s1">&#39;MDTM &#39;</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
diff --git a/_modules/hive_hooks.html b/_modules/hive_hooks.html
index e25ec97..926b54c 100644
--- a/_modules/hive_hooks.html
+++ b/_modules/hive_hooks.html
@@ -156,19 +156,25 @@
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">zip</span>
 <span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
 
+<span class="kn">import</span> <span class="nn">collections</span>
 <span class="kn">import</span> <span class="nn">unicodecsv</span> <span class="kn">as</span> <span class="nn">csv</span>
+<span class="kn">import</span> <span class="nn">itertools</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
+<span class="kn">import</span> <span class="nn">time</span>
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
 <span class="kn">import</span> <span class="nn">hive_metastore</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.helpers</span> <span class="kn">import</span> <span class="n">as_flattened_list</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.file</span> <span class="kn">import</span> <span class="n">TemporaryDirectory</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
 <span class="kn">import</span> <span class="nn">airflow.security.utils</span> <span class="kn">as</span> <span class="nn">utils</span>
 
+<span class="n">HIVE_QUEUE_PRIORITIES</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;VERY_HIGH&#39;</span><span class="p">,</span> <span class="s1">&#39;HIGH&#39;</span><span class="p">,</span> <span class="s1">&#39;NORMAL&#39;</span><span class="p">,</span> <span class="s1">&#39;LOW&#39;</span><span class="p">,</span> <span class="s1">&#39;VERY_LOW&#39;</span><span class="p">]</span>
+
 
 <div class="viewcode-block" id="HiveCliHook"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveCliHook">[docs]</a><span class="k">class</span> <span class="nc">HiveCliHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
 
@@ -186,12 +192,24 @@
 
 <span class="sd">    The extra connection parameter ``auth`` gets passed as in the ``jdbc``</span>
 <span class="sd">    connection string as is.</span>
+
+<span class="sd">    :param mapred_queue: queue used by the Hadoop Scheduler (Capacity or Fair)</span>
+<span class="sd">    :type  mapred_queue: string</span>
+<span class="sd">    :param mapred_queue_priority: priority within the job queue.</span>
+<span class="sd">        Possible settings include: VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW</span>
+<span class="sd">    :type  mapred_queue_priority: string</span>
+<span class="sd">    :param mapred_job_name: This name will appear in the jobtracker.</span>
+<span class="sd">        This can make monitoring easier.</span>
+<span class="sd">    :type  mapred_job_name: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="s2">&quot;hive_cli_default&quot;</span><span class="p">,</span>
-            <span class="n">run_as</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+            <span class="n">run_as</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mapred_queue</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mapred_queue_priority</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mapred_job_name</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_params</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;hive_cli_params&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">use_beeline</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;use_beeline&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
@@ -199,16 +217,92 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">conn</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">run_as</span> <span class="o">=</span> <span class="n">run_as</span>
 
+        <span class="k">if</span> <span class="n">mapred_queue_priority</span><span class="p">:</span>
+            <span class="n">mapred_queue_priority</span> <span class="o">=</span> <span class="n">mapred_queue_priority</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">mapred_queue_priority</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">HIVE_QUEUE_PRIORITIES</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Invalid Mapred Queue Priority.  Valid values are: &quot;</span>
+                    <span class="s2">&quot;{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">HIVE_QUEUE_PRIORITIES</span><span class="p">)))</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue</span> <span class="o">=</span> <span class="n">mapred_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue_priority</span> <span class="o">=</span> <span class="n">mapred_queue_priority</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_job_name</span> <span class="o">=</span> <span class="n">mapred_job_name</span>
+
+    <span class="k">def</span> <span class="nf">_prepare_cli_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        This function creates the command list from available information</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+        <span class="n">hive_bin</span> <span class="o">=</span> <span class="s1">&#39;hive&#39;</span>
+        <span class="n">cmd_extra</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_beeline</span><span class="p">:</span>
+            <span class="n">hive_bin</span> <span class="o">=</span> <span class="s1">&#39;beeline&#39;</span>
+            <span class="n">jdbc_url</span> <span class="o">=</span> <span class="s2">&quot;jdbc:hive2://{conn.host}:{conn.port}/{conn.schema}&quot;</span>
+            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;security&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;kerberos&#39;</span><span class="p">:</span>
+                <span class="n">template</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                    <span class="s1">&#39;principal&#39;</span><span class="p">,</span> <span class="s2">&quot;hive/_HOST@EXAMPLE.COM&quot;</span><span class="p">)</span>
+                <span class="k">if</span> <span class="s2">&quot;_HOST&quot;</span> <span class="ow">in</span> <span class="n">template</span><span class="p">:</span>
+                    <span class="n">template</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">replace_hostname_pattern</span><span class="p">(</span>
+                        <span class="n">utils</span><span class="o">.</span><span class="n">get_components</span><span class="p">(</span><span class="n">template</span><span class="p">))</span>
+
+                <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>  <span class="c1"># noqa</span>
+                <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxy_user&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;login&quot;</span> <span class="ow">and</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+                    <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;hive.server2.proxy.user={0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">)</span>
+                <span class="k">elif</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxy_user&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;owner&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">:</span>
+                    <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;hive.server2.proxy.user={0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">)</span>
+
+                <span class="n">jdbc_url</span> <span class="o">+=</span> <span class="s2">&quot;;principal={template};{proxy_user}&quot;</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth</span><span class="p">:</span>
+                <span class="n">jdbc_url</span> <span class="o">+=</span> <span class="s2">&quot;;auth=&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth</span>
+
+            <span class="n">jdbc_url</span> <span class="o">=</span> <span class="n">jdbc_url</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+            <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-u&#39;</span><span class="p">,</span> <span class="n">jdbc_url</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+                <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-n&#39;</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">:</span>
+                <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-p&#39;</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">]</span>
+
+        <span class="n">hive_params_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_params</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="p">[</span><span class="n">hive_bin</span><span class="p">]</span> <span class="o">+</span> <span class="n">cmd_extra</span> <span class="o">+</span> <span class="n">hive_params_list</span>
+
+    <span class="k">def</span> <span class="nf">_prepare_hiveconf</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        This function prepares a list of hiveconf params</span>
+<span class="sd">        from a dictionary of key value pairs.</span>
+
+<span class="sd">        :param d:</span>
+<span class="sd">        :type d: dict</span>
+
+<span class="sd">        &gt;&gt;&gt; hh = HiveCliHook()</span>
+<span class="sd">        &gt;&gt;&gt; hive_conf = {&quot;hive.exec.dynamic.partition&quot;: &quot;true&quot;,</span>
+<span class="sd">        ... &quot;hive.exec.dynamic.partition.mode&quot;: &quot;nonstrict&quot;}</span>
+<span class="sd">        &gt;&gt;&gt; hh._prepare_hiveconf(hive_conf)</span>
+<span class="sd">        [&quot;-hiveconf&quot;, &quot;hive.exec.dynamic.partition=true&quot;,\</span>
+<span class="sd"> &quot;-hiveconf&quot;, &quot;hive.exec.dynamic.partition.mode=nonstrict&quot;]</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">d</span><span class="p">:</span>
+            <span class="k">return</span> <span class="p">[]</span>
+        <span class="k">return</span> <span class="n">as_flattened_list</span><span class="p">(</span>
+            <span class="n">itertools</span><span class="o">.</span><span class="n">izip</span><span class="p">(</span>
+                <span class="p">[</span><span class="s2">&quot;-hiveconf&quot;</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="p">),</span>
+                <span class="p">[</span><span class="s2">&quot;{}={}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">d</span><span class="o">.</span><span class="n">items</span><span class="p">()]</span>
+                <span class="p">)</span>
+            <span class="p">)</span>
+
 <div class="viewcode-block" id="HiveCliHook.run_cli"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveCliHook.run_cli">[docs]</a>    <span class="k">def</span> <span class="nf">run_cli</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span> [...]
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Run an hql statement using the hive cli. If hive_conf is specified it should be a</span>
-<span class="sd">        dict and the entries will be set as key/value pairs in HiveConf</span>
+<span class="sd">        Run an hql statement using the hive cli. If hive_conf is specified</span>
+<span class="sd">        it should be a dict and the entries will be set as key/value pairs</span>
+<span class="sd">        in HiveConf</span>
 
 
-<span class="sd">        :param hive_conf: if specified these key value pairs will be passed to hive as</span>
-<span class="sd">            ``-hiveconf &quot;key&quot;=&quot;value&quot;``. Note that they will be passed after the</span>
-<span class="sd">            ``hive_cli_params`` and thus will override whatever values are specified in</span>
-<span class="sd">            the database.</span>
+<span class="sd">        :param hive_conf: if specified these key value pairs will be passed</span>
+<span class="sd">            to hive as ``-hiveconf &quot;key&quot;=&quot;value&quot;``. Note that they will be</span>
+<span class="sd">            passed after the ``hive_cli_params`` and thus will override</span>
+<span class="sd">            whatever values are specified in the database.</span>
 <span class="sd">        :type hive_conf: dict</span>
 
 <span class="sd">        &gt;&gt;&gt; hh = HiveCliHook()</span>
@@ -225,47 +319,29 @@
             <span class="k">with</span> <span class="n">NamedTemporaryFile</span><span class="p">(</span><span class="nb">dir</span><span class="o">=</span><span class="n">tmp_dir</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
                 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">hql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;UTF-8&#39;</span><span class="p">))</span>
                 <span class="n">f</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
-                <span class="n">fname</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">name</span>
-                <span class="n">hive_bin</span> <span class="o">=</span> <span class="s1">&#39;hive&#39;</span>
-                <span class="n">cmd_extra</span> <span class="o">=</span> <span class="p">[]</span>
-
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_beeline</span><span class="p">:</span>
-                    <span class="n">hive_bin</span> <span class="o">=</span> <span class="s1">&#39;beeline&#39;</span>
-                    <span class="n">jdbc_url</span> <span class="o">=</span> <span class="s2">&quot;jdbc:hive2://{conn.host}:{conn.port}/{conn.schema}&quot;</span>
-                    <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;security&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;kerberos&#39;</span><span class="p">:</span>
-                        <span class="n">template</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                            <span class="s1">&#39;principal&#39;</span><span class="p">,</span> <span class="s2">&quot;hive/_HOST@EXAMPLE.COM&quot;</span><span class="p">)</span>
-                        <span class="k">if</span> <span class="s2">&quot;_HOST&quot;</span> <span class="ow">in</span> <span class="n">template</span><span class="p">:</span>
-                            <span class="n">template</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">replace_hostname_pattern</span><span class="p">(</span>
-                                <span class="n">utils</span><span class="o">.</span><span class="n">get_components</span><span class="p">(</span><span class="n">template</span><span class="p">))</span>
-
-                        <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>  <span class="c1"># noqa</span>
-                        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxy_user&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;login&quot;</span> <span class="ow">and</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
-                            <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;hive.server2.proxy.user={0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">)</span>
-                        <span class="k">elif</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxy_user&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;owner&quot;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">:</span>
-                            <span class="n">proxy_user</span> <span class="o">=</span> <span class="s2">&quot;hive.server2.proxy.user={0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">)</span>
-
-                        <span class="n">jdbc_url</span> <span class="o">+=</span> <span class="s2">&quot;;principal={template};{proxy_user}&quot;</span>
-                    <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth</span><span class="p">:</span>
-                        <span class="n">jdbc_url</span> <span class="o">+=</span> <span class="s2">&quot;;auth=&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth</span>
-
-                    <span class="n">jdbc_url</span> <span class="o">=</span> <span class="n">jdbc_url</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
-
-                    <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-u&#39;</span><span class="p">,</span> <span class="n">jdbc_url</span><span class="p">]</span>
-                    <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
-                        <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-n&#39;</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">]</span>
-                    <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">:</span>
-                        <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-p&#39;</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">]</span>
-
-                <span class="n">hive_conf</span> <span class="o">=</span> <span class="n">hive_conf</span> <span class="ow">or</span> <span class="p">{}</span>
-                <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">hive_conf</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
-                    <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-hiveconf&#39;</span><span class="p">,</span> <span class="s1">&#39;{0}={1}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)]</span>
-
-                <span class="n">hive_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">hive_bin</span><span class="p">,</span> <span class="s1">&#39;-f&#39;</span><span class="p">,</span> <span class="n">fname</span><span class="p">]</span> <span class="o">+</span> <span class="n">cmd_extra</span>
-
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_params</span><span class="p">:</span>
-                    <span class="n">hive_params_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_params</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
-                    <span class="n">hive_cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">hive_params_list</span><span class="p">)</span>
+                <span class="n">hive_cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prepare_cli_cmd</span><span class="p">()</span>
+                <span class="n">hive_conf_params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prepare_hiveconf</span><span class="p">(</span><span class="n">hive_conf</span><span class="p">)</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue</span><span class="p">:</span>
+                    <span class="n">hive_conf_params</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span>
+                        <span class="p">[</span><span class="s1">&#39;-hiveconf&#39;</span><span class="p">,</span>
+                         <span class="s1">&#39;mapreduce.job.queuename={}&#39;</span>
+                         <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue</span><span class="p">)])</span>
+
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue_priority</span><span class="p">:</span>
+                    <span class="n">hive_conf_params</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span>
+                        <span class="p">[</span><span class="s1">&#39;-hiveconf&#39;</span><span class="p">,</span>
+                         <span class="s1">&#39;mapreduce.job.priority={}&#39;</span>
+                         <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue_priority</span><span class="p">)])</span>
+
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mapred_job_name</span><span class="p">:</span>
+                    <span class="n">hive_conf_params</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span>
+                        <span class="p">[</span><span class="s1">&#39;-hiveconf&#39;</span><span class="p">,</span>
+                         <span class="s1">&#39;mapred.job.name={}&#39;</span>
+                         <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_job_name</span><span class="p">)])</span>
+
+                <span class="n">hive_cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">hive_conf_params</span><span class="p">)</span>
+                <span class="n">hive_cmd</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="s1">&#39;-f&#39;</span><span class="p">,</span> <span class="n">f</span><span class="o">.</span><span class="n">name</span><span class="p">])</span>
+
                 <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
                     <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">hive_cmd</span><span class="p">))</span>
                 <span class="n">sp</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span>
@@ -399,6 +475,8 @@
         <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;sp&#39;</span><span class="p">):</span>
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">poll</span><span class="p">()</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
                 <span class="k">print</span><span class="p">(</span><span class="s2">&quot;Killing the Hive job&quot;</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">kill</span><span class="p">()</span></div>
 
 
@@ -700,11 +778,12 @@
                 <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">hql</span><span class="p">)</span>
                 <span class="n">schema</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">description</span>
                 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">csv_filepath</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-                    <span class="n">writer</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">writer</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">,</span>
-                        <span class="n">lineterminator</span><span class="o">=</span><span class="n">lineterminator</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
+                    <span class="n">writer</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">writer</span><span class="p">(</span><span class="n">f</span><span class="p">,</span>
+                                        <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">,</span>
+                                        <span class="n">lineterminator</span><span class="o">=</span><span class="n">lineterminator</span><span class="p">,</span>
+                                        <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
                     <span class="k">if</span> <span class="n">output_header</span><span class="p">:</span>
-                        <span class="n">writer</span><span class="o">.</span><span class="n">writerow</span><span class="p">([</span><span class="n">c</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
-                            <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">cur</span><span class="o">.</span><span class="n">description</span><span class="p">])</span>
+                        <span class="n">writer</span><span class="o">.</span><span class="n">writerow</span><span class="p">([</span><span class="n">c</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">cur</span><span class="o">.</span><span class="n">description</span><span class="p">])</span>
                     <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
                     <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
                         <span class="n">rows</span> <span class="o">=</span> <span class="p">[</span><span class="n">row</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchmany</span><span class="p">(</span><span class="n">fetch_size</span><span class="p">)</span> <span class="k">if</span> <span class="n">row</span><span class="p">]</span>
diff --git a/_modules/hive_operator.html b/_modules/hive_operator.html
index de5e44b..4d8c62c 100644
--- a/_modules/hive_operator.html
+++ b/_modules/hive_operator.html
@@ -177,6 +177,14 @@
 <span class="sd">    :param script_begin_tag: If defined, the operator will get rid of the</span>
 <span class="sd">        part of the script before the first occurrence of `script_begin_tag`</span>
 <span class="sd">    :type script_begin_tag: str</span>
+<span class="sd">    :param mapred_queue: queue used by the Hadoop CapacityScheduler</span>
+<span class="sd">    :type  mapred_queue: string</span>
+<span class="sd">    :param mapred_queue_priority: priority within CapacityScheduler queue.</span>
+<span class="sd">        Possible settings include: VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW</span>
+<span class="sd">    :type  mapred_queue_priority: string</span>
+<span class="sd">    :param mapred_job_name: This name will appear in the jobtracker.</span>
+<span class="sd">        This can make monitoring easier.</span>
+<span class="sd">    :type  mapred_job_name: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;hql&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">)</span>
@@ -191,6 +199,9 @@
             <span class="n">hiveconf_jinja_translate</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
             <span class="n">script_begin_tag</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">run_as_owner</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">mapred_queue</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mapred_queue_priority</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mapred_job_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
         <span class="nb">super</span><span class="p">(</span><span class="n">HiveOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -203,8 +214,17 @@
         <span class="k">if</span> <span class="n">run_as_owner</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">run_as</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">owner</span>
 
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue</span> <span class="o">=</span> <span class="n">mapred_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue_priority</span> <span class="o">=</span> <span class="n">mapred_queue_priority</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mapred_job_name</span> <span class="o">=</span> <span class="n">mapred_job_name</span>
+
     <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">HiveCliHook</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_conn_id</span><span class="p">,</span> <span class="n">run_as</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">HiveCliHook</span><span class="p">(</span>
+                        <span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_conn_id</span><span class="p">,</span>
+                        <span class="n">run_as</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">run_as</span><span class="p">,</span>
+                        <span class="n">mapred_queue</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue</span><span class="p">,</span>
+                        <span class="n">mapred_queue_priority</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_queue_priority</span><span class="p">,</span>
+                        <span class="n">mapred_job_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mapred_job_name</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">prepare_template</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">hiveconf_jinja_translate</span><span class="p">:</span>
diff --git a/_modules/hive_to_mysql.html b/_modules/hive_to_mysql.html
index 867023b..fd8b342 100644
--- a/_modules/hive_to_mysql.html
+++ b/_modules/hive_to_mysql.html
@@ -160,6 +160,7 @@
 
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
 
+
 <div class="viewcode-block" id="HiveToMySqlTransfer"><a class="viewcode-back" href="../code.html#airflow.operators.HiveToMySqlTransfer">[docs]</a><span class="k">class</span> <span class="nc">HiveToMySqlTransfer</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Moves data from Hive to MySQL, note that for now the data is loaded</span>
diff --git a/_modules/mysql_hook.html b/_modules/mysql_hook.html
index 941737f..a07aeb2 100644
--- a/_modules/mysql_hook.html
+++ b/_modules/mysql_hook.html
@@ -156,6 +156,7 @@
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
 
+
 <div class="viewcode-block" id="MySqlHook"><a class="viewcode-back" href="../code.html#airflow.hooks.MySqlHook">[docs]</a><span class="k">class</span> <span class="nc">MySqlHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    Interact with MySQL.</span>
diff --git a/_modules/presto_check_operator.html b/_modules/presto_check_operator.html
index e24b271..639b71e 100644
--- a/_modules/presto_check_operator.html
+++ b/_modules/presto_check_operator.html
@@ -164,8 +164,9 @@
 <span class="sd">    values return ``False`` the check is failed and errors out.</span>
 
 <span class="sd">    Note that Python bool casting evals the following as ``False``:</span>
-<span class="sd">    * False</span>
-<span class="sd">    * 0</span>
+
+<span class="sd">    * ``False``</span>
+<span class="sd">    * ``0``</span>
 <span class="sd">    * Empty string (``&quot;&quot;``)</span>
 <span class="sd">    * Empty list (``[]``)</span>
 <span class="sd">    * Empty dictionary or set (``{}``)</span>
diff --git a/_modules/sensors.html b/_modules/sensors.html
index fab6313..6567e38 100644
--- a/_modules/sensors.html
+++ b/_modules/sensors.html
@@ -155,6 +155,8 @@
 <span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
@@ -229,6 +231,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.hql&#39;</span><span class="p">,</span> <span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#7c7287&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
@@ -272,6 +275,7 @@
 <span class="sd">    :type mysql_conn_id: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_name&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#8da7be&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -327,6 +331,7 @@
 <span class="sd">        or execution_date_fn can be passed to ExternalTaskSensor, but not both.</span>
 <span class="sd">    :type execution_date_fn: callable</span>
 <span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#19647e&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -376,16 +381,17 @@
         <span class="k">return</span> <span class="n">count</span></div>
 
 
-<span class="k">class</span> <span class="nc">NamedHivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="NamedHivePartitionSensor"><a class="viewcode-back" href="../code.html#airflow.operators.NamedHivePartitionSensor">[docs]</a><span class="k">class</span> <span class="nc">NamedHivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Waits for a set of partitions to show up in Hive.</span>
 
 <span class="sd">    :param partition_names: List of fully qualified names of the</span>
 <span class="sd">        partitions to wait for. A fully qualified name is of the</span>
-<span class="sd">        form schema.table/pk1=pv1/pk2=pv2, for example,</span>
+<span class="sd">        form ``schema.table/pk1=pv1/pk2=pv2``, for example,</span>
 <span class="sd">        default.users/ds=2016-01-01. This is passed as is to the metastore</span>
-<span class="sd">        Thrift client &quot;get_partitions_by_name&quot; method. Note that</span>
-<span class="sd">        you cannot use logical operators as in HivePartitionSensor.</span>
+<span class="sd">        Thrift client ``get_partitions_by_name`` method. Note that</span>
+<span class="sd">        you cannot use logical or comparison operators as in</span>
+<span class="sd">        HivePartitionSensor.</span>
 <span class="sd">    :type partition_names: list of strings</span>
 <span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
 <span class="sd">        connection id</span>
@@ -393,6 +399,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_names&#39;</span><span class="p">,</span> <span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#8d99ae&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -408,9 +415,6 @@
         <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
 
-        <span class="k">for</span> <span class="n">partition_name</span> <span class="ow">in</span> <span class="n">partition_names</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition_name</span><span class="p">)</span>
-
         <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
@@ -445,14 +449,14 @@
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">return</span> <span class="bp">False</span>
 
-        <span class="k">return</span> <span class="bp">True</span>
+        <span class="k">return</span> <span class="bp">True</span></div>
 
 
 <div class="viewcode-block" id="HivePartitionSensor"><a class="viewcode-back" href="../code.html#airflow.operators.HivePartitionSensor">[docs]</a><span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Waits for a partition to show up in Hive.</span>
 
-<span class="sd">    Note: Because @partition supports general logical operators, it</span>
+<span class="sd">    Note: Because ``partition`` supports general logical operators, it</span>
 <span class="sd">    can be inefficient. Consider using NamedHivePartitionSensor instead if</span>
 <span class="sd">    you don&#39;t need the full flexibility of HivePartitionSensor.</span>
 
@@ -460,15 +464,16 @@
 <span class="sd">        notation (my_database.my_table)</span>
 <span class="sd">    :type table: string</span>
 <span class="sd">    :param partition: The partition clause to wait for. This is passed as</span>
-<span class="sd">        is to the metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
-<span class="sd">        and apparently supports SQL like notation as in `ds=&#39;2015-01-01&#39;</span>
-<span class="sd">        AND type=&#39;value&#39;` and &gt; &lt; sings as in &quot;ds&gt;=2015-01-01&quot;</span>
+<span class="sd">        is to the metastore Thrift client ``get_partitions_by_filter`` method,</span>
+<span class="sd">        and apparently supports SQL like notation as in ``ds=&#39;2015-01-01&#39;</span>
+<span class="sd">        AND type=&#39;value&#39;`` and comparison operators as in ``&quot;ds&gt;=2015-01-01&quot;``</span>
 <span class="sd">    :type partition: string</span>
 <span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
 <span class="sd">        connection id</span>
 <span class="sd">    :type metastore_conn_id: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;schema&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;partition&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#2b2d42&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
@@ -505,6 +510,7 @@
 <span class="sd">    Waits for a file or folder to land in HDFS</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#4d9de0&#39;</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
diff --git a/_modules/ssh_hook.html b/_modules/ssh_hook.html
index 7f21905..e094b62 100644
--- a/_modules/ssh_hook.html
+++ b/_modules/ssh_hook.html
@@ -212,7 +212,7 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">sshpass</span><span class="p">:</span>
             <span class="n">connection_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;sshpass&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">connection_cmd</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;BatchMode=yes&quot;</span><span class="p">]</span> <span class="c1"># no password prompts</span>
+            <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;BatchMode=yes&quot;</span><span class="p">]</span>  <span class="c1"># no password prompts</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
             <span class="n">connection_cmd</span> <span class="o">+=</span> <span class="p">[</span><span class="s2">&quot;-p&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)]</span>
@@ -281,8 +281,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">tunnel_host</span> <span class="o">=</span> <span class="s2">&quot;{0}:{1}:{2}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">local_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span class="p">)</span>
         <span class="n">proc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s2">&quot;-L&quot;</span><span class="p">,</span> <span class="n">tunnel_host</span><span class="p">,</span> <span class="s2">&quot;echo -n ready &amp;&amp; cat&quot;</span><span class="p">],</span>
-                           <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                           <span class="p">)</span>
+                          <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
 
         <span class="n">ready</span> <span class="o">=</span> <span class="n">proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
         <span class="k">assert</span> <span class="n">ready</span> <span class="o">==</span> <span class="n">b</span><span class="s2">&quot;ready&quot;</span><span class="p">,</span> <span class="s2">&quot;Did not get &#39;ready&#39; from remote&quot;</span>
diff --git a/_modules/vertica_hook.html b/_modules/vertica_hook.html
index 7ec4ec0..dab06bd 100644
--- a/_modules/vertica_hook.html
+++ b/_modules/vertica_hook.html
@@ -156,6 +156,7 @@
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
 
+
 <div class="viewcode-block" id="VerticaHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.VerticaHook">[docs]</a><span class="k">class</span> <span class="nc">VerticaHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    Interact with Vertica.</span>
diff --git a/_modules/vertica_to_hive.html b/_modules/vertica_to_hive.html
index a700374..a8585d1 100644
--- a/_modules/vertica_to_hive.html
+++ b/_modules/vertica_to_hive.html
@@ -162,6 +162,7 @@
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
+
 <div class="viewcode-block" id="VerticaToHiveTransfer"><a class="viewcode-back" href="../code.html#airflow.contrib.operators.VerticaToHiveTransfer">[docs]</a><span class="k">class</span> <span class="nc">VerticaToHiveTransfer</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Moves data from Vertia to Hive. The operator runs</span>
diff --git a/_modules/webhdfs_hook.html b/_modules/webhdfs_hook.html
index 3a44028..70c641c 100644
--- a/_modules/webhdfs_hook.html
+++ b/_modules/webhdfs_hook.html
@@ -159,11 +159,11 @@
 
 <span class="n">_kerberos_security_mode</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;core&quot;</span><span class="p">,</span> <span class="s2">&quot;security&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;kerberos&quot;</span>
 <span class="k">if</span> <span class="n">_kerberos_security_mode</span><span class="p">:</span>
-  <span class="k">try</span><span class="p">:</span>
-    <span class="kn">from</span> <span class="nn">hdfs.ext.kerberos</span> <span class="kn">import</span> <span class="n">KerberosClient</span>
-  <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
-    <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Could not load the Kerberos extension for the WebHDFSHook.&quot;</span><span class="p">)</span>
-    <span class="k">raise</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="kn">from</span> <span class="nn">hdfs.ext.kerberos</span> <span class="kn">import</span> <span class="n">KerberosClient</span>
+    <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Could not load the Kerberos extension for the WebHDFSHook.&quot;</span><span class="p">)</span>
+        <span class="k">raise</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
 
 
@@ -189,10 +189,10 @@
                 <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Trying namenode {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
                 <span class="n">connection_str</span> <span class="o">=</span> <span class="s1">&#39;http://{nn.host}:{nn.port}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">nn</span><span class="o">=</span><span class="n">nn</span><span class="p">)</span>
                 <span class="k">if</span> <span class="n">_kerberos_security_mode</span><span class="p">:</span>
-                  <span class="n">client</span> <span class="o">=</span> <span class="n">KerberosClient</span><span class="p">(</span><span class="n">connection_str</span><span class="p">)</span>
+                    <span class="n">client</span> <span class="o">=</span> <span class="n">KerberosClient</span><span class="p">(</span><span class="n">connection_str</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
-                  <span class="n">proxy_user</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy_user</span> <span class="ow">or</span> <span class="n">nn</span><span class="o">.</span><span class="n">login</span>
-                  <span class="n">client</span> <span class="o">=</span> <span class="n">InsecureClient</span><span class="p">(</span><span class="n">connection_str</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="n">proxy_user</span><span class="p">)</span>
+                    <span class="n">proxy_user</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy_user</span> <span class="ow">or</span> <span class="n">nn</span><span class="o">.</span><span class="n">login</span>
+                    <span class="n">client</span> <span class="o">=</span> <span class="n">InsecureClient</span><span class="p">(</span><span class="n">connection_str</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="n">proxy_user</span><span class="p">)</span>
                 <span class="n">client</span><span class="o">.</span><span class="n">status</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
                 <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Using namenode {} for hook&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
                 <span class="k">return</span> <span class="n">client</span>
diff --git a/_sources/code.txt b/_sources/code.txt
index ba1cddb..8548120 100644
--- a/_sources/code.txt
+++ b/_sources/code.txt
@@ -66,6 +66,7 @@ Operator API
         MsSqlToHiveTransfer,
         MySqlOperator,
         MySqlToHiveTransfer,
+        NamedHivePartitionSensor,
         PostgresOperator,
         PrestoCheckOperator,
         PrestoIntervalCheckOperator,
diff --git a/_sources/faq.txt b/_sources/faq.txt
index e61c1bf..68b3189 100644
--- a/_sources/faq.txt
+++ b/_sources/faq.txt
@@ -1,7 +1,8 @@
 FAQ
 ========
 
-**Why isn't my task getting scheduled?**
+Why isn't my task getting scheduled?
+------------------------------------
 
 There are very many reasons why your task might not be getting scheduled.
 Here are some of the common causes:
@@ -51,17 +52,20 @@ You may also want to read the Scheduler section of the docs and make
 sure you fully understand how it proceeds.
 
 
-**How do I trigger tasks based on another task's failure?**
+How do I trigger tasks based on another task's failure?
+-------------------------------------------------------
 
 Check out the ``Trigger Rule`` section in the Concepts section of the
 documentation
 
-**Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]**?
+Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?
+------------------------------------------------------------------------------------------------------
 
 - Verify that the ``fernet_key`` defined in ``$AIRFLOW_HOME/airflow.cfg`` is a valid Fernet key. It must be a base64-encoded 32-byte key. You need to restart the webserver after you update the key
 - For existing connections (the ones that you had defined before installing ``airflow[crypto]`` and creating a Fernet key), you need to open each connection in the connection admin UI, re-type the password, and save it
 
-**What's the deal with ``start_date``?**
+What's the deal with ``start_date``?
+------------------------------------
 
 ``start_date`` is partly legacy from the pre-DagRun era, but it is still
 relevant in many ways. When creating a new DAG, you probably want to set
@@ -82,7 +86,7 @@ an hour after now as ``now()`` moves along.
 Previously we also recommended using rounded ``start_date`` in relation to your
 ``schedule_interval``. This meant an ``@hourly`` would be at ``00:00``
 minutes:seconds, a ``@daily`` job at midnight, a ``@monthly`` job on the
-first of the month. This is no longer required. Airflow will not auto align
+first of the month. This is no longer required. Airflow will now auto align
 the ``start_date`` and the ``schedule_interval``, by using the ``start_date``
 as the moment to start looking.
 
@@ -103,3 +107,36 @@ Also important to note is that the tasks ``start_date``, in the context of a
 backfill CLI command, get overridden by the backfill's command ``start_date``.
 This allows for a backfill on tasks that have ``depends_on_past=True`` to
 actually start, if it wasn't the case, the backfill just wouldn't start.
+
+How can I create DAGs dynamically?
+----------------------------------
+
+Airflow looks in you ``DAGS_FOLDER`` for modules that contain ``DAG`` objects
+in their global namespace, and adds the objects it finds in the
+``DagBag``. Knowing this all we need is a way to dynamically assign
+variable in the global namespace, which is easily done in python using the
+``globals()`` function for the standard library which behaves like a
+simple dictionary.
+
+.. code:: python
+
+    for i in range(10):
+        dag_id = 'foo_{}'.format(i)
+        globals()[dag_id] = DAG(dag_id)
+        # or better, call a function that returns a DAG object!
+
+What are all the ``airflow run`` commands in my process list?
+---------------------------------------------------------------
+
+There are many layers of ``airflow run`` commands, meaning it can call itself.
+
+- Basic ``airflow run``: fires up an executor, and tell it to run an
+  ``airflow run --local`` command. if using Celery, this means it puts a
+  command in the queue for it to run remote, on the worker. If using
+  LocalExecutor, that translates into running it in a subprocess pool.
+- Local ``airflow run --local``: starts an ``airflow run --raw``
+  command (described bellow) as a subprocess and is in charge of
+  emitting heartbeats, listening for external kill signals
+  and ensures some cleanup takes place if the subprocess fails
+- Raw ``airflow run --raw`` runs the actual operator's execute method and
+  performs the actual work
diff --git a/_sources/security.txt b/_sources/security.txt
index 1f33548..50d9167 100644
--- a/_sources/security.txt
+++ b/_sources/security.txt
@@ -67,16 +67,20 @@ Valid search_scope options can be found in the `ldap3 Documentation <http://ldap
     auth_backend = airflow.contrib.auth.backends.ldap_auth
 
     [ldap]
+    # set a connection without encryption: uri = ldap://<your.ldap.server>:<port>
     uri = ldaps://<your.ldap.server>:<port>
     user_filter = objectClass=*
-    user_name_attr = uid # in case of Active Directory you would use sAMAccountName
+    # in case of Active Directory you would use: user_name_attr = sAMAccountName
+    user_name_attr = uid
     superuser_filter = memberOf=CN=airflow-super-users,OU=Groups,OU=RWC,OU=US,OU=NORAM,DC=example,DC=com
     data_profiler_filter = memberOf=CN=airflow-data-profilers,OU=Groups,OU=RWC,OU=US,OU=NORAM,DC=example,DC=com
     bind_user = cn=Manager,dc=example,dc=com
     bind_password = insecure
     basedn = dc=example,dc=com
     cacert = /etc/ca/ldap_ca.crt
-    search_scope = LEVEL # Set this to SUBTREE if using Active Directory, and not specifying an Organizational Unit
+    # Set search_scope to one of them:  BASE, LEVEL , SUBTREE
+    # Set search_scope to SUBTREE if using Active Directory, and not specifying an Organizational Unit
+    search_scope = LEVEL
 
 The superuser_filter and data_profiler_filter are optional. If defined, these configurations allow you to specify LDAP groups that users must belong to in order to have superuser (admin) and data-profiler permissions. If undefined, all users will be superusers and data profilers.
 
diff --git a/_sources/tutorial.txt b/_sources/tutorial.txt
index a93479c..97bbe11 100644
--- a/_sources/tutorial.txt
+++ b/_sources/tutorial.txt
@@ -39,7 +39,7 @@ complicated, a line by line explanation follows below.
 
     dag = DAG('tutorial', default_args=default_args)
 
-    # t1, t2 and t3 are examples of tasks created by instatiating operators
+    # t1, t2 and t3 are examples of tasks created by instantiating operators
     t1 = BashOperator(
         task_id='print_date',
         bash_command='date',
@@ -292,7 +292,7 @@ something like this:
     dag = DAG(
         'tutorial', default_args=default_args, schedule_interval=timedelta(1))
 
-    # t1, t2 and t3 are examples of tasks created by instatiating operators
+    # t1, t2 and t3 are examples of tasks created by instantiating operators
     t1 = BashOperator(
         task_id='print_date',
         bash_command='date',
diff --git a/_static/default.css b/_static/default.css
new file mode 100644
index 0000000..4aef108
--- /dev/null
+++ b/_static/default.css
@@ -0,0 +1,3 @@
+.admonition {
+    background-color: gray;
+}
diff --git a/cli.html b/cli.html
index e8785c4..71ebad4 100644
--- a/cli.html
+++ b/cli.html
@@ -210,6 +210,7 @@ development and testing.</p>
 <dt><strong>variables</strong></dt>
 <dd><p class="first">List all variables</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">variables</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">s</span> <span class="n">KEY</span> <span class="n">VAL</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span c [...]
+                         <span class="p">[</span><span class="o">-</span><span class="n">i</span> <span class="n">FILEPATH</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">e</span> <span class="n">FILEPATH</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">x</span> <span class="n">KEY</span><span class="p">]</span>
 </pre></div>
 </div>
 <dl class="last docutils">
@@ -231,6 +232,15 @@ development and testing.</p>
 <tr><td class="option-group">
 <kbd><span class="option">-d</span>, <span class="option">--default</span></kbd></td>
 <td>Default value returned if variable does not exist</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-i</span>, <span class="option">--import</span></kbd></td>
+<td>Import variables from JSON file</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-e</span>, <span class="option">--export</span></kbd></td>
+<td>Export variables to JSON file</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-x</span>, <span class="option">--delete</span></kbd></td>
+<td>Delete a variable</td></tr>
 </tbody>
 </table>
 </dd>
@@ -765,8 +775,9 @@ development and testing.</p>
 </dd>
 <dt><strong>flower</strong></dt>
 <dd><p class="first">Start a Celery Flower</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">flower</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">p</span> <span class="n">PORT</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">a</span> <span class [...]
-                      <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">flower</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">hn</span> <span class="n">HOSTNAME</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">p</span> <span  [...]
+                      <span class="p">[</span><span class="o">-</span><span class="n">a</span> <span class="n">BROKER_API</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">pid</span> <span class="p">[</span><span class="n">PID</span><span class="p">]]</span> <span class="p">[</span><span class="o">-</span><span class="n">D</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class [...]
+                      <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
 </pre></div>
 </div>
 <dl class="last docutils">
@@ -776,10 +787,18 @@ development and testing.</p>
 <col class="description" />
 <tbody valign="top">
 <tr><td class="option-group" colspan="2">
+<kbd><span class="option">-hn=0.0.0.0</span>, <span class="option">--hostname=0.0.0.0</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Set the hostname on which to run the server</td></tr>
+<tr><td class="option-group" colspan="2">
 <kbd><span class="option">-p=5555</span>, <span class="option">--port=5555</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>The port on which to run the server</td></tr>
 <tr><td class="option-group" colspan="2">
+<kbd><span class="option">-fc</span>, <span class="option">--flower_conf</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Configuration file for flower</td></tr>
+<tr><td class="option-group" colspan="2">
 <kbd><span class="option">-a</span>, <span class="option">--broker_api</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>Broker api</td></tr>
@@ -806,9 +825,9 @@ development and testing.</p>
 </dd>
 <dt><strong>scheduler</strong></dt>
 <dd><p class="first">Start a scheduler instance</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">scheduler</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">d</span> <span class="n">DAG_ID</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span [...]
-                         <span class="p">[</span><span class="o">--</span><span class="n">pid</span> <span class="p">[</span><span class="n">PID</span><span class="p">]]</span> <span class="p">[</span><span class="o">-</span><span class="n">D</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span>
-                         <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">airflow</span> <span class="n">scheduler</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">d</span> <span class="n">DAG_ID</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">sd</span> <span [...]
+                         <span class="p">[</span><span class="o">-</span><span class="n">n</span> <span class="n">NUM_RUNS</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">p</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">pid</span> <span class="p">[</span><span class="n">PID</span><span class="p">]]</span> <span class="p">[</span><span class="o">-</span><span class="n">D</span><span class="p">]</span>
+                         <span class="p">[</span><span class="o">--</span><span class="n">stdout</span> <span class="n">STDOUT</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">stderr</span> <span class="n">STDERR</span><span class="p">]</span> <span class="p">[</span><span class="o">-</span><span class="n">l</span> <span class="n">LOG_FILE</span><span class="p">]</span>
 </pre></div>
 </div>
 <dl class="last docutils">
@@ -824,6 +843,10 @@ development and testing.</p>
 <kbd><span class="option">-sd=/Users/maxime_beauchemin/dags</span>, <span class="option">--subdir=/Users/maxime_beauchemin/dags</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>File location or directory from which to look for the dag</td></tr>
+<tr><td class="option-group" colspan="2">
+<kbd><span class="option">-r</span>, <span class="option">--run-duration</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Set number of seconds to execute before exiting</td></tr>
 <tr><td class="option-group">
 <kbd><span class="option">-n</span>, <span class="option">--num_runs</span></kbd></td>
 <td>Set the number of runs to execute before exiting</td></tr>
diff --git a/code.html b/code.html
index 592ec27..91192d3 100644
--- a/code.html
+++ b/code.html
@@ -187,7 +187,7 @@ to understand the primitive features that can be leveraged in your
 DAGs.</p>
 <dl class="class">
 <dt id="airflow.models.BaseOperator">
-<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">BaseOperator</code><span class="sig-paren">(</span><em>task_id</em>, <em>owner='airflow'</em>, <em>email=None</em>, <em>email_on_retry=True</em>, <em>email_on_failure=True</em>, <em>retries=0</em>, <em>retry_delay=datetime.timedelta(0</em>, <em>300)</em>, <em>start_date=None</em>, <em>end_date=None</em>, <em>schedule_interval=None</em>, <em>depends_on_past=False</em>, <em>wait_for_dow [...]
+<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">BaseOperator</code><span class="sig-paren">(</span><em>task_id</em>, <em>owner='airflow'</em>, <em>email=None</em>, <em>email_on_retry=True</em>, <em>email_on_failure=True</em>, <em>retries=0</em>, <em>retry_delay=datetime.timedelta(0</em>, <em>300)</em>, <em>retry_exponential_backoff=False</em>, <em>max_retry_delay=None</em>, <em>start_date=None</em>, <em>end_date=None</em>, <em>sche [...]
 <dd><p>Abstract base class for all operators. Since operators create objects that
 become node in the dag, BaseOperator contains many recursive methods for
 dag crawling behavior. To derive this class, you are expected to override
@@ -218,6 +218,10 @@ operators.</p>
 <li><strong>retries</strong> (<em>int</em>) &#8211; the number of retries that should be performed before
 failing the task</li>
 <li><strong>retry_delay</strong> (<em>timedelta</em>) &#8211; delay between retries</li>
+<li><strong>retry_exponential_backoff</strong> (<em>bool</em>) &#8211; allow progressive longer waits between
+retries by using exponential backoff algorithm on retry delay (delay
+will be converted into seconds)</li>
+<li><strong>max_retry_delay</strong> (<em>timedelta</em>) &#8211; maximum delay interval between retries</li>
 <li><strong>start_date</strong> (<em>datetime</em>) &#8211; The <code class="docutils literal"><span class="pre">start_date</span></code> for the task, determines
 the <code class="docutils literal"><span class="pre">execution_date</span></code> for the first task instance. The best practice
 is to have the start_date rounded
@@ -282,6 +286,8 @@ for the task to get triggered. Options are:
 default is <code class="docutils literal"><span class="pre">all_success</span></code>. Options can be set as string or
 using the constants defined in the static class
 <code class="docutils literal"><span class="pre">airflow.utils.TriggerRule</span></code></li>
+<li><strong>resources</strong> (<em>dict</em>) &#8211; A map of resource parameter names (the argument names of the
+Resources constructor) to their values.</li>
 </ul>
 </td>
 </tr>
@@ -323,14 +329,15 @@ between each tries</li>
 <div class="section" id="module-airflow.operators">
 <span id="operator-api"></span><h3>Operator API<a class="headerlink" href="#module-airflow.operators" title="Permalink to this headline">¶</a></h3>
 <p>Importer that dynamically loads a class and module from its parent. This
-allows Airflow to support <cite>from airflow.operators.bash_operator import
-BashOperator</cite> even though BashOperator is actually in
-airflow.operators.bash_operator.</p>
+allows Airflow to support <code class="docutils literal"><span class="pre">from</span> <span class="pre">airflow.operators</span> <span class="pre">import</span> <span class="pre">BashOperator</span></code>
+even though BashOperator is actually in
+<code class="docutils literal"><span class="pre">airflow.operators.bash_operator</span></code>.</p>
 <p>The importer also takes over for the parent_module by wrapping it. This is
 required to support attribute-based usage:</p>
-<blockquote>
-<div>from airflow import operators
-operators.BashOperator(...)</div></blockquote>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">operators</span>
+<span class="n">operators</span><span class="o">.</span><span class="n">BashOperator</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
+</pre></div>
+</div>
 <dl class="class">
 <dt id="airflow.operators.BashOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">BashOperator</code><span class="sig-paren">(</span><em>bash_command</em>, <em>xcom_push=False</em>, <em>env=None</em>, <em>output_encoding='utf-8'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bash_operator.html#BashOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.oper [...]
@@ -343,6 +350,8 @@ operators.BashOperator(...)</div></blockquote>
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>bash_command</strong> (<em>string</em>) &#8211; The command, set of commands or reference to a
 bash script (must be &#8216;.sh&#8217;) to be executed.</li>
+<li><strong>xcom_push</strong> (<em>bool</em>) &#8211; If xcom_push is True, the last line written to stdout
+will also be pushed to an XCom when the bash command completes.</li>
 <li><strong>env</strong> (<em>dict</em>) &#8211; If env is not None, it must be a mapping that defines the
 environment variables for the new process; these are used instead
 of inheriting the current process environment, which is the default
@@ -418,7 +427,7 @@ DAG.</p>
 
 <dl class="class">
 <dt id="airflow.operators.EmailOperator">
-<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">EmailOperator</code><span class="sig-paren">(</span><em>to</em>, <em>subject</em>, <em>html_content</em>, <em>files=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/email_operator.html#EmailOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.operators.EmailOperator" tit [...]
+<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">EmailOperator</code><span class="sig-paren">(</span><em>to</em>, <em>subject</em>, <em>html_content</em>, <em>files=None</em>, <em>cc=None</em>, <em>bcc=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/email_operator.html#EmailOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href=" [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.models.BaseOperator" title="airflow.models.BaseOperator"><code class="xref py py-class docutils literal"><span class="pre">airflow.models.BaseOperator</span></code></a></p>
 <p>Sends an email.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -431,6 +440,8 @@ DAG.</p>
 <li><strong>html_content</strong> (<em>string</em>) &#8211; content of the email (templated), html markup
 is allowed</li>
 <li><strong>files</strong> (<em>list</em>) &#8211; file names to attach in email</li>
+<li><strong>cc</strong> (<em>list or string (comma or semicolon delimited)</em>) &#8211; list of recipients to be added in CC field</li>
+<li><strong>bcc</strong> (<em>list or string (comma or semicolon delimited)</em>) &#8211; list of recipients to be added in BCC field</li>
 </ul>
 </td>
 </tr>
@@ -525,7 +536,7 @@ results of the query as a csv to a Samba location.</p>
 
 <dl class="class">
 <dt id="airflow.operators.HiveOperator">
-<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">HiveOperator</code><span class="sig-paren">(</span><em>hql</em>, <em>hive_cli_conn_id='hive_cli_default'</em>, <em>schema='default'</em>, <em>hiveconf_jinja_translate=False</em>, <em>script_begin_tag=None</em>, <em>run_as_owner=False</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_operator.html#HiveOperator">< [...]
+<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">HiveOperator</code><span class="sig-paren">(</span><em>hql</em>, <em>hive_cli_conn_id='hive_cli_default'</em>, <em>schema='default'</em>, <em>hiveconf_jinja_translate=False</em>, <em>script_begin_tag=None</em>, <em>run_as_owner=False</em>, <em>mapred_queue=None</em>, <em>mapred_queue_priority=None</em>, <em>mapred_job_name=None</em>, <em>*args</em>, <em>**kwargs</em><span class="si [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.models.BaseOperator" title="airflow.models.BaseOperator"><code class="xref py py-class docutils literal"><span class="pre">airflow.models.BaseOperator</span></code></a></p>
 <p>Executes hql code in a specific Hive database.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -542,6 +553,11 @@ you may want to use this along with the
 object documentation for more details.</li>
 <li><strong>script_begin_tag</strong> (<em>str</em>) &#8211; If defined, the operator will get rid of the
 part of the script before the first occurrence of <cite>script_begin_tag</cite></li>
+<li><strong>mapred_queue</strong> (<em>string</em>) &#8211; queue used by the Hadoop CapacityScheduler</li>
+<li><strong>mapred_queue_priority</strong> (<em>string</em>) &#8211; priority within CapacityScheduler queue.
+Possible settings include: VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW</li>
+<li><strong>mapred_job_name</strong> (<em>string</em>) &#8211; This name will appear in the jobtracker.
+This can make monitoring easier.</li>
 </ul>
 </td>
 </tr>
@@ -554,7 +570,7 @@ part of the script before the first occurrence of <cite>script_begin_tag</cite><
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">HivePartitionSensor</code><span class="sig-paren">(</span><em>table</em>, <em>partition=&quot;ds='{{ ds }}'&quot;</em>, <em>metastore_conn_id='metastore_default'</em>, <em>schema='default'</em>, <em>poke_interval=180</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/sensors.html#HivePartitionSensor"><span class="view [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.operators.sensors.BaseSensorOperator" title="airflow.operators.sensors.BaseSensorOperator"><code class="xref py py-class docutils literal"><span class="pre">sensors.BaseSensorOperator</span></code></a></p>
 <p>Waits for a partition to show up in Hive.</p>
-<p>Note: Because &#64;partition supports general logical operators, it
+<p>Note: Because <code class="docutils literal"><span class="pre">partition</span></code> supports general logical operators, it
 can be inefficient. Consider using NamedHivePartitionSensor instead if
 you don&#8217;t need the full flexibility of HivePartitionSensor.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -565,9 +581,9 @@ you don&#8217;t need the full flexibility of HivePartitionSensor.</p>
 <li><strong>table</strong> (<em>string</em>) &#8211; The name of the table to wait for, supports the dot
 notation (my_database.my_table)</li>
 <li><strong>partition</strong> (<em>string</em>) &#8211; The partition clause to wait for. This is passed as
-is to the metastore Thrift client &#8220;get_partitions_by_filter&#8221; method,
-and apparently supports SQL like notation as in <cite>ds=&#8216;2015-01-01&#8217;
-AND type=&#8217;value&#8217;</cite> and &gt; &lt; sings as in &#8220;ds&gt;=2015-01-01&#8221;</li>
+is to the metastore Thrift client <code class="docutils literal"><span class="pre">get_partitions_by_filter</span></code> method,
+and apparently supports SQL like notation as in <code class="docutils literal"><span class="pre">ds='2015-01-01'</span>
+<span class="pre">AND</span> <span class="pre">type='value'</span></code> and comparison operators as in <code class="docutils literal"><span class="pre">&quot;ds&gt;=2015-01-01&quot;</span></code></li>
 <li><strong>metastore_conn_id</strong> (<em>str</em>) &#8211; reference to the metastore thrift service
 connection id</li>
 </ul>
@@ -835,6 +851,32 @@ and values</li>
 </dd></dl>
 
 <dl class="class">
+<dt id="airflow.operators.NamedHivePartitionSensor">
+<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">NamedHivePartitionSensor</code><span class="sig-paren">(</span><em>partition_names</em>, <em>metastore_conn_id='metastore_default'</em>, <em>poke_interval=180</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/sensors.html#NamedHivePartitionSensor"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.operators.sensors.BaseSensorOperator" title="airflow.operators.sensors.BaseSensorOperator"><code class="xref py py-class docutils literal"><span class="pre">sensors.BaseSensorOperator</span></code></a></p>
+<p>Waits for a set of partitions to show up in Hive.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>partition_names</strong> (<em>list of strings</em>) &#8211; List of fully qualified names of the
+partitions to wait for. A fully qualified name is of the
+form <code class="docutils literal"><span class="pre">schema.table/pk1=pv1/pk2=pv2</span></code>, for example,
+default.users/ds=2016-01-01. This is passed as is to the metastore
+Thrift client <code class="docutils literal"><span class="pre">get_partitions_by_name</span></code> method. Note that
+you cannot use logical or comparison operators as in
+HivePartitionSensor.</li>
+<li><strong>metastore_conn_id</strong> (<em>str</em>) &#8211; reference to the metastore thrift service
+connection id</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="class">
 <dt id="airflow.operators.PostgresOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">PostgresOperator</code><span class="sig-paren">(</span><em>sql</em>, <em>postgres_conn_id='postgres_default'</em>, <em>autocommit=False</em>, <em>parameters=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/postgres_operator.html#PostgresOperator"><span class="viewcode-link">[source]</span></a><a class="headerli [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.models.BaseOperator" title="airflow.models.BaseOperator"><code class="xref py py-class docutils literal"><span class="pre">airflow.models.BaseOperator</span></code></a></p>
@@ -863,12 +905,14 @@ Template reference are recognized by str ending in '.sql'</em>) &#8211; the sql
 a sql query that will return a single row. Each value on that
 first row is evaluated using python <code class="docutils literal"><span class="pre">bool</span></code> casting. If any of the
 values return <code class="docutils literal"><span class="pre">False</span></code> the check is failed and errors out.</p>
-<p>Note that Python bool casting evals the following as <code class="docutils literal"><span class="pre">False</span></code>:
-* False
-* 0
-* Empty string (<code class="docutils literal"><span class="pre">&quot;&quot;</span></code>)
-* Empty list (<code class="docutils literal"><span class="pre">[]</span></code>)
-* Empty dictionary or set (<code class="docutils literal"><span class="pre">{}</span></code>)</p>
+<p>Note that Python bool casting evals the following as <code class="docutils literal"><span class="pre">False</span></code>:</p>
+<ul class="simple">
+<li><code class="docutils literal"><span class="pre">False</span></code></li>
+<li><code class="docutils literal"><span class="pre">0</span></code></li>
+<li>Empty string (<code class="docutils literal"><span class="pre">&quot;&quot;</span></code>)</li>
+<li>Empty list (<code class="docutils literal"><span class="pre">[]</span></code>)</li>
+<li>Empty dictionary or set (<code class="docutils literal"><span class="pre">{}</span></code>)</li>
+</ul>
 <p>Given a query like <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">COUNT(*)</span> <span class="pre">FROM</span> <span class="pre">foo</span></code>, it will fail only if
 the count <code class="docutils literal"><span class="pre">==</span> <span class="pre">0</span></code>. You can craft much more complex query that could,
 for instance, check that the table has the same number of rows as
@@ -1206,14 +1250,15 @@ The default is False.</li>
 <div class="section" id="module-airflow.contrib.operators">
 <span id="community-contributed-operators"></span><h3>Community-contributed Operators<a class="headerlink" href="#module-airflow.contrib.operators" title="Permalink to this headline">¶</a></h3>
 <p>Importer that dynamically loads a class and module from its parent. This
-allows Airflow to support <cite>from airflow.operators.bash_operator import
-BashOperator</cite> even though BashOperator is actually in
-airflow.operators.bash_operator.</p>
+allows Airflow to support <code class="docutils literal"><span class="pre">from</span> <span class="pre">airflow.operators</span> <span class="pre">import</span> <span class="pre">BashOperator</span></code>
+even though BashOperator is actually in
+<code class="docutils literal"><span class="pre">airflow.operators.bash_operator</span></code>.</p>
 <p>The importer also takes over for the parent_module by wrapping it. This is
 required to support attribute-based usage:</p>
-<blockquote>
-<div>from airflow import operators
-operators.BashOperator(...)</div></blockquote>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">operators</span>
+<span class="n">operators</span><span class="o">.</span><span class="n">BashOperator</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
+</pre></div>
+</div>
 <dl class="class">
 <dt id="airflow.contrib.operators.SSHExecuteOperator">
 <em class="property">class </em><code class="descclassname">airflow.contrib.operators.</code><code class="descname">SSHExecuteOperator</code><span class="sig-paren">(</span><em>ssh_hook</em>, <em>bash_command</em>, <em>xcom_push=False</em>, <em>env=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ssh_execute_operator.html#SSHExecuteOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="# [...]
@@ -1848,7 +1893,7 @@ persisted in the database.</p>
 <span class="target" id="module-airflow.models"></span><dl class="class">
 <dt id="airflow.models.DAG">
 <em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">DAG</code><span class="sig-paren">(</span><em>dag_id</em>, <em>schedule_interval=datetime.timedelta(1)</em>, <em>start_date=None</em>, <em>end_date=None</em>, <em>full_filepath=None</em>, <em>template_searchpath=None</em>, <em>user_defined_macros=None</em>, <em>default_args=None</em>, <em>concurrency=16</em>, <em>max_active_runs=16</em>, <em>dagrun_timeout=None</em>, <em>sla_miss_call [...]
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.utils.logging.LoggingMixin</span></code></p>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.dag.base_dag.BaseDag</span></code>, <code class="xref py py-class docutils literal"><span class="pre">airflow.utils.logging.LoggingMixin</span></code></p>
 <p>A dag (directed acyclic graph) is a collection of tasks with directional
 dependencies. A dag also has a schedule, a start end an end date
 (optional). For each schedule, (say daily or hourly), the DAG needs to run
@@ -1933,6 +1978,13 @@ timeouts.</li>
 </dd></dl>
 
 <dl class="method">
+<dt id="airflow.models.DAG.clear">
+<code class="descname">clear</code><span class="sig-paren">(</span><em>start_date=None</em>, <em>end_date=None</em>, <em>only_failed=False</em>, <em>only_running=False</em>, <em>confirm_prompt=False</em>, <em>include_subdags=True</em>, <em>reset_dag_runs=True</em>, <em>dry_run=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.c [...]
+<dd><p>Clears a set of task instances associated with the current dag for
+a specified date range.</p>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.models.DAG.cli">
 <code class="descname">cli</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.cli"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.cli" title="Permalink to this definition">¶</a></dt>
 <dd><p>Exposes a CLI specific to this DAG</p>
@@ -1972,6 +2024,41 @@ run.
 :type session: Session</p>
 </dd></dl>
 
+<dl class="staticmethod">
+<dt id="airflow.models.DAG.deactivate_stale_dags">
+<em class="property">static </em><code class="descname">deactivate_stale_dags</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.deactivate_stale_dags"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.deactivate_stale_dags" title="Permalink to this definition">¶</a></dt>
+<dd><p>Deactivate any DAGs that were last touched by the scheduler before
+the expiration date. These DAGs were likely deleted.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>expiration_date</strong> &#8211; set inactive DAGs that were touched before this</td>
+</tr>
+</tbody>
+</table>
+<p>time
+:type expiration_date: datetime
+:return: None</p>
+</dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.models.DAG.deactivate_unknown_dags">
+<em class="property">static </em><code class="descname">deactivate_unknown_dags</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.deactivate_unknown_dags"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.deactivate_unknown_dags" title="Permalink to this definition">¶</a></dt>
+<dd><p>Given a list of known DAGs, deactivate any other DAGs that are
+marked as active in the ORM</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>active_dag_ids</strong> (<em>list[unicode]</em>) &#8211; list of DAG IDs that are active</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">None</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 <dl class="attribute">
 <dt id="airflow.models.DAG.filepath">
 <code class="descname">filepath</code><a class="headerlink" href="#airflow.models.DAG.filepath" title="Permalink to this definition">¶</a></dt>
@@ -2036,6 +2123,26 @@ upstream and downstream neighbours based on the flag passed.</p>
 <dd><p>Returns a list of the subdag objects associated to this DAG</p>
 </dd></dl>
 
+<dl class="staticmethod">
+<dt id="airflow.models.DAG.sync_to_db">
+<em class="property">static </em><code class="descname">sync_to_db</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.sync_to_db"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.sync_to_db" title="Permalink to this definition">¶</a></dt>
+<dd><p>Save attributes about this DAG to the DB. Note that this method
+can be called for both DAGs and SubDAGs. A SubDag is actually a
+SubDagOperator.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>dag</strong> (<a class="reference internal" href="#airflow.models.DAG" title="airflow.models.DAG"><em>DAG</em></a>) &#8211; the DAG object to save to the DB</td>
+</tr>
+</tbody>
+</table>
+<p>:own
+:param sync_time: The time that the DAG should be marked as sync&#8217;ed
+:type sync_time: datetime
+:return: None</p>
+</dd></dl>
+
 <dl class="method">
 <dt id="airflow.models.DAG.tree_view">
 <code class="descname">tree_view</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.tree_view"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.tree_view" title="Permalink to this definition">¶</a></dt>
@@ -2046,7 +2153,7 @@ upstream and downstream neighbours based on the flag passed.</p>
 
 <dl class="class">
 <dt>
-<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">BaseOperator</code><span class="sig-paren">(</span><em>task_id</em>, <em>owner='airflow'</em>, <em>email=None</em>, <em>email_on_retry=True</em>, <em>email_on_failure=True</em>, <em>retries=0</em>, <em>retry_delay=datetime.timedelta(0</em>, <em>300)</em>, <em>start_date=None</em>, <em>end_date=None</em>, <em>schedule_interval=None</em>, <em>depends_on_past=False</em>, <em>wait_for_dow [...]
+<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">BaseOperator</code><span class="sig-paren">(</span><em>task_id</em>, <em>owner='airflow'</em>, <em>email=None</em>, <em>email_on_retry=True</em>, <em>email_on_failure=True</em>, <em>retries=0</em>, <em>retry_delay=datetime.timedelta(0</em>, <em>300)</em>, <em>retry_exponential_backoff=False</em>, <em>max_retry_delay=None</em>, <em>start_date=None</em>, <em>end_date=None</em>, <em>sche [...]
 <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">future.types.newobject.newobject</span></code></p>
 <p>Abstract base class for all operators. Since operators create objects that
 become node in the dag, BaseOperator contains many recursive methods for
@@ -2078,6 +2185,10 @@ operators.</p>
 <li><strong>retries</strong> (<em>int</em>) &#8211; the number of retries that should be performed before
 failing the task</li>
 <li><strong>retry_delay</strong> (<em>timedelta</em>) &#8211; delay between retries</li>
+<li><strong>retry_exponential_backoff</strong> (<em>bool</em>) &#8211; allow progressive longer waits between
+retries by using exponential backoff algorithm on retry delay (delay
+will be converted into seconds)</li>
+<li><strong>max_retry_delay</strong> (<em>timedelta</em>) &#8211; maximum delay interval between retries</li>
 <li><strong>start_date</strong> (<em>datetime</em>) &#8211; The <code class="docutils literal"><span class="pre">start_date</span></code> for the task, determines
 the <code class="docutils literal"><span class="pre">execution_date</span></code> for the first task instance. The best practice
 is to have the start_date rounded
@@ -2142,6 +2253,8 @@ for the task to get triggered. Options are:
 default is <code class="docutils literal"><span class="pre">all_success</span></code>. Options can be set as string or
 using the constants defined in the static class
 <code class="docutils literal"><span class="pre">airflow.utils.TriggerRule</span></code></li>
+<li><strong>resources</strong> (<em>dict</em>) &#8211; A map of resource parameter names (the argument names of the
+Resources constructor) to their values.</li>
 </ul>
 </td>
 </tr>
@@ -2407,6 +2520,45 @@ path to add the feature</li>
 </table>
 </dd></dl>
 
+<dl class="staticmethod">
+<dt id="airflow.models.TaskInstance.generate_command">
+<em class="property">static </em><code class="descname">generate_command</code><span class="sig-paren">(</span><em>dag_id</em>, <em>task_id</em>, <em>execution_date</em>, <em>mark_success=False</em>, <em>ignore_dependencies=False</em>, <em>ignore_depends_on_past=False</em>, <em>force=False</em>, <em>local=False</em>, <em>pickle_id=None</em>, <em>file_path=None</em>, <em>raw=False</em>, <em>job_id=None</em>, <em>pool=None</em><span class="sig-paren">)</span><a class="reference internal" h [...]
+<dd><p>Generates the shell command required to execute this task instance.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>dag_id</strong> (<em>unicode</em>) &#8211; DAG ID</li>
+<li><strong>task_id</strong> (<em>unicode</em>) &#8211; Task ID</li>
+<li><strong>execution_date</strong> (<em>datetime</em>) &#8211; Execution date for the task</li>
+<li><strong>mark_success</strong> (<em>bool</em>) &#8211; Whether to mark the task as successful</li>
+<li><strong>ignore_dependencies</strong> &#8211; Whether to ignore the dependencies and run</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+<p>anyway
+:type ignore_dependencies: bool
+:param ignore_depends_on_past: Whether to ignore the depends on past
+setting and run anyway
+:type ignore_depends_on_past: bool
+:param force: Whether to force running - see TaskInstance.run()
+:type force: bool
+:param local: Whether to run the task locally
+:type local: bool
+:param pickle_id: If the DAG was serialized to the DB, the ID
+associated with the pickled DAG
+:type pickle_id: unicode
+:param file_path: path to the file containing the DAG definition
+:param raw: raw mode (needs more details)
+:param job_id: job ID (needs more details)
+:param pool: the Airflow pool that the task should run in
+:type pool: unicode
+:return: shell command that can be used to run the task instance</p>
+</dd></dl>
+
 <dl class="method">
 <dt id="airflow.models.TaskInstance.is_premature">
 <code class="descname">is_premature</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#TaskInstance.is_premature"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.TaskInstance.is_premature" title="Permalink to this definition">¶</a></dt>
@@ -2470,6 +2622,13 @@ dependencies. Defaults to False.</li>
 </dd></dl>
 
 <dl class="method">
+<dt id="airflow.models.TaskInstance.next_retry_datetime">
+<code class="descname">next_retry_datetime</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#TaskInstance.next_retry_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.TaskInstance.next_retry_datetime" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get datetime of the next retry if the task instance fails. For exponential
+backoff, retry_delay is used as base and will be converted to seconds.</p>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.models.TaskInstance.pool_full">
 <code class="descname">pool_full</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#TaskInstance.pool_full"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.TaskInstance.pool_full" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a boolean as to whether the slot pool has room for this
@@ -2584,8 +2743,8 @@ task on a future date without it being immediately visible.</li>
 
 <dl class="class">
 <dt id="airflow.models.DagBag">
-<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">DagBag</code><span class="sig-paren">(</span><em>dag_folder=None</em>, <em>executor=&lt;airflow.executors.local_executor.LocalExecutor object&gt;</em>, <em>include_examples=True</em>, <em>sync_to_db=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DagBag"><span class="viewcode-link">[source]</span></a><a class="headerlink" href [...]
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.utils.logging.LoggingMixin</span></code></p>
+<em class="property">class </em><code class="descclassname">airflow.models.</code><code class="descname">DagBag</code><span class="sig-paren">(</span><em>dag_folder=None</em>, <em>executor=&lt;airflow.executors.local_executor.LocalExecutor object&gt;</em>, <em>include_examples=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DagBag"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DagBag" t [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.dag.base_dag.BaseDagBag</span></code>, <code class="xref py py-class docutils literal"><span class="pre">airflow.utils.logging.LoggingMixin</span></code></p>
 <p>A dagbag is a collection of dags, parsed out of a folder tree and has high
 level configuration settings, like what database to use as a backend and
 what executor to use to fire off tasks. This makes it easier to run
@@ -2598,7 +2757,7 @@ independent settings sets.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>dag_folder</strong> (<em>str</em>) &#8211; the folder to scan to find DAGs</li>
+<li><strong>dag_folder</strong> (<em>unicode</em>) &#8211; the folder to scan to find DAGs</li>
 <li><strong>executor</strong> &#8211; the executor to use when executing task instances
 in this DagBag</li>
 <li><strong>include_examples</strong> (<em>bool</em>) &#8211; whether to include the examples that ship
@@ -2688,14 +2847,15 @@ passwords when using operators or hooks.</p>
 <div class="section" id="module-airflow.hooks">
 <span id="hooks"></span><h2>Hooks<a class="headerlink" href="#module-airflow.hooks" title="Permalink to this headline">¶</a></h2>
 <p>Importer that dynamically loads a class and module from its parent. This
-allows Airflow to support <cite>from airflow.operators.bash_operator import
-BashOperator</cite> even though BashOperator is actually in
-airflow.operators.bash_operator.</p>
+allows Airflow to support <code class="docutils literal"><span class="pre">from</span> <span class="pre">airflow.operators</span> <span class="pre">import</span> <span class="pre">BashOperator</span></code>
+even though BashOperator is actually in
+<code class="docutils literal"><span class="pre">airflow.operators.bash_operator</span></code>.</p>
 <p>The importer also takes over for the parent_module by wrapping it. This is
 required to support attribute-based usage:</p>
-<blockquote>
-<div>from airflow import operators
-operators.BashOperator(...)</div></blockquote>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">operators</span>
+<span class="n">operators</span><span class="o">.</span><span class="n">BashOperator</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
+</pre></div>
+</div>
 <dl class="class">
 <dt id="airflow.hooks.DbApiHook">
 <em class="property">class </em><code class="descclassname">airflow.hooks.</code><code class="descname">DbApiHook</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/dbapi_hook.html#DbApiHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.DbApiHook" title="Permalink to this definition">¶</a></dt>
@@ -2855,7 +3015,7 @@ before executing the query.</li>
 
 <dl class="class">
 <dt id="airflow.hooks.HiveCliHook">
-<em class="property">class </em><code class="descclassname">airflow.hooks.</code><code class="descname">HiveCliHook</code><span class="sig-paren">(</span><em>hive_cli_conn_id='hive_cli_default'</em>, <em>run_as=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveCliHook" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="descclassname">airflow.hooks.</code><code class="descname">HiveCliHook</code><span class="sig-paren">(</span><em>hive_cli_conn_id='hive_cli_default'</em>, <em>run_as=None</em>, <em>mapred_queue=None</em>, <em>mapred_queue_priority=None</em>, <em>mapred_job_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
 <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></p>
 <p>Simple wrapper around the hive CLI.</p>
 <p>It also supports the <code class="docutils literal"><span class="pre">beeline</span></code>
@@ -2868,6 +3028,21 @@ extra field of your connection as in <code class="docutils literal"><span class=
 Parameters passed here can be overridden by run_cli&#8217;s hive_conf param</p>
 <p>The extra connection parameter <code class="docutils literal"><span class="pre">auth</span></code> gets passed as in the <code class="docutils literal"><span class="pre">jdbc</span></code>
 connection string as is.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>mapred_queue</strong> (<em>string</em>) &#8211; queue used by the Hadoop Scheduler (Capacity or Fair)</li>
+<li><strong>mapred_queue_priority</strong> (<em>string</em>) &#8211; priority within the job queue.
+Possible settings include: VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW</li>
+<li><strong>mapred_job_name</strong> (<em>string</em>) &#8211; This name will appear in the jobtracker.
+This can make monitoring easier.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
 <dl class="method">
 <dt id="airflow.hooks.HiveCliHook.load_file">
 <code class="descname">load_file</code><span class="sig-paren">(</span><em>filepath</em>, <em>table</em>, <em>delimiter='</em>, <em>'</em>, <em>field_dict=None</em>, <em>create=True</em>, <em>overwrite=True</em>, <em>partition=None</em>, <em>recreate=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook.load_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveCliHook.load_file" ti [...]
@@ -2901,16 +3076,17 @@ and values</li>
 <dl class="method">
 <dt id="airflow.hooks.HiveCliHook.run_cli">
 <code class="descname">run_cli</code><span class="sig-paren">(</span><em>hql</em>, <em>schema=None</em>, <em>verbose=True</em>, <em>hive_conf=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook.run_cli"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveCliHook.run_cli" title="Permalink to this definition">¶</a></dt>
-<dd><p>Run an hql statement using the hive cli. If hive_conf is specified it should be a
-dict and the entries will be set as key/value pairs in HiveConf</p>
+<dd><p>Run an hql statement using the hive cli. If hive_conf is specified
+it should be a dict and the entries will be set as key/value pairs
+in HiveConf</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>hive_conf</strong> (<em>dict</em>) &#8211; if specified these key value pairs will be passed to hive as
-<code class="docutils literal"><span class="pre">-hiveconf</span> <span class="pre">&quot;key&quot;=&quot;value&quot;</span></code>. Note that they will be passed after the
-<code class="docutils literal"><span class="pre">hive_cli_params</span></code> and thus will override whatever values are specified in
-the database.</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>hive_conf</strong> (<em>dict</em>) &#8211; if specified these key value pairs will be passed
+to hive as <code class="docutils literal"><span class="pre">-hiveconf</span> <span class="pre">&quot;key&quot;=&quot;value&quot;</span></code>. Note that they will be
+passed after the <code class="docutils literal"><span class="pre">hive_cli_params</span></code> and thus will override
+whatever values are specified in the database.</td>
 </tr>
 </tbody>
 </table>
@@ -3168,9 +3344,19 @@ checking for the result</p>
 <dl class="method">
 <dt id="airflow.hooks.DruidHook.load_from_hdfs">
 <code class="descname">load_from_hdfs</code><span class="sig-paren">(</span><em>datasource</em>, <em>static_path</em>, <em>ts_dim</em>, <em>columns</em>, <em>intervals</em>, <em>num_shards</em>, <em>target_partition_size</em>, <em>metric_spec=None</em>, <em>hadoop_dependency_coordinates=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/druid_hook.html#DruidHook.load_from_hdfs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="# [...]
-<dd><p>load data to druid from hdfs
-:params ts_dim: The column name to use as a timestamp
-:params metric_spec: A list of dictionaries</p>
+<dd><p>load data to druid from hdfs</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>ts_dim</strong> &#8211; The column name to use as a timestamp</li>
+<li><strong>metric_spec</strong> &#8211; A list of dictionaries</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
 </dd></dl>
 
 </dd></dl>
@@ -3507,14 +3693,15 @@ directory, files will be uploaded inside.</li>
 <div class="section" id="module-airflow.contrib.hooks">
 <span id="community-contributed-hooks"></span><h3>Community contributed hooks<a class="headerlink" href="#module-airflow.contrib.hooks" title="Permalink to this headline">¶</a></h3>
 <p>Importer that dynamically loads a class and module from its parent. This
-allows Airflow to support <cite>from airflow.operators.bash_operator import
-BashOperator</cite> even though BashOperator is actually in
-airflow.operators.bash_operator.</p>
+allows Airflow to support <code class="docutils literal"><span class="pre">from</span> <span class="pre">airflow.operators</span> <span class="pre">import</span> <span class="pre">BashOperator</span></code>
+even though BashOperator is actually in
+<code class="docutils literal"><span class="pre">airflow.operators.bash_operator</span></code>.</p>
 <p>The importer also takes over for the parent_module by wrapping it. This is
 required to support attribute-based usage:</p>
-<blockquote>
-<div>from airflow import operators
-operators.BashOperator(...)</div></blockquote>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">operators</span>
+<span class="n">operators</span><span class="o">.</span><span class="n">BashOperator</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
+</pre></div>
+</div>
 <dl class="class">
 <dt id="airflow.contrib.hooks.BigQueryHook">
 <em class="property">class </em><code class="descclassname">airflow.contrib.hooks.</code><code class="descname">BigQueryHook</code><span class="sig-paren">(</span><em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook" title="Permalink to this definition" [...]
@@ -3719,6 +3906,24 @@ on the remote system (where the MLSD command is supported).</p>
 </dd></dl>
 
 <dl class="method">
+<dt id="airflow.contrib.hooks.FTPHook.rename">
+<code class="descname">rename</code><span class="sig-paren">(</span><em>from_name</em>, <em>to_name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ftp_hook.html#FTPHook.rename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.FTPHook.rename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Rename a file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>from_name</strong> &#8211; rename file from name</li>
+<li><strong>to_name</strong> &#8211; rename file to name</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.contrib.hooks.FTPHook.retrieve_file">
 <code class="descname">retrieve_file</code><span class="sig-paren">(</span><em>remote_full_path</em>, <em>local_full_path_or_buffer</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ftp_hook.html#FTPHook.retrieve_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.FTPHook.retrieve_file" title="Permalink to this definition">¶</a></dt>
 <dd><p>Transfers the remote file to a local location.</p>
diff --git a/faq.html b/faq.html
index 3d8cb5d..623e37f 100644
--- a/faq.html
+++ b/faq.html
@@ -91,7 +91,15 @@
 <li class="toctree-l1"><a class="reference internal" href="scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">FAQ</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">FAQ</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#why-isn-t-my-task-getting-scheduled">Why isn&#8217;t my task getting scheduled?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#how-do-i-trigger-tasks-based-on-another-task-s-failure">How do I trigger tasks based on another task&#8217;s failure?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#why-are-connection-passwords-still-not-encrypted-in-the-metadata-db-after-i-installed-airflow-crypto">Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#what-s-the-deal-with-start-date">What&#8217;s the deal with <code class="docutils literal"><span class="pre">start_date</span></code>?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#how-can-i-create-dags-dynamically">How can I create DAGs dynamically?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#what-are-all-the-airflow-run-commands-in-my-process-list">What are all the <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span></code> commands in my process list?</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="code.html">API Reference</a></li>
 </ul>
 
@@ -139,7 +147,8 @@
             
   <div class="section" id="faq">
 <h1>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h1>
-<p><strong>Why isn&#8217;t my task getting scheduled?</strong></p>
+<div class="section" id="why-isn-t-my-task-getting-scheduled">
+<h2>Why isn&#8217;t my task getting scheduled?<a class="headerlink" href="#why-isn-t-my-task-getting-scheduled" title="Permalink to this headline">¶</a></h2>
 <p>There are very many reasons why your task might not be getting scheduled.
 Here are some of the common causes:</p>
 <ul class="simple">
@@ -180,15 +189,21 @@ how many <code class="docutils literal"><span class="pre">running</span></code>
 </ul>
 <p>You may also want to read the Scheduler section of the docs and make
 sure you fully understand how it proceeds.</p>
-<p><strong>How do I trigger tasks based on another task&#8217;s failure?</strong></p>
+</div>
+<div class="section" id="how-do-i-trigger-tasks-based-on-another-task-s-failure">
+<h2>How do I trigger tasks based on another task&#8217;s failure?<a class="headerlink" href="#how-do-i-trigger-tasks-based-on-another-task-s-failure" title="Permalink to this headline">¶</a></h2>
 <p>Check out the <code class="docutils literal"><span class="pre">Trigger</span> <span class="pre">Rule</span></code> section in the Concepts section of the
 documentation</p>
-<p><strong>Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]</strong>?</p>
+</div>
+<div class="section" id="why-are-connection-passwords-still-not-encrypted-in-the-metadata-db-after-i-installed-airflow-crypto">
+<h2>Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?<a class="headerlink" href="#why-are-connection-passwords-still-not-encrypted-in-the-metadata-db-after-i-installed-airflow-crypto" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
 <li>Verify that the <code class="docutils literal"><span class="pre">fernet_key</span></code> defined in <code class="docutils literal"><span class="pre">$AIRFLOW_HOME/airflow.cfg</span></code> is a valid Fernet key. It must be a base64-encoded 32-byte key. You need to restart the webserver after you update the key</li>
 <li>For existing connections (the ones that you had defined before installing <code class="docutils literal"><span class="pre">airflow[crypto]</span></code> and creating a Fernet key), you need to open each connection in the connection admin UI, re-type the password, and save it</li>
 </ul>
-<p><strong>What&#8217;s the deal with ``start_date``?</strong></p>
+</div>
+<div class="section" id="what-s-the-deal-with-start-date">
+<h2>What&#8217;s the deal with <code class="docutils literal"><span class="pre">start_date</span></code>?<a class="headerlink" href="#what-s-the-deal-with-start-date" title="Permalink to this headline">¶</a></h2>
 <p><code class="docutils literal"><span class="pre">start_date</span></code> is partly legacy from the pre-DagRun era, but it is still
 relevant in many ways. When creating a new DAG, you probably want to set
 a global <code class="docutils literal"><span class="pre">start_date</span></code> for your tasks using <code class="docutils literal"><span class="pre">default_args</span></code>. The first
@@ -205,7 +220,7 @@ an hour after now as <code class="docutils literal"><span class="pre">now()</spa
 <p>Previously we also recommended using rounded <code class="docutils literal"><span class="pre">start_date</span></code> in relation to your
 <code class="docutils literal"><span class="pre">schedule_interval</span></code>. This meant an <code class="docutils literal"><span class="pre">&#64;hourly</span></code> would be at <code class="docutils literal"><span class="pre">00:00</span></code>
 minutes:seconds, a <code class="docutils literal"><span class="pre">&#64;daily</span></code> job at midnight, a <code class="docutils literal"><span class="pre">&#64;monthly</span></code> job on the
-first of the month. This is no longer required. Airflow will not auto align
+first of the month. This is no longer required. Airflow will now auto align
 the <code class="docutils literal"><span class="pre">start_date</span></code> and the <code class="docutils literal"><span class="pre">schedule_interval</span></code>, by using the <code class="docutils literal"><span class="pre">start_date</span></code>
 as the moment to start looking.</p>
 <p>You can use any sensor or a <code class="docutils literal"><span class="pre">TimeDeltaSensor</span></code> to delay
@@ -224,6 +239,38 @@ backfill CLI command, get overridden by the backfill&#8217;s command <code class
 This allows for a backfill on tasks that have <code class="docutils literal"><span class="pre">depends_on_past=True</span></code> to
 actually start, if it wasn&#8217;t the case, the backfill just wouldn&#8217;t start.</p>
 </div>
+<div class="section" id="how-can-i-create-dags-dynamically">
+<h2>How can I create DAGs dynamically?<a class="headerlink" href="#how-can-i-create-dags-dynamically" title="Permalink to this headline">¶</a></h2>
+<p>Airflow looks in you <code class="docutils literal"><span class="pre">DAGS_FOLDER</span></code> for modules that contain <code class="docutils literal"><span class="pre">DAG</span></code> objects
+in their global namespace, and adds the objects it finds in the
+<code class="docutils literal"><span class="pre">DagBag</span></code>. Knowing this all we need is a way to dynamically assign
+variable in the global namespace, which is easily done in python using the
+<code class="docutils literal"><span class="pre">globals()</span></code> function for the standard library which behaves like a
+simple dictionary.</p>
+<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="s1">&#39;foo_</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
+    <span class="nb">globals</span><span class="p">()[</span><span class="n">dag_id</span><span class="p">]</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span><span class="n">dag_id</span><span class="p">)</span>
+    <span class="c1"># or better, call a function that returns a DAG object!</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="what-are-all-the-airflow-run-commands-in-my-process-list">
+<h2>What are all the <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span></code> commands in my process list?<a class="headerlink" href="#what-are-all-the-airflow-run-commands-in-my-process-list" title="Permalink to this headline">¶</a></h2>
+<p>There are many layers of <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span></code> commands, meaning it can call itself.</p>
+<ul class="simple">
+<li>Basic <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span></code>: fires up an executor, and tell it to run an
+<code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span> <span class="pre">--local</span></code> command. if using Celery, this means it puts a
+command in the queue for it to run remote, on the worker. If using
+LocalExecutor, that translates into running it in a subprocess pool.</li>
+<li>Local <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span> <span class="pre">--local</span></code>: starts an <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span> <span class="pre">--raw</span></code>
+command (described bellow) as a subprocess and is in charge of
+emitting heartbeats, listening for external kill signals
+and ensures some cleanup takes place if the subprocess fails</li>
+<li>Raw <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span> <span class="pre">--raw</span></code> runs the actual operator&#8217;s execute method and
+performs the actual work</li>
+</ul>
+</div>
+</div>
 
 
            </div>
diff --git a/genindex.html b/genindex.html
index 20b510f..d4a80fb 100644
--- a/genindex.html
+++ b/genindex.html
@@ -316,6 +316,12 @@
   <dt><a href="code.html#airflow.models.BaseOperator.clear">clear() (airflow.models.BaseOperator method)</a>
   </dt>
 
+      <dd><dl>
+        
+  <dt><a href="code.html#airflow.models.DAG.clear">(airflow.models.DAG method)</a>
+  </dt>
+
+      </dl></dd>
       
   <dt><a href="code.html#airflow.models.TaskInstance.clear_xcom_data">clear_xcom_data() (airflow.models.TaskInstance method)</a>
   </dt>
@@ -409,6 +415,14 @@
   </dt>
 
       
+  <dt><a href="code.html#airflow.models.DAG.deactivate_stale_dags">deactivate_stale_dags() (airflow.models.DAG static method)</a>
+  </dt>
+
+      
+  <dt><a href="code.html#airflow.models.DAG.deactivate_unknown_dags">deactivate_unknown_dags() (airflow.models.DAG static method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.delete_directory">delete_directory() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
@@ -416,12 +430,12 @@
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.delete_file">delete_file() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.describe_directory">describe_directory() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.models.BaseOperator.detect_downstream_cycle">detect_downstream_cycle() (airflow.models.BaseOperator method)</a>
   </dt>
@@ -523,6 +537,10 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="code.html#airflow.models.TaskInstance.generate_command">generate_command() (airflow.models.TaskInstance static method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.operators.GenericTransfer">GenericTransfer (class in airflow.operators)</a>
   </dt>
 
@@ -919,6 +937,16 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="code.html#airflow.operators.NamedHivePartitionSensor">NamedHivePartitionSensor (class in airflow.operators)</a>
+  </dt>
+
+      
+  <dt><a href="code.html#airflow.models.TaskInstance.next_retry_datetime">next_retry_datetime() (airflow.models.TaskInstance method)</a>
+  </dt>
+
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
+      
   <dt><a href="code.html#airflow.models.DAG.normalize_schedule">normalize_schedule() (airflow.models.DAG method)</a>
   </dt>
 
@@ -1021,16 +1049,20 @@
   </dt>
 
       
-  <dt><a href="code.html#airflow.models.BaseOperator.render_template">render_template() (airflow.models.BaseOperator method)</a>
+  <dt><a href="code.html#airflow.contrib.hooks.FTPHook.rename">rename() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
       
-  <dt><a href="code.html#airflow.models.BaseOperator.render_template_from_field">render_template_from_field() (airflow.models.BaseOperator method)</a>
+  <dt><a href="code.html#airflow.models.BaseOperator.render_template">render_template() (airflow.models.BaseOperator method)</a>
   </dt>
 
   </dl></td>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="code.html#airflow.models.BaseOperator.render_template_from_field">render_template_from_field() (airflow.models.BaseOperator method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.contrib.hooks.FTPHook.retrieve_file">retrieve_file() (airflow.contrib.hooks.FTPHook method)</a>
   </dt>
 
@@ -1114,12 +1146,12 @@
   <dt><a href="code.html#airflow.operators.SimpleHttpOperator">SimpleHttpOperator (class in airflow.operators)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.models.DagBag.size">size() (airflow.models.DagBag method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.operators.SlackAPIOperator">SlackAPIOperator (class in airflow.operators)</a>
   </dt>
@@ -1156,6 +1188,10 @@
   <dt><a href="code.html#airflow.models.DAG.subdags">subdags (airflow.models.DAG attribute)</a>
   </dt>
 
+      
+  <dt><a href="code.html#airflow.models.DAG.sync_to_db">sync_to_db() (airflow.models.DAG static method)</a>
+  </dt>
+
   </dl></td>
 </tr></table>
 
diff --git a/index.html b/index.html
index 5ac4744..5e8642c 100644
--- a/index.html
+++ b/index.html
@@ -329,7 +329,15 @@ unit of work and continuity.</p>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#why-isn-t-my-task-getting-scheduled">Why isn&#8217;t my task getting scheduled?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#how-do-i-trigger-tasks-based-on-another-task-s-failure">How do I trigger tasks based on another task&#8217;s failure?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#why-are-connection-passwords-still-not-encrypted-in-the-metadata-db-after-i-installed-airflow-crypto">Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#what-s-the-deal-with-start-date">What&#8217;s the deal with <code class="docutils literal"><span class="pre">start_date</span></code>?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#how-can-i-create-dags-dynamically">How can I create DAGs dynamically?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="faq.html#what-are-all-the-airflow-run-commands-in-my-process-list">What are all the <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">run</span></code> commands in my process list?</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="code.html">API Reference</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="code.html#operators">Operators</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="code.html#baseoperator">BaseOperator</a></li>
diff --git a/objects.inv b/objects.inv
index 56e566e..7823a60 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index 97adc3c..3d2f62d 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{hooks:[1,1,0,"-"],operators:[1,1,0,"-"]},"airflow.contrib.executors.mesos_executor":{MesosExecutor:[1,0,1,""]},"airflow.contrib.hooks":{BigQueryHook:[1,0,1,""],CloudantHook:[1,0,1,""],FTPHook:[1,0,1,""],GoogleCloudStorageHook:[1,0,1,""],SSHHook:[1,0,1,""],Vertica [...]
\ No newline at end of file
+Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{hooks:[1,1,0,"-"],operators:[1,1,0,"-"]},"airflow.contrib.executors.mesos_executor":{MesosExecutor:[1,0,1,""]},"airflow.contrib.hooks":{BigQueryHook:[1,0,1,""],CloudantHook:[1,0,1,""],FTPHook:[1,0,1,""],GoogleCloudStorageHook:[1,0,1,""],SSHHook:[1,0,1,""],Vertica [...]
\ No newline at end of file
diff --git a/security.html b/security.html
index 8e65476..25ada3c 100644
--- a/security.html
+++ b/security.html
@@ -209,16 +209,20 @@ you will need to change <code class="docutils literal"><span class="pre">search_
 <span class="nv">auth_backend</span> <span class="o">=</span> airflow.contrib.auth.backends.ldap_auth
 
 <span class="o">[</span>ldap<span class="o">]</span>
+<span class="c1"># set a connection without encryption: uri = ldap://&lt;your.ldap.server&gt;:&lt;port&gt;</span>
 <span class="nv">uri</span> <span class="o">=</span> ldaps://&lt;your.ldap.server&gt;:&lt;port&gt;
 <span class="nv">user_filter</span> <span class="o">=</span> <span class="nv">objectClass</span><span class="o">=</span>*
-<span class="nv">user_name_attr</span> <span class="o">=</span> uid <span class="c1"># in case of Active Directory you would use sAMAccountName</span>
+<span class="c1"># in case of Active Directory you would use: user_name_attr = sAMAccountName</span>
+<span class="nv">user_name_attr</span> <span class="o">=</span> uid
 <span class="nv">superuser_filter</span> <span class="o">=</span> <span class="nv">memberOf</span><span class="o">=</span><span class="nv">CN</span><span class="o">=</span>airflow-super-users,OU<span class="o">=</span>Groups,OU<span class="o">=</span>RWC,OU<span class="o">=</span>US,OU<span class="o">=</span>NORAM,DC<span class="o">=</span>example,DC<span class="o">=</span>com
 <span class="nv">data_profiler_filter</span> <span class="o">=</span> <span class="nv">memberOf</span><span class="o">=</span><span class="nv">CN</span><span class="o">=</span>airflow-data-profilers,OU<span class="o">=</span>Groups,OU<span class="o">=</span>RWC,OU<span class="o">=</span>US,OU<span class="o">=</span>NORAM,DC<span class="o">=</span>example,DC<span class="o">=</span>com
 <span class="nv">bind_user</span> <span class="o">=</span> <span class="nv">cn</span><span class="o">=</span>Manager,dc<span class="o">=</span>example,dc<span class="o">=</span>com
 <span class="nv">bind_password</span> <span class="o">=</span> insecure
 <span class="nv">basedn</span> <span class="o">=</span> <span class="nv">dc</span><span class="o">=</span>example,dc<span class="o">=</span>com
 <span class="nv">cacert</span> <span class="o">=</span> /etc/ca/ldap_ca.crt
-<span class="nv">search_scope</span> <span class="o">=</span> LEVEL <span class="c1"># Set this to SUBTREE if using Active Directory, and not specifying an Organizational Unit</span>
+<span class="c1"># Set search_scope to one of them:  BASE, LEVEL , SUBTREE</span>
+<span class="c1"># Set search_scope to SUBTREE if using Active Directory, and not specifying an Organizational Unit</span>
+<span class="nv">search_scope</span> <span class="o">=</span> LEVEL
 </pre></div>
 </div>
 <p>The superuser_filter and data_profiler_filter are optional. If defined, these configurations allow you to specify LDAP groups that users must belong to in order to have superuser (admin) and data-profiler permissions. If undefined, all users will be superusers and data profilers.</p>
diff --git a/tutorial.html b/tutorial.html
index abcbbc0..17148bb 100644
--- a/tutorial.html
+++ b/tutorial.html
@@ -190,7 +190,7 @@ complicated, a line by line explanation follows below.</p>
 
 <span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;tutorial&#39;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">)</span>
 
-<span class="c1"># t1, t2 and t3 are examples of tasks created by instatiating operators</span>
+<span class="c1"># t1, t2 and t3 are examples of tasks created by instantiating operators</span>
 <span class="n">t1</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
     <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;print_date&#39;</span><span class="p">,</span>
     <span class="n">bash_command</span><span class="o">=</span><span class="s1">&#39;date&#39;</span><span class="p">,</span>
@@ -419,7 +419,7 @@ something like this:</p>
 <span class="n">dag</span> <span class="o">=</span> <span class="n">DAG</span><span class="p">(</span>
     <span class="s1">&#39;tutorial&#39;</span><span class="p">,</span> <span class="n">default_args</span><span class="o">=</span><span class="n">default_args</span><span class="p">,</span> <span class="n">schedule_interval</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span>
 
-<span class="c1"># t1, t2 and t3 are examples of tasks created by instatiating operators</span>
+<span class="c1"># t1, t2 and t3 are examples of tasks created by instantiating operators</span>
 <span class="n">t1</span> <span class="o">=</span> <span class="n">BashOperator</span><span class="p">(</span>
     <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;print_date&#39;</span><span class="p">,</span>
     <span class="n">bash_command</span><span class="o">=</span><span class="s1">&#39;date&#39;</span><span class="p">,</span>


[airflow-site] 17/30: Hot fix to get search working again

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 34294d42984aaaa228c1c6605bde55ab49643ccb
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Mon Jun 24 16:49:25 2019 +0100

    Hot fix to get search working again
---
 1.10.3/_static/searchtools.js | 10 ++++++++++
 _static/searchtools.js        | 10 ++++++++++
 2 files changed, 20 insertions(+)

diff --git a/1.10.3/_static/searchtools.js b/1.10.3/_static/searchtools.js
index 4c58264..bdc2706 100644
--- a/1.10.3/_static/searchtools.js
+++ b/1.10.3/_static/searchtools.js
@@ -75,6 +75,16 @@ var Search = {
       }
   },
 
+  loadIndex : function(url) {
+    $.ajax({type: "GET", url: url, data: null,
+            dataType: "script", cache: true,
+            complete: function(jqxhr, textstatus) {
+              if (textstatus != "success") {
+                document.getElementById("searchindexloader").src = url;
+              }
+            }});
+  },
+
   setIndex : function(index) {
     var q;
     this._index = index;
diff --git a/_static/searchtools.js b/_static/searchtools.js
index 4c58264..bdc2706 100644
--- a/_static/searchtools.js
+++ b/_static/searchtools.js
@@ -75,6 +75,16 @@ var Search = {
       }
   },
 
+  loadIndex : function(url) {
+    $.ajax({type: "GET", url: url, data: null,
+            dataType: "script", cache: true,
+            complete: function(jqxhr, textstatus) {
+              if (textstatus != "success") {
+                document.getElementById("searchindexloader").src = url;
+              }
+            }});
+  },
+
   setIndex : function(index) {
     var q;
     this._index = index;


[airflow-site] 19/30: [AIRFLOW-5148] Add Google Analytics to the Airflow doc website (#3)

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 4321aaaa8b46da1fc60293db01349623ead28a32
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Thu Aug 8 21:42:22 2019 +0100

    [AIRFLOW-5148] Add Google Analytics to the Airflow doc website (#3)
---
 1.10.4/_api/airflow/contrib/executors/index.html   | 23 +++++++++-
 .../executors/kubernetes_executor/index.html       | 23 +++++++++-
 .../contrib/executors/mesos_executor/index.html    | 23 +++++++++-
 .../contrib/hooks/aws_athena_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/aws_dynamodb_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/aws_firehose_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/aws_glue_catalog_hook/index.html | 23 +++++++++-
 .../_api/airflow/contrib/hooks/aws_hook/index.html | 23 +++++++++-
 .../contrib/hooks/aws_lambda_hook/index.html       | 23 +++++++++-
 .../airflow/contrib/hooks/aws_sns_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  | 23 +++++++++-
 .../hooks/azure_container_instance_hook/index.html | 23 +++++++++-
 .../hooks/azure_container_registry_hook/index.html | 23 +++++++++-
 .../hooks/azure_container_volume_hook/index.html   | 23 +++++++++-
 .../contrib/hooks/azure_cosmos_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/azure_data_lake_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/azure_fileshare_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/bigquery_hook/index.html | 23 +++++++++-
 .../contrib/hooks/cassandra_hook/index.html        | 23 +++++++++-
 .../airflow/contrib/hooks/cloudant_hook/index.html | 23 +++++++++-
 .../contrib/hooks/databricks_hook/index.html       | 23 +++++++++-
 .../airflow/contrib/hooks/datadog_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/datastore_hook/index.html        | 23 +++++++++-
 .../airflow/contrib/hooks/dingding_hook/index.html | 23 +++++++++-
 .../contrib/hooks/discord_webhook_hook/index.html  | 23 +++++++++-
 .../_api/airflow/contrib/hooks/emr_hook/index.html | 23 +++++++++-
 .../_api/airflow/contrib/hooks/fs_hook/index.html  | 23 +++++++++-
 .../_api/airflow/contrib/hooks/ftp_hook/index.html | 23 +++++++++-
 .../contrib/hooks/gcp_api_base_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_bigtable_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/gcp_compute_hook/index.html      | 23 +++++++++-
 .../contrib/hooks/gcp_container_hook/index.html    | 23 +++++++++-
 .../contrib/hooks/gcp_dataflow_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_dataproc_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/gcp_function_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/gcp_mlengine_hook/index.html     | 23 +++++++++-
 .../hooks/gcp_natural_language_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_pubsub_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/gcp_spanner_hook/index.html      | 23 +++++++++-
 .../hooks/gcp_speech_to_text_hook/index.html       | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  | 23 +++++++++-
 .../hooks/gcp_text_to_speech_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/gcp_transfer_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_translate_hook/index.html    | 23 +++++++++-
 .../hooks/gcp_video_intelligence_hook/index.html   | 23 +++++++++-
 .../contrib/hooks/gcp_vision_hook/index.html       | 23 +++++++++-
 .../_api/airflow/contrib/hooks/gcs_hook/index.html | 23 +++++++++-
 .../airflow/contrib/hooks/grpc_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/imap_hook/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/contrib/hooks/index.html       | 23 +++++++++-
 .../airflow/contrib/hooks/jenkins_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/jira_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/mongo_hook/index.html    | 23 +++++++++-
 .../airflow/contrib/hooks/openfaas_hook/index.html | 23 +++++++++-
 .../contrib/hooks/opsgenie_alert_hook/index.html   | 23 +++++++++-
 .../airflow/contrib/hooks/pinot_hook/index.html    | 23 +++++++++-
 .../contrib/hooks/qubole_check_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/qubole_hook/index.html   | 23 +++++++++-
 .../airflow/contrib/hooks/redis_hook/index.html    | 23 +++++++++-
 .../airflow/contrib/hooks/redshift_hook/index.html | 23 +++++++++-
 .../contrib/hooks/sagemaker_hook/index.html        | 27 ++++++++++--
 .../contrib/hooks/salesforce_hook/index.html       | 23 +++++++++-
 .../airflow/contrib/hooks/segment_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/sftp_hook/index.html     | 49 ++++++++++++++++------
 .../contrib/hooks/slack_webhook_hook/index.html    | 23 +++++++++-
 .../contrib/hooks/snowflake_hook/index.html        | 23 +++++++++-
 .../contrib/hooks/spark_jdbc_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/spark_jdbc_script/index.html     | 23 +++++++++-
 .../contrib/hooks/spark_sql_hook/index.html        | 23 +++++++++-
 .../contrib/hooks/spark_submit_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/sqoop_hook/index.html    | 23 +++++++++-
 .../_api/airflow/contrib/hooks/ssh_hook/index.html | 23 +++++++++-
 .../airflow/contrib/hooks/vertica_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/wasb_hook/index.html     | 23 +++++++++-
 .../airflow/contrib/hooks/winrm_hook/index.html    | 23 +++++++++-
 .../operators/adls_list_operator/index.html        | 23 +++++++++-
 .../contrib/operators/adls_to_gcs/index.html       | 23 +++++++++-
 .../operators/aws_athena_operator/index.html       | 23 +++++++++-
 .../operators/aws_sqs_publish_operator/index.html  | 23 +++++++++-
 .../contrib/operators/awsbatch_operator/index.html | 23 +++++++++-
 .../azure_container_instances_operator/index.html  | 23 +++++++++-
 .../operators/azure_cosmos_operator/index.html     | 23 +++++++++-
 .../operators/bigquery_check_operator/index.html   | 23 +++++++++-
 .../contrib/operators/bigquery_get_data/index.html | 23 +++++++++-
 .../contrib/operators/bigquery_operator/index.html | 23 +++++++++-
 .../bigquery_table_delete_operator/index.html      | 23 +++++++++-
 .../operators/bigquery_to_bigquery/index.html      | 23 +++++++++-
 .../contrib/operators/bigquery_to_gcs/index.html   | 23 +++++++++-
 .../contrib/operators/cassandra_to_gcs/index.html  | 23 +++++++++-
 .../operators/databricks_operator/index.html       | 23 +++++++++-
 .../contrib/operators/dataflow_operator/index.html | 23 +++++++++-
 .../contrib/operators/dataproc_operator/index.html | 23 +++++++++-
 .../operators/datastore_export_operator/index.html | 23 +++++++++-
 .../operators/datastore_import_operator/index.html | 23 +++++++++-
 .../contrib/operators/dingding_operator/index.html | 23 +++++++++-
 .../operators/discord_webhook_operator/index.html  | 23 +++++++++-
 .../contrib/operators/druid_operator/index.html    | 23 +++++++++-
 .../contrib/operators/ecs_operator/index.html      | 23 +++++++++-
 .../operators/emr_add_steps_operator/index.html    | 23 +++++++++-
 .../emr_create_job_flow_operator/index.html        | 23 +++++++++-
 .../emr_terminate_job_flow_operator/index.html     | 23 +++++++++-
 .../contrib/operators/file_to_gcs/index.html       | 23 +++++++++-
 .../contrib/operators/file_to_wasb/index.html      | 23 +++++++++-
 .../operators/gcp_bigtable_operator/index.html     | 23 +++++++++-
 .../operators/gcp_cloud_build_operator/index.html  | 23 +++++++++-
 .../operators/gcp_compute_operator/index.html      | 23 +++++++++-
 .../operators/gcp_container_operator/index.html    | 23 +++++++++-
 .../contrib/operators/gcp_dlp_operator/index.html  | 23 +++++++++-
 .../operators/gcp_function_operator/index.html     | 23 +++++++++-
 .../gcp_natural_language_operator/index.html       | 23 +++++++++-
 .../operators/gcp_spanner_operator/index.html      | 23 +++++++++-
 .../gcp_speech_to_text_operator/index.html         | 23 +++++++++-
 .../contrib/operators/gcp_sql_operator/index.html  | 23 +++++++++-
 .../gcp_text_to_speech_operator/index.html         | 23 +++++++++-
 .../operators/gcp_transfer_operator/index.html     | 23 +++++++++-
 .../operators/gcp_translate_operator/index.html    | 23 +++++++++-
 .../gcp_translate_speech_operator/index.html       | 23 +++++++++-
 .../gcp_video_intelligence_operator/index.html     | 23 +++++++++-
 .../operators/gcp_vision_operator/index.html       | 23 +++++++++-
 .../contrib/operators/gcs_acl_operator/index.html  | 23 +++++++++-
 .../operators/gcs_delete_operator/index.html       | 23 +++++++++-
 .../operators/gcs_download_operator/index.html     | 23 +++++++++-
 .../contrib/operators/gcs_list_operator/index.html | 23 +++++++++-
 .../contrib/operators/gcs_operator/index.html      | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_bq/index.html | 23 +++++++++-
 .../contrib/operators/gcs_to_gcs/index.html        | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_s3/index.html | 23 +++++++++-
 .../contrib/operators/hipchat_operator/index.html  | 23 +++++++++-
 .../contrib/operators/hive_to_dynamodb/index.html  | 23 +++++++++-
 .../imap_attachment_to_s3_operator/index.html      | 23 +++++++++-
 1.10.4/_api/airflow/contrib/operators/index.html   | 23 +++++++++-
 .../jenkins_job_trigger_operator/index.html        | 23 +++++++++-
 .../contrib/operators/jira_operator/index.html     | 23 +++++++++-
 .../operators/kubernetes_pod_operator/index.html   | 23 +++++++++-
 .../contrib/operators/mlengine_operator/index.html | 23 +++++++++-
 .../contrib/operators/mongo_to_s3/index.html       | 23 +++++++++-
 .../contrib/operators/mssql_to_gcs/index.html      | 23 +++++++++-
 .../contrib/operators/mysql_to_gcs/index.html      | 23 +++++++++-
 .../operators/opsgenie_alert_operator/index.html   | 23 +++++++++-
 .../oracle_to_azure_data_lake_transfer/index.html  | 23 +++++++++-
 .../operators/oracle_to_oracle_transfer/index.html | 23 +++++++++-
 .../operators/postgres_to_gcs_operator/index.html  | 23 +++++++++-
 .../contrib/operators/pubsub_operator/index.html   | 23 +++++++++-
 .../operators/qubole_check_operator/index.html     | 23 +++++++++-
 .../contrib/operators/qubole_operator/index.html   | 23 +++++++++-
 .../operators/redis_publish_operator/index.html    | 23 +++++++++-
 .../operators/s3_copy_object_operator/index.html   | 23 +++++++++-
 .../s3_delete_objects_operator/index.html          | 23 +++++++++-
 .../contrib/operators/s3_list_operator/index.html  | 23 +++++++++-
 .../operators/s3_to_gcs_operator/index.html        | 23 +++++++++-
 .../operators/s3_to_sftp_operator/index.html       | 23 +++++++++-
 .../operators/sagemaker_base_operator/index.html   | 23 +++++++++-
 .../sagemaker_endpoint_config_operator/index.html  | 25 +++++++++--
 .../sagemaker_endpoint_operator/index.html         | 29 ++++++++++---
 .../operators/sagemaker_model_operator/index.html  | 25 +++++++++--
 .../sagemaker_training_operator/index.html         | 25 +++++++++--
 .../sagemaker_transform_operator/index.html        | 27 ++++++++++--
 .../operators/sagemaker_tuning_operator/index.html | 25 +++++++++--
 .../segment_track_event_operator/index.html        | 23 +++++++++-
 .../contrib/operators/sftp_operator/index.html     | 23 +++++++++-
 .../operators/sftp_to_s3_operator/index.html       | 23 +++++++++-
 .../operators/slack_webhook_operator/index.html    | 23 +++++++++-
 .../operators/snowflake_operator/index.html        | 23 +++++++++-
 .../operators/sns_publish_operator/index.html      | 23 +++++++++-
 .../operators/spark_jdbc_operator/index.html       | 23 +++++++++-
 .../operators/spark_sql_operator/index.html        | 23 +++++++++-
 .../operators/spark_submit_operator/index.html     | 23 +++++++++-
 .../contrib/operators/sql_to_gcs/index.html        | 23 +++++++++-
 .../contrib/operators/sqoop_operator/index.html    | 23 +++++++++-
 .../contrib/operators/ssh_operator/index.html      | 23 +++++++++-
 .../contrib/operators/vertica_operator/index.html  | 23 +++++++++-
 .../contrib/operators/vertica_to_hive/index.html   | 23 +++++++++-
 .../contrib/operators/vertica_to_mysql/index.html  | 23 +++++++++-
 .../operators/wasb_delete_blob_operator/index.html | 23 +++++++++-
 .../contrib/operators/winrm_operator/index.html    | 23 +++++++++-
 .../contrib/sensors/aws_athena_sensor/index.html   | 23 +++++++++-
 .../aws_glue_catalog_partition_sensor/index.html   | 23 +++++++++-
 .../sensors/aws_redshift_cluster_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/aws_sqs_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/azure_cosmos_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/bash_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/bigquery_sensor/index.html     | 23 +++++++++-
 .../sensors/cassandra_record_sensor/index.html     | 23 +++++++++-
 .../sensors/cassandra_table_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/datadog_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/emr_base_sensor/index.html     | 23 +++++++++-
 .../contrib/sensors/emr_job_flow_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/emr_step_sensor/index.html     | 23 +++++++++-
 .../airflow/contrib/sensors/file_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/ftp_sensor/index.html  | 23 +++++++++-
 .../contrib/sensors/gcp_transfer_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/gcs_sensor/index.html  | 23 +++++++++-
 .../airflow/contrib/sensors/hdfs_sensor/index.html | 23 +++++++++-
 .../sensors/imap_attachment_sensor/index.html      | 23 +++++++++-
 1.10.4/_api/airflow/contrib/sensors/index.html     | 23 +++++++++-
 .../airflow/contrib/sensors/jira_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/mongo_sensor/index.html        | 23 +++++++++-
 .../contrib/sensors/pubsub_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/python_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/qubole_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/redis_key_sensor/index.html    | 23 +++++++++-
 .../sensors/redis_pub_sub_sensor/index.html        | 23 +++++++++-
 .../sensors/sagemaker_base_sensor/index.html       | 23 +++++++++-
 .../sensors/sagemaker_endpoint_sensor/index.html   | 23 +++++++++-
 .../sensors/sagemaker_training_sensor/index.html   | 23 +++++++++-
 .../sensors/sagemaker_transform_sensor/index.html  | 23 +++++++++-
 .../sensors/sagemaker_tuning_sensor/index.html     | 23 +++++++++-
 .../airflow/contrib/sensors/sftp_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/wasb_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/weekday_sensor/index.html      | 23 +++++++++-
 .../airflow/executors/base_executor/index.html     | 23 +++++++++-
 .../airflow/executors/celery_executor/index.html   | 23 +++++++++-
 .../airflow/executors/dask_executor/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/executors/index.html           | 23 +++++++++-
 .../airflow/executors/local_executor/index.html    | 23 +++++++++-
 .../executors/sequential_executor/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/hooks/S3_hook/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/hooks/base_hook/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/hooks/dbapi_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/docker_hook/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/hooks/druid_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/hdfs_hook/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/hooks/hive_hooks/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/http_hook/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/hooks/index.html               | 23 +++++++++-
 1.10.4/_api/airflow/hooks/jdbc_hook/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/hooks/mssql_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/mysql_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/oracle_hook/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/hooks/pig_hook/index.html      | 23 +++++++++-
 1.10.4/_api/airflow/hooks/postgres_hook/index.html | 23 +++++++++-
 1.10.4/_api/airflow/hooks/presto_hook/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/hooks/samba_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/slack_hook/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/hooks/sqlite_hook/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/hooks/webhdfs_hook/index.html  | 23 +++++++++-
 1.10.4/_api/airflow/hooks/zendesk_hook/index.html  | 23 +++++++++-
 1.10.4/_api/airflow/models/base/index.html         | 23 +++++++++-
 1.10.4/_api/airflow/models/baseoperator/index.html | 23 +++++++++-
 1.10.4/_api/airflow/models/chart/index.html        | 23 +++++++++-
 1.10.4/_api/airflow/models/connection/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/models/crypto/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/models/dag/index.html          | 23 +++++++++-
 1.10.4/_api/airflow/models/dagbag/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/models/dagpickle/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/models/dagrun/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/models/errors/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/models/index.html              | 23 +++++++++-
 1.10.4/_api/airflow/models/knownevent/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/models/kubernetes/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/models/log/index.html          | 23 +++++++++-
 1.10.4/_api/airflow/models/pool/index.html         | 23 +++++++++-
 1.10.4/_api/airflow/models/skipmixin/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/models/slamiss/index.html      | 23 +++++++++-
 1.10.4/_api/airflow/models/taskfail/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/models/taskinstance/index.html | 23 +++++++++-
 .../_api/airflow/models/taskreschedule/index.html  | 23 +++++++++-
 1.10.4/_api/airflow/models/user/index.html         | 23 +++++++++-
 1.10.4/_api/airflow/models/variable/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/models/xcom/index.html         | 23 +++++++++-
 .../airflow/operators/bash_operator/index.html     | 23 +++++++++-
 .../airflow/operators/branch_operator/index.html   | 23 +++++++++-
 .../airflow/operators/check_operator/index.html    | 23 +++++++++-
 .../airflow/operators/dagrun_operator/index.html   | 23 +++++++++-
 .../airflow/operators/docker_operator/index.html   | 23 +++++++++-
 .../operators/druid_check_operator/index.html      | 23 +++++++++-
 .../airflow/operators/dummy_operator/index.html    | 23 +++++++++-
 .../airflow/operators/email_operator/index.html    | 23 +++++++++-
 .../airflow/operators/generic_transfer/index.html  | 23 +++++++++-
 .../airflow/operators/hive_operator/index.html     | 23 +++++++++-
 .../operators/hive_stats_operator/index.html       | 23 +++++++++-
 .../airflow/operators/hive_to_druid/index.html     | 23 +++++++++-
 .../airflow/operators/hive_to_mysql/index.html     | 23 +++++++++-
 .../operators/hive_to_samba_operator/index.html    | 23 +++++++++-
 .../airflow/operators/http_operator/index.html     | 23 +++++++++-
 1.10.4/_api/airflow/operators/index.html           | 23 +++++++++-
 .../airflow/operators/jdbc_operator/index.html     | 23 +++++++++-
 .../operators/latest_only_operator/index.html      | 23 +++++++++-
 .../airflow/operators/mssql_operator/index.html    | 23 +++++++++-
 .../airflow/operators/mssql_to_hive/index.html     | 23 +++++++++-
 .../airflow/operators/mysql_operator/index.html    | 23 +++++++++-
 .../airflow/operators/mysql_to_hive/index.html     | 23 +++++++++-
 .../airflow/operators/oracle_operator/index.html   | 23 +++++++++-
 .../_api/airflow/operators/pig_operator/index.html | 23 +++++++++-
 .../airflow/operators/postgres_operator/index.html | 23 +++++++++-
 .../operators/presto_check_operator/index.html     | 23 +++++++++-
 .../airflow/operators/presto_to_mysql/index.html   | 23 +++++++++-
 .../airflow/operators/python_operator/index.html   | 23 +++++++++-
 .../operators/redshift_to_s3_operator/index.html   | 23 +++++++++-
 .../s3_file_transform_operator/index.html          | 23 +++++++++-
 .../operators/s3_to_hive_operator/index.html       | 23 +++++++++-
 .../operators/s3_to_redshift_operator/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/operators/sensors/index.html   | 23 +++++++++-
 .../airflow/operators/slack_operator/index.html    | 23 +++++++++-
 .../airflow/operators/sqlite_operator/index.html   | 23 +++++++++-
 .../airflow/operators/subdag_operator/index.html   | 23 +++++++++-
 .../sensors/base_sensor_operator/index.html        | 23 +++++++++-
 .../sensors/external_task_sensor/index.html        | 23 +++++++++-
 1.10.4/_api/airflow/sensors/hdfs_sensor/index.html | 23 +++++++++-
 .../sensors/hive_partition_sensor/index.html       | 23 +++++++++-
 1.10.4/_api/airflow/sensors/http_sensor/index.html | 23 +++++++++-
 1.10.4/_api/airflow/sensors/index.html             | 23 +++++++++-
 .../sensors/metastore_partition_sensor/index.html  | 23 +++++++++-
 .../sensors/named_hive_partition_sensor/index.html | 23 +++++++++-
 .../_api/airflow/sensors/s3_key_sensor/index.html  | 23 +++++++++-
 .../airflow/sensors/s3_prefix_sensor/index.html    | 23 +++++++++-
 1.10.4/_api/airflow/sensors/sql_sensor/index.html  | 23 +++++++++-
 .../airflow/sensors/time_delta_sensor/index.html   | 23 +++++++++-
 1.10.4/_api/airflow/sensors/time_sensor/index.html | 23 +++++++++-
 .../airflow/sensors/web_hdfs_sensor/index.html     | 23 +++++++++-
 1.10.4/_api/index.html                             | 23 +++++++++-
 .../example_dags/example_dingding_operator.html    | 23 +++++++++-
 .../example_gcp_bigtable_operators.html            | 23 +++++++++-
 .../example_dags/example_gcp_cloud_build.html      | 23 +++++++++-
 .../contrib/example_dags/example_gcp_compute.html  | 23 +++++++++-
 .../example_dags/example_gcp_compute_igm.html      | 23 +++++++++-
 .../contrib/example_dags/example_gcp_function.html | 23 +++++++++-
 .../example_dags/example_gcp_natural_language.html | 23 +++++++++-
 .../contrib/example_dags/example_gcp_spanner.html  | 23 +++++++++-
 .../contrib/example_dags/example_gcp_speech.html   | 23 +++++++++-
 .../contrib/example_dags/example_gcp_sql.html      | 23 +++++++++-
 .../example_dags/example_gcp_sql_query.html        | 23 +++++++++-
 .../contrib/example_dags/example_gcp_transfer.html | 23 +++++++++-
 .../example_dags/example_gcp_translate.html        | 23 +++++++++-
 .../example_gcp_video_intelligence.html            | 23 +++++++++-
 .../contrib/example_dags/example_gcp_vision.html   | 23 +++++++++-
 .../contrib/example_dags/example_gcs_acl.html      | 23 +++++++++-
 .../example_dags/example_gcs_to_bq_operator.html   | 23 +++++++++-
 .../contrib/executors/kubernetes_executor.html     | 23 +++++++++-
 .../airflow/contrib/executors/mesos_executor.html  | 23 +++++++++-
 1.10.4/_modules/airflow/contrib/hooks.html         | 23 +++++++++-
 .../airflow/contrib/hooks/aws_athena_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/aws_firehose_hook.html   | 23 +++++++++-
 .../contrib/hooks/aws_glue_catalog_hook.html       | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/aws_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/aws_lambda_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/aws_sns_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/aws_sqs_hook.html        | 23 +++++++++-
 .../hooks/azure_container_instance_hook.html       | 23 +++++++++-
 .../hooks/azure_container_registry_hook.html       | 23 +++++++++-
 .../contrib/hooks/azure_container_volume_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   | 23 +++++++++-
 .../contrib/hooks/azure_data_lake_hook.html        | 23 +++++++++-
 .../contrib/hooks/azure_fileshare_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/bigquery_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/cassandra_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/cloudant_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/databricks_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/datadog_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/datastore_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/dingding_hook.html       | 23 +++++++++-
 .../contrib/hooks/discord_webhook_hook.html        | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/emr_hook.html   | 23 +++++++++-
 1.10.4/_modules/airflow/contrib/hooks/fs_hook.html | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/ftp_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   | 23 +++++++++-
 .../contrib/hooks/gcp_cloud_build_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_compute_hook.html    | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_container_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dlp_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_function_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_kms_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   | 23 +++++++++-
 .../contrib/hooks/gcp_natural_language_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    | 23 +++++++++-
 .../contrib/hooks/gcp_speech_to_text_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_sql_hook.html        | 23 +++++++++-
 .../contrib/hooks/gcp_text_to_speech_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_translate_hook.html  | 23 +++++++++-
 .../contrib/hooks/gcp_video_intelligence_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_vision_hook.html     | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/gcs_hook.html   | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/grpc_hook.html  | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/imap_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/jenkins_hook.html        | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/jira_hook.html  | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/mongo_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/openfaas_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/pinot_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/qubole_check_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/qubole_hook.html         | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/redis_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/redshift_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/sagemaker_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/salesforce_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/segment_hook.html        | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/sftp_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/slack_webhook_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/snowflake_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/spark_jdbc_script.html   | 23 +++++++++-
 .../airflow/contrib/hooks/spark_sql_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/spark_submit_hook.html   | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/sqoop_hook.html | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/ssh_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/vertica_hook.html        | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/wasb_hook.html  | 23 +++++++++-
 .../_modules/airflow/contrib/hooks/winrm_hook.html | 23 +++++++++-
 1.10.4/_modules/airflow/contrib/operators.html     | 23 +++++++++-
 .../contrib/operators/adls_list_operator.html      | 23 +++++++++-
 .../airflow/contrib/operators/adls_to_gcs.html     | 23 +++++++++-
 .../contrib/operators/aws_athena_operator.html     | 23 +++++++++-
 .../operators/aws_sqs_publish_operator.html        | 23 +++++++++-
 .../contrib/operators/awsbatch_operator.html       | 23 +++++++++-
 .../azure_container_instances_operator.html        | 23 +++++++++-
 .../contrib/operators/azure_cosmos_operator.html   | 23 +++++++++-
 .../contrib/operators/bigquery_check_operator.html | 23 +++++++++-
 .../contrib/operators/bigquery_get_data.html       | 23 +++++++++-
 .../contrib/operators/bigquery_operator.html       | 23 +++++++++-
 .../operators/bigquery_table_delete_operator.html  | 23 +++++++++-
 .../contrib/operators/bigquery_to_bigquery.html    | 23 +++++++++-
 .../airflow/contrib/operators/bigquery_to_gcs.html | 23 +++++++++-
 .../contrib/operators/cassandra_to_gcs.html        | 23 +++++++++-
 .../contrib/operators/databricks_operator.html     | 23 +++++++++-
 .../contrib/operators/dataflow_operator.html       | 23 +++++++++-
 .../contrib/operators/dataproc_operator.html       | 23 +++++++++-
 .../operators/datastore_export_operator.html       | 23 +++++++++-
 .../operators/datastore_import_operator.html       | 23 +++++++++-
 .../contrib/operators/dingding_operator.html       | 23 +++++++++-
 .../operators/discord_webhook_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/druid_operator.html  | 23 +++++++++-
 .../airflow/contrib/operators/ecs_operator.html    | 23 +++++++++-
 .../contrib/operators/emr_add_steps_operator.html  | 23 +++++++++-
 .../operators/emr_create_job_flow_operator.html    | 23 +++++++++-
 .../operators/emr_terminate_job_flow_operator.html | 23 +++++++++-
 .../airflow/contrib/operators/file_to_gcs.html     | 23 +++++++++-
 .../airflow/contrib/operators/file_to_wasb.html    | 23 +++++++++-
 .../contrib/operators/gcp_bigtable_operator.html   | 23 +++++++++-
 .../operators/gcp_cloud_build_operator.html        | 23 +++++++++-
 .../contrib/operators/gcp_compute_operator.html    | 23 +++++++++-
 .../contrib/operators/gcp_container_operator.html  | 23 +++++++++-
 .../contrib/operators/gcp_dlp_operator.html        | 23 +++++++++-
 .../contrib/operators/gcp_function_operator.html   | 23 +++++++++-
 .../operators/gcp_natural_language_operator.html   | 23 +++++++++-
 .../contrib/operators/gcp_spanner_operator.html    | 23 +++++++++-
 .../operators/gcp_speech_to_text_operator.html     | 23 +++++++++-
 .../contrib/operators/gcp_sql_operator.html        | 23 +++++++++-
 .../operators/gcp_text_to_speech_operator.html     | 23 +++++++++-
 .../contrib/operators/gcp_transfer_operator.html   | 23 +++++++++-
 .../contrib/operators/gcp_translate_operator.html  | 23 +++++++++-
 .../operators/gcp_translate_speech_operator.html   | 23 +++++++++-
 .../operators/gcp_video_intelligence_operator.html | 23 +++++++++-
 .../contrib/operators/gcp_vision_operator.html     | 23 +++++++++-
 .../contrib/operators/gcs_acl_operator.html        | 23 +++++++++-
 .../contrib/operators/gcs_delete_operator.html     | 23 +++++++++-
 .../contrib/operators/gcs_download_operator.html   | 23 +++++++++-
 .../contrib/operators/gcs_list_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/gcs_operator.html    | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_bq.html       | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_gcs.html      | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_s3.html       | 23 +++++++++-
 .../contrib/operators/hipchat_operator.html        | 23 +++++++++-
 .../contrib/operators/hive_to_dynamodb.html        | 23 +++++++++-
 .../operators/imap_attachment_to_s3_operator.html  | 23 +++++++++-
 .../operators/jenkins_job_trigger_operator.html    | 23 +++++++++-
 .../airflow/contrib/operators/jira_operator.html   | 23 +++++++++-
 .../contrib/operators/kubernetes_pod_operator.html | 23 +++++++++-
 .../contrib/operators/mlengine_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/mongo_to_s3.html     | 23 +++++++++-
 .../airflow/contrib/operators/mssql_to_gcs.html    | 23 +++++++++-
 .../airflow/contrib/operators/mysql_to_gcs.html    | 23 +++++++++-
 .../contrib/operators/opsgenie_alert_operator.html | 23 +++++++++-
 .../oracle_to_azure_data_lake_transfer.html        | 23 +++++++++-
 .../operators/oracle_to_oracle_transfer.html       | 23 +++++++++-
 .../operators/postgres_to_gcs_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/pubsub_operator.html | 23 +++++++++-
 .../contrib/operators/qubole_check_operator.html   | 23 +++++++++-
 .../airflow/contrib/operators/qubole_operator.html | 23 +++++++++-
 .../contrib/operators/redis_publish_operator.html  | 23 +++++++++-
 .../contrib/operators/s3_copy_object_operator.html | 23 +++++++++-
 .../operators/s3_delete_objects_operator.html      | 23 +++++++++-
 .../contrib/operators/s3_list_operator.html        | 23 +++++++++-
 .../contrib/operators/s3_to_gcs_operator.html      | 23 +++++++++-
 .../contrib/operators/s3_to_sftp_operator.html     | 23 +++++++++-
 .../contrib/operators/sagemaker_base_operator.html | 23 +++++++++-
 .../sagemaker_endpoint_config_operator.html        | 23 +++++++++-
 .../operators/sagemaker_endpoint_operator.html     | 23 +++++++++-
 .../operators/sagemaker_model_operator.html        | 23 +++++++++-
 .../operators/sagemaker_training_operator.html     | 23 +++++++++-
 .../operators/sagemaker_transform_operator.html    | 23 +++++++++-
 .../operators/sagemaker_tuning_operator.html       | 23 +++++++++-
 .../operators/segment_track_event_operator.html    | 23 +++++++++-
 .../airflow/contrib/operators/sftp_operator.html   | 23 +++++++++-
 .../contrib/operators/sftp_to_s3_operator.html     | 23 +++++++++-
 .../contrib/operators/slack_webhook_operator.html  | 23 +++++++++-
 .../contrib/operators/snowflake_operator.html      | 23 +++++++++-
 .../contrib/operators/sns_publish_operator.html    | 23 +++++++++-
 .../contrib/operators/spark_jdbc_operator.html     | 23 +++++++++-
 .../contrib/operators/spark_sql_operator.html      | 23 +++++++++-
 .../contrib/operators/spark_submit_operator.html   | 23 +++++++++-
 .../airflow/contrib/operators/sql_to_gcs.html      | 23 +++++++++-
 .../airflow/contrib/operators/sqoop_operator.html  | 23 +++++++++-
 .../airflow/contrib/operators/ssh_operator.html    | 23 +++++++++-
 .../contrib/operators/vertica_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/vertica_to_hive.html | 23 +++++++++-
 .../contrib/operators/vertica_to_mysql.html        | 23 +++++++++-
 .../operators/wasb_delete_blob_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/winrm_operator.html  | 23 +++++++++-
 .../airflow/contrib/sensors/aws_athena_sensor.html | 23 +++++++++-
 .../sensors/aws_glue_catalog_partition_sensor.html | 23 +++++++++-
 .../sensors/aws_redshift_cluster_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    | 23 +++++++++-
 .../contrib/sensors/azure_cosmos_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/bash_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/bigquery_sensor.html   | 23 +++++++++-
 .../contrib/sensors/cassandra_record_sensor.html   | 23 +++++++++-
 .../contrib/sensors/cassandra_table_sensor.html    | 23 +++++++++-
 .../airflow/contrib/sensors/datadog_sensor.html    | 23 +++++++++-
 .../airflow/contrib/sensors/emr_base_sensor.html   | 23 +++++++++-
 .../contrib/sensors/emr_job_flow_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/emr_step_sensor.html   | 23 +++++++++-
 .../airflow/contrib/sensors/file_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/ftp_sensor.html        | 23 +++++++++-
 .../contrib/sensors/gcp_transfer_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/gcs_sensor.html        | 23 +++++++++-
 .../airflow/contrib/sensors/hdfs_sensor.html       | 23 +++++++++-
 .../contrib/sensors/imap_attachment_sensor.html    | 23 +++++++++-
 .../airflow/contrib/sensors/jira_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/mongo_sensor.html      | 23 +++++++++-
 .../airflow/contrib/sensors/pubsub_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/python_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/qubole_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/redis_key_sensor.html  | 23 +++++++++-
 .../contrib/sensors/redis_pub_sub_sensor.html      | 23 +++++++++-
 .../contrib/sensors/sagemaker_base_sensor.html     | 23 +++++++++-
 .../contrib/sensors/sagemaker_endpoint_sensor.html | 23 +++++++++-
 .../contrib/sensors/sagemaker_training_sensor.html | 23 +++++++++-
 .../sensors/sagemaker_transform_sensor.html        | 23 +++++++++-
 .../contrib/sensors/sagemaker_tuning_sensor.html   | 23 +++++++++-
 .../airflow/contrib/sensors/sftp_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/wasb_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/weekday_sensor.html    | 23 +++++++++-
 .../example_dags/example_bash_operator.html        | 23 +++++++++-
 .../example_dags/example_python_operator.html      | 23 +++++++++-
 1.10.4/_modules/airflow/exceptions.html            | 23 +++++++++-
 1.10.4/_modules/airflow/executors.html             | 23 +++++++++-
 .../_modules/airflow/executors/base_executor.html  | 23 +++++++++-
 .../airflow/executors/celery_executor.html         | 23 +++++++++-
 .../_modules/airflow/executors/dask_executor.html  | 23 +++++++++-
 .../_modules/airflow/executors/local_executor.html | 23 +++++++++-
 .../airflow/executors/sequential_executor.html     | 23 +++++++++-
 1.10.4/_modules/airflow/hooks.html                 | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/S3_hook.html         | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/base_hook.html       | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/dbapi_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/docker_hook.html     | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/druid_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/hdfs_hook.html       | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/hive_hooks.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/http_hook.html       | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/jdbc_hook.html       | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/mssql_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/mysql_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/oracle_hook.html     | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/pig_hook.html        | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/postgres_hook.html   | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/presto_hook.html     | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/samba_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/slack_hook.html      | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/sqlite_hook.html     | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/webhdfs_hook.html    | 23 +++++++++-
 1.10.4/_modules/airflow/hooks/zendesk_hook.html    | 23 +++++++++-
 1.10.4/_modules/airflow/macros.html                | 23 +++++++++-
 1.10.4/_modules/airflow/macros/hive.html           | 23 +++++++++-
 1.10.4/_modules/airflow/models.html                | 23 +++++++++-
 1.10.4/_modules/airflow/models/base.html           | 23 +++++++++-
 1.10.4/_modules/airflow/models/baseoperator.html   | 23 +++++++++-
 1.10.4/_modules/airflow/models/chart.html          | 23 +++++++++-
 1.10.4/_modules/airflow/models/connection.html     | 23 +++++++++-
 1.10.4/_modules/airflow/models/crypto.html         | 23 +++++++++-
 1.10.4/_modules/airflow/models/dag.html            | 23 +++++++++-
 1.10.4/_modules/airflow/models/dagbag.html         | 23 +++++++++-
 1.10.4/_modules/airflow/models/dagpickle.html      | 23 +++++++++-
 1.10.4/_modules/airflow/models/dagrun.html         | 23 +++++++++-
 1.10.4/_modules/airflow/models/errors.html         | 23 +++++++++-
 1.10.4/_modules/airflow/models/knownevent.html     | 23 +++++++++-
 1.10.4/_modules/airflow/models/kubernetes.html     | 23 +++++++++-
 1.10.4/_modules/airflow/models/log.html            | 23 +++++++++-
 1.10.4/_modules/airflow/models/pool.html           | 23 +++++++++-
 1.10.4/_modules/airflow/models/skipmixin.html      | 23 +++++++++-
 1.10.4/_modules/airflow/models/slamiss.html        | 23 +++++++++-
 1.10.4/_modules/airflow/models/taskfail.html       | 23 +++++++++-
 1.10.4/_modules/airflow/models/taskinstance.html   | 23 +++++++++-
 1.10.4/_modules/airflow/models/taskreschedule.html | 23 +++++++++-
 1.10.4/_modules/airflow/models/user.html           | 23 +++++++++-
 1.10.4/_modules/airflow/models/variable.html       | 23 +++++++++-
 1.10.4/_modules/airflow/models/xcom.html           | 23 +++++++++-
 1.10.4/_modules/airflow/operators.html             | 23 +++++++++-
 .../_modules/airflow/operators/bash_operator.html  | 23 +++++++++-
 .../airflow/operators/branch_operator.html         | 23 +++++++++-
 .../_modules/airflow/operators/check_operator.html | 23 +++++++++-
 .../airflow/operators/dagrun_operator.html         | 23 +++++++++-
 .../airflow/operators/docker_operator.html         | 23 +++++++++-
 .../airflow/operators/druid_check_operator.html    | 23 +++++++++-
 .../_modules/airflow/operators/dummy_operator.html | 23 +++++++++-
 .../_modules/airflow/operators/email_operator.html | 23 +++++++++-
 .../airflow/operators/generic_transfer.html        | 23 +++++++++-
 .../_modules/airflow/operators/hive_operator.html  | 23 +++++++++-
 .../airflow/operators/hive_stats_operator.html     | 23 +++++++++-
 .../_modules/airflow/operators/hive_to_druid.html  | 23 +++++++++-
 .../_modules/airflow/operators/hive_to_mysql.html  | 23 +++++++++-
 .../airflow/operators/hive_to_samba_operator.html  | 23 +++++++++-
 .../_modules/airflow/operators/http_operator.html  | 23 +++++++++-
 .../_modules/airflow/operators/jdbc_operator.html  | 23 +++++++++-
 .../airflow/operators/latest_only_operator.html    | 23 +++++++++-
 .../_modules/airflow/operators/mssql_operator.html | 23 +++++++++-
 .../_modules/airflow/operators/mssql_to_hive.html  | 23 +++++++++-
 .../_modules/airflow/operators/mysql_operator.html | 23 +++++++++-
 .../_modules/airflow/operators/mysql_to_hive.html  | 23 +++++++++-
 .../airflow/operators/oracle_operator.html         | 23 +++++++++-
 .../_modules/airflow/operators/pig_operator.html   | 23 +++++++++-
 .../airflow/operators/postgres_operator.html       | 23 +++++++++-
 .../airflow/operators/presto_check_operator.html   | 23 +++++++++-
 .../airflow/operators/presto_to_mysql.html         | 23 +++++++++-
 .../airflow/operators/python_operator.html         | 23 +++++++++-
 .../airflow/operators/redshift_to_s3_operator.html | 23 +++++++++-
 .../operators/s3_file_transform_operator.html      | 23 +++++++++-
 .../airflow/operators/s3_to_hive_operator.html     | 23 +++++++++-
 .../airflow/operators/s3_to_redshift_operator.html | 23 +++++++++-
 1.10.4/_modules/airflow/operators/sensors.html     | 23 +++++++++-
 .../_modules/airflow/operators/slack_operator.html | 23 +++++++++-
 .../airflow/operators/sqlite_operator.html         | 23 +++++++++-
 .../airflow/operators/subdag_operator.html         | 23 +++++++++-
 1.10.4/_modules/airflow/sensors.html               | 23 +++++++++-
 .../airflow/sensors/base_sensor_operator.html      | 23 +++++++++-
 .../airflow/sensors/external_task_sensor.html      | 23 +++++++++-
 1.10.4/_modules/airflow/sensors/hdfs_sensor.html   | 23 +++++++++-
 .../airflow/sensors/hive_partition_sensor.html     | 23 +++++++++-
 1.10.4/_modules/airflow/sensors/http_sensor.html   | 23 +++++++++-
 .../sensors/metastore_partition_sensor.html        | 23 +++++++++-
 .../sensors/named_hive_partition_sensor.html       | 23 +++++++++-
 1.10.4/_modules/airflow/sensors/s3_key_sensor.html | 23 +++++++++-
 .../_modules/airflow/sensors/s3_prefix_sensor.html | 23 +++++++++-
 1.10.4/_modules/airflow/sensors/sql_sensor.html    | 23 +++++++++-
 .../airflow/sensors/time_delta_sensor.html         | 23 +++++++++-
 1.10.4/_modules/airflow/sensors/time_sensor.html   | 23 +++++++++-
 .../_modules/airflow/sensors/web_hdfs_sensor.html  | 23 +++++++++-
 .../_modules/airflow/utils/log/logging_mixin.html  | 23 +++++++++-
 1.10.4/_modules/index.html                         | 23 +++++++++-
 1.10.4/api.html                                    | 23 +++++++++-
 1.10.4/changelog.html                              | 29 ++++++++++---
 1.10.4/cli.html                                    | 27 ++++++++++--
 1.10.4/concepts.html                               | 23 +++++++++-
 1.10.4/faq.html                                    | 23 +++++++++-
 1.10.4/genindex.html                               | 23 +++++++++-
 1.10.4/howto/check-health.html                     | 23 +++++++++-
 1.10.4/howto/connection/aws.html                   | 23 +++++++++-
 1.10.4/howto/connection/gcp.html                   | 23 +++++++++-
 1.10.4/howto/connection/gcp_sql.html               | 23 +++++++++-
 1.10.4/howto/connection/grpc.html                  | 23 +++++++++-
 1.10.4/howto/connection/index.html                 | 23 +++++++++-
 1.10.4/howto/connection/mysql.html                 | 23 +++++++++-
 1.10.4/howto/connection/oracle.html                | 23 +++++++++-
 1.10.4/howto/connection/postgres.html              | 23 +++++++++-
 1.10.4/howto/connection/ssh.html                   | 23 +++++++++-
 1.10.4/howto/define_extra_link.html                | 23 +++++++++-
 1.10.4/howto/executor/use-celery.html              | 23 +++++++++-
 1.10.4/howto/executor/use-dask.html                | 23 +++++++++-
 1.10.4/howto/executor/use-mesos.html               | 23 +++++++++-
 1.10.4/howto/index.html                            | 23 +++++++++-
 1.10.4/howto/initialize-database.html              | 23 +++++++++-
 1.10.4/howto/operator/bash.html                    | 23 +++++++++-
 1.10.4/howto/operator/dingding.html                | 23 +++++++++-
 1.10.4/howto/operator/gcp/bigtable.html            | 23 +++++++++-
 1.10.4/howto/operator/gcp/cloud_build.html         | 23 +++++++++-
 1.10.4/howto/operator/gcp/compute.html             | 23 +++++++++-
 1.10.4/howto/operator/gcp/function.html            | 23 +++++++++-
 1.10.4/howto/operator/gcp/gcs.html                 | 23 +++++++++-
 1.10.4/howto/operator/gcp/index.html               | 23 +++++++++-
 1.10.4/howto/operator/gcp/natural_language.html    | 23 +++++++++-
 1.10.4/howto/operator/gcp/spanner.html             | 23 +++++++++-
 1.10.4/howto/operator/gcp/speech.html              | 23 +++++++++-
 1.10.4/howto/operator/gcp/sql.html                 | 23 +++++++++-
 1.10.4/howto/operator/gcp/transfer.html            | 23 +++++++++-
 1.10.4/howto/operator/gcp/translate-speech.html    | 23 +++++++++-
 1.10.4/howto/operator/gcp/translate.html           | 23 +++++++++-
 1.10.4/howto/operator/gcp/video.html               | 23 +++++++++-
 1.10.4/howto/operator/gcp/vision.html              | 23 +++++++++-
 1.10.4/howto/operator/index.html                   | 23 +++++++++-
 1.10.4/howto/operator/python.html                  | 23 +++++++++-
 1.10.4/howto/run-behind-proxy.html                 | 23 +++++++++-
 1.10.4/howto/run-with-systemd.html                 | 23 +++++++++-
 1.10.4/howto/run-with-upstart.html                 | 23 +++++++++-
 1.10.4/howto/secure-connections.html               | 23 +++++++++-
 1.10.4/howto/set-config.html                       | 23 +++++++++-
 1.10.4/howto/use-test-config.html                  | 23 +++++++++-
 1.10.4/howto/write-logs.html                       | 23 +++++++++-
 1.10.4/http-routingtable.html                      | 23 +++++++++-
 1.10.4/index.html                                  | 25 +++++++++--
 1.10.4/installation.html                           | 23 +++++++++-
 1.10.4/integration.html                            | 23 +++++++++-
 1.10.4/kubernetes.html                             | 23 +++++++++-
 1.10.4/license.html                                | 23 +++++++++-
 1.10.4/lineage.html                                | 23 +++++++++-
 1.10.4/macros.html                                 | 23 +++++++++-
 1.10.4/metrics.html                                | 23 +++++++++-
 1.10.4/plugins.html                                | 23 +++++++++-
 1.10.4/profiling.html                              | 23 +++++++++-
 1.10.4/project.html                                | 23 +++++++++-
 1.10.4/py-modindex.html                            | 23 +++++++++-
 1.10.4/scheduler.html                              | 23 +++++++++-
 1.10.4/search.html                                 | 23 +++++++++-
 1.10.4/security.html                               | 23 +++++++++-
 1.10.4/start.html                                  | 23 +++++++++-
 1.10.4/timezone.html                               | 23 +++++++++-
 1.10.4/tutorial.html                               | 23 +++++++++-
 1.10.4/ui.html                                     | 23 +++++++++-
 _api/airflow/contrib/executors/index.html          | 23 +++++++++-
 .../executors/kubernetes_executor/index.html       | 23 +++++++++-
 .../contrib/executors/mesos_executor/index.html    | 23 +++++++++-
 .../contrib/hooks/aws_athena_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/aws_dynamodb_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/aws_firehose_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/aws_glue_catalog_hook/index.html | 23 +++++++++-
 _api/airflow/contrib/hooks/aws_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/aws_lambda_hook/index.html       | 23 +++++++++-
 _api/airflow/contrib/hooks/aws_sns_hook/index.html | 23 +++++++++-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html | 23 +++++++++-
 .../hooks/azure_container_instance_hook/index.html | 23 +++++++++-
 .../hooks/azure_container_registry_hook/index.html | 23 +++++++++-
 .../hooks/azure_container_volume_hook/index.html   | 23 +++++++++-
 .../contrib/hooks/azure_cosmos_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/azure_data_lake_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/azure_fileshare_hook/index.html  | 23 +++++++++-
 .../airflow/contrib/hooks/bigquery_hook/index.html | 23 +++++++++-
 .../contrib/hooks/cassandra_hook/index.html        | 23 +++++++++-
 .../airflow/contrib/hooks/cloudant_hook/index.html | 23 +++++++++-
 .../contrib/hooks/databricks_hook/index.html       | 23 +++++++++-
 _api/airflow/contrib/hooks/datadog_hook/index.html | 23 +++++++++-
 .../contrib/hooks/datastore_hook/index.html        | 23 +++++++++-
 .../airflow/contrib/hooks/dingding_hook/index.html | 23 +++++++++-
 .../contrib/hooks/discord_webhook_hook/index.html  | 23 +++++++++-
 _api/airflow/contrib/hooks/emr_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/fs_hook/index.html      | 23 +++++++++-
 _api/airflow/contrib/hooks/ftp_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_api_base_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_bigtable_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  | 23 +++++++++-
 .../contrib/hooks/gcp_compute_hook/index.html      | 23 +++++++++-
 .../contrib/hooks/gcp_container_hook/index.html    | 23 +++++++++-
 .../contrib/hooks/gcp_dataflow_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_dataproc_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html | 23 +++++++++-
 .../contrib/hooks/gcp_function_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html | 23 +++++++++-
 .../contrib/hooks/gcp_mlengine_hook/index.html     | 23 +++++++++-
 .../hooks/gcp_natural_language_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_pubsub_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/gcp_spanner_hook/index.html      | 23 +++++++++-
 .../hooks/gcp_speech_to_text_hook/index.html       | 23 +++++++++-
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html | 23 +++++++++-
 .../hooks/gcp_text_to_speech_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/gcp_transfer_hook/index.html     | 23 +++++++++-
 .../contrib/hooks/gcp_translate_hook/index.html    | 23 +++++++++-
 .../hooks/gcp_video_intelligence_hook/index.html   | 23 +++++++++-
 .../contrib/hooks/gcp_vision_hook/index.html       | 23 +++++++++-
 _api/airflow/contrib/hooks/gcs_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/grpc_hook/index.html    | 23 +++++++++-
 _api/airflow/contrib/hooks/imap_hook/index.html    | 23 +++++++++-
 _api/airflow/contrib/hooks/index.html              | 23 +++++++++-
 _api/airflow/contrib/hooks/jenkins_hook/index.html | 23 +++++++++-
 _api/airflow/contrib/hooks/jira_hook/index.html    | 23 +++++++++-
 _api/airflow/contrib/hooks/mongo_hook/index.html   | 23 +++++++++-
 .../airflow/contrib/hooks/openfaas_hook/index.html | 23 +++++++++-
 .../contrib/hooks/opsgenie_alert_hook/index.html   | 23 +++++++++-
 _api/airflow/contrib/hooks/pinot_hook/index.html   | 23 +++++++++-
 .../contrib/hooks/qubole_check_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/qubole_hook/index.html  | 23 +++++++++-
 _api/airflow/contrib/hooks/redis_hook/index.html   | 23 +++++++++-
 .../airflow/contrib/hooks/redshift_hook/index.html | 23 +++++++++-
 .../contrib/hooks/sagemaker_hook/index.html        | 27 ++++++++++--
 .../contrib/hooks/salesforce_hook/index.html       | 23 +++++++++-
 _api/airflow/contrib/hooks/segment_hook/index.html | 23 +++++++++-
 _api/airflow/contrib/hooks/sftp_hook/index.html    | 49 ++++++++++++++++------
 .../contrib/hooks/slack_webhook_hook/index.html    | 23 +++++++++-
 .../contrib/hooks/snowflake_hook/index.html        | 23 +++++++++-
 .../contrib/hooks/spark_jdbc_hook/index.html       | 23 +++++++++-
 .../contrib/hooks/spark_jdbc_script/index.html     | 23 +++++++++-
 .../contrib/hooks/spark_sql_hook/index.html        | 23 +++++++++-
 .../contrib/hooks/spark_submit_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/sqoop_hook/index.html   | 23 +++++++++-
 _api/airflow/contrib/hooks/ssh_hook/index.html     | 23 +++++++++-
 _api/airflow/contrib/hooks/vertica_hook/index.html | 23 +++++++++-
 _api/airflow/contrib/hooks/wasb_hook/index.html    | 23 +++++++++-
 _api/airflow/contrib/hooks/winrm_hook/index.html   | 23 +++++++++-
 .../operators/adls_list_operator/index.html        | 23 +++++++++-
 .../contrib/operators/adls_to_gcs/index.html       | 23 +++++++++-
 .../operators/aws_athena_operator/index.html       | 23 +++++++++-
 .../operators/aws_sqs_publish_operator/index.html  | 23 +++++++++-
 .../contrib/operators/awsbatch_operator/index.html | 23 +++++++++-
 .../azure_container_instances_operator/index.html  | 23 +++++++++-
 .../operators/azure_cosmos_operator/index.html     | 23 +++++++++-
 .../operators/bigquery_check_operator/index.html   | 23 +++++++++-
 .../contrib/operators/bigquery_get_data/index.html | 23 +++++++++-
 .../contrib/operators/bigquery_operator/index.html | 23 +++++++++-
 .../bigquery_table_delete_operator/index.html      | 23 +++++++++-
 .../operators/bigquery_to_bigquery/index.html      | 23 +++++++++-
 .../contrib/operators/bigquery_to_gcs/index.html   | 23 +++++++++-
 .../contrib/operators/cassandra_to_gcs/index.html  | 23 +++++++++-
 .../operators/databricks_operator/index.html       | 23 +++++++++-
 .../contrib/operators/dataflow_operator/index.html | 23 +++++++++-
 .../contrib/operators/dataproc_operator/index.html | 23 +++++++++-
 .../operators/datastore_export_operator/index.html | 23 +++++++++-
 .../operators/datastore_import_operator/index.html | 23 +++++++++-
 .../contrib/operators/dingding_operator/index.html | 23 +++++++++-
 .../operators/discord_webhook_operator/index.html  | 23 +++++++++-
 .../contrib/operators/druid_operator/index.html    | 23 +++++++++-
 .../contrib/operators/ecs_operator/index.html      | 23 +++++++++-
 .../operators/emr_add_steps_operator/index.html    | 23 +++++++++-
 .../emr_create_job_flow_operator/index.html        | 23 +++++++++-
 .../emr_terminate_job_flow_operator/index.html     | 23 +++++++++-
 .../contrib/operators/file_to_gcs/index.html       | 23 +++++++++-
 .../contrib/operators/file_to_wasb/index.html      | 23 +++++++++-
 .../operators/gcp_bigtable_operator/index.html     | 23 +++++++++-
 .../operators/gcp_cloud_build_operator/index.html  | 23 +++++++++-
 .../operators/gcp_compute_operator/index.html      | 23 +++++++++-
 .../operators/gcp_container_operator/index.html    | 23 +++++++++-
 .../contrib/operators/gcp_dlp_operator/index.html  | 23 +++++++++-
 .../operators/gcp_function_operator/index.html     | 23 +++++++++-
 .../gcp_natural_language_operator/index.html       | 23 +++++++++-
 .../operators/gcp_spanner_operator/index.html      | 23 +++++++++-
 .../gcp_speech_to_text_operator/index.html         | 23 +++++++++-
 .../contrib/operators/gcp_sql_operator/index.html  | 23 +++++++++-
 .../gcp_text_to_speech_operator/index.html         | 23 +++++++++-
 .../operators/gcp_transfer_operator/index.html     | 23 +++++++++-
 .../operators/gcp_translate_operator/index.html    | 23 +++++++++-
 .../gcp_translate_speech_operator/index.html       | 23 +++++++++-
 .../gcp_video_intelligence_operator/index.html     | 23 +++++++++-
 .../operators/gcp_vision_operator/index.html       | 23 +++++++++-
 .../contrib/operators/gcs_acl_operator/index.html  | 23 +++++++++-
 .../operators/gcs_delete_operator/index.html       | 23 +++++++++-
 .../operators/gcs_download_operator/index.html     | 23 +++++++++-
 .../contrib/operators/gcs_list_operator/index.html | 23 +++++++++-
 .../contrib/operators/gcs_operator/index.html      | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_bq/index.html | 23 +++++++++-
 .../contrib/operators/gcs_to_gcs/index.html        | 23 +++++++++-
 .../airflow/contrib/operators/gcs_to_s3/index.html | 23 +++++++++-
 .../contrib/operators/hipchat_operator/index.html  | 23 +++++++++-
 .../contrib/operators/hive_to_dynamodb/index.html  | 23 +++++++++-
 .../imap_attachment_to_s3_operator/index.html      | 23 +++++++++-
 _api/airflow/contrib/operators/index.html          | 23 +++++++++-
 .../jenkins_job_trigger_operator/index.html        | 23 +++++++++-
 .../contrib/operators/jira_operator/index.html     | 23 +++++++++-
 .../operators/kubernetes_pod_operator/index.html   | 23 +++++++++-
 .../contrib/operators/mlengine_operator/index.html | 23 +++++++++-
 .../contrib/operators/mongo_to_s3/index.html       | 23 +++++++++-
 .../contrib/operators/mssql_to_gcs/index.html      | 23 +++++++++-
 .../contrib/operators/mysql_to_gcs/index.html      | 23 +++++++++-
 .../operators/opsgenie_alert_operator/index.html   | 23 +++++++++-
 .../oracle_to_azure_data_lake_transfer/index.html  | 23 +++++++++-
 .../operators/oracle_to_oracle_transfer/index.html | 23 +++++++++-
 .../operators/postgres_to_gcs_operator/index.html  | 23 +++++++++-
 .../contrib/operators/pubsub_operator/index.html   | 23 +++++++++-
 .../operators/qubole_check_operator/index.html     | 23 +++++++++-
 .../contrib/operators/qubole_operator/index.html   | 23 +++++++++-
 .../operators/redis_publish_operator/index.html    | 23 +++++++++-
 .../operators/s3_copy_object_operator/index.html   | 23 +++++++++-
 .../s3_delete_objects_operator/index.html          | 23 +++++++++-
 .../contrib/operators/s3_list_operator/index.html  | 23 +++++++++-
 .../operators/s3_to_gcs_operator/index.html        | 23 +++++++++-
 .../operators/s3_to_sftp_operator/index.html       | 23 +++++++++-
 .../operators/sagemaker_base_operator/index.html   | 23 +++++++++-
 .../sagemaker_endpoint_config_operator/index.html  | 25 +++++++++--
 .../sagemaker_endpoint_operator/index.html         | 29 ++++++++++---
 .../operators/sagemaker_model_operator/index.html  | 25 +++++++++--
 .../sagemaker_training_operator/index.html         | 25 +++++++++--
 .../sagemaker_transform_operator/index.html        | 27 ++++++++++--
 .../operators/sagemaker_tuning_operator/index.html | 25 +++++++++--
 .../segment_track_event_operator/index.html        | 23 +++++++++-
 .../contrib/operators/sftp_operator/index.html     | 23 +++++++++-
 .../operators/sftp_to_s3_operator/index.html       | 23 +++++++++-
 .../operators/slack_webhook_operator/index.html    | 23 +++++++++-
 .../operators/snowflake_operator/index.html        | 23 +++++++++-
 .../operators/sns_publish_operator/index.html      | 23 +++++++++-
 .../operators/spark_jdbc_operator/index.html       | 23 +++++++++-
 .../operators/spark_sql_operator/index.html        | 23 +++++++++-
 .../operators/spark_submit_operator/index.html     | 23 +++++++++-
 .../contrib/operators/sql_to_gcs/index.html        | 23 +++++++++-
 .../contrib/operators/sqoop_operator/index.html    | 23 +++++++++-
 .../contrib/operators/ssh_operator/index.html      | 23 +++++++++-
 .../contrib/operators/vertica_operator/index.html  | 23 +++++++++-
 .../contrib/operators/vertica_to_hive/index.html   | 23 +++++++++-
 .../contrib/operators/vertica_to_mysql/index.html  | 23 +++++++++-
 .../operators/wasb_delete_blob_operator/index.html | 23 +++++++++-
 .../contrib/operators/winrm_operator/index.html    | 23 +++++++++-
 .../contrib/sensors/aws_athena_sensor/index.html   | 23 +++++++++-
 .../aws_glue_catalog_partition_sensor/index.html   | 23 +++++++++-
 .../sensors/aws_redshift_cluster_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/aws_sqs_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/azure_cosmos_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/bash_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/bigquery_sensor/index.html     | 23 +++++++++-
 .../sensors/cassandra_record_sensor/index.html     | 23 +++++++++-
 .../sensors/cassandra_table_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/datadog_sensor/index.html      | 23 +++++++++-
 .../contrib/sensors/emr_base_sensor/index.html     | 23 +++++++++-
 .../contrib/sensors/emr_job_flow_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/emr_step_sensor/index.html     | 23 +++++++++-
 .../airflow/contrib/sensors/file_sensor/index.html | 23 +++++++++-
 _api/airflow/contrib/sensors/ftp_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/gcp_transfer_sensor/index.html | 23 +++++++++-
 _api/airflow/contrib/sensors/gcs_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/hdfs_sensor/index.html | 23 +++++++++-
 .../sensors/imap_attachment_sensor/index.html      | 23 +++++++++-
 _api/airflow/contrib/sensors/index.html            | 23 +++++++++-
 .../airflow/contrib/sensors/jira_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/mongo_sensor/index.html        | 23 +++++++++-
 .../contrib/sensors/pubsub_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/python_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/qubole_sensor/index.html       | 23 +++++++++-
 .../contrib/sensors/redis_key_sensor/index.html    | 23 +++++++++-
 .../sensors/redis_pub_sub_sensor/index.html        | 23 +++++++++-
 .../sensors/sagemaker_base_sensor/index.html       | 23 +++++++++-
 .../sensors/sagemaker_endpoint_sensor/index.html   | 23 +++++++++-
 .../sensors/sagemaker_training_sensor/index.html   | 23 +++++++++-
 .../sensors/sagemaker_transform_sensor/index.html  | 23 +++++++++-
 .../sensors/sagemaker_tuning_sensor/index.html     | 23 +++++++++-
 .../airflow/contrib/sensors/sftp_sensor/index.html | 23 +++++++++-
 .../airflow/contrib/sensors/wasb_sensor/index.html | 23 +++++++++-
 .../contrib/sensors/weekday_sensor/index.html      | 23 +++++++++-
 _api/airflow/executors/base_executor/index.html    | 23 +++++++++-
 _api/airflow/executors/celery_executor/index.html  | 23 +++++++++-
 _api/airflow/executors/dask_executor/index.html    | 23 +++++++++-
 _api/airflow/executors/index.html                  | 23 +++++++++-
 _api/airflow/executors/local_executor/index.html   | 23 +++++++++-
 .../executors/sequential_executor/index.html       | 23 +++++++++-
 _api/airflow/hooks/S3_hook/index.html              | 23 +++++++++-
 _api/airflow/hooks/base_hook/index.html            | 23 +++++++++-
 _api/airflow/hooks/dbapi_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/docker_hook/index.html          | 23 +++++++++-
 _api/airflow/hooks/druid_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/hdfs_hook/index.html            | 23 +++++++++-
 _api/airflow/hooks/hive_hooks/index.html           | 23 +++++++++-
 _api/airflow/hooks/http_hook/index.html            | 23 +++++++++-
 _api/airflow/hooks/index.html                      | 23 +++++++++-
 _api/airflow/hooks/jdbc_hook/index.html            | 23 +++++++++-
 _api/airflow/hooks/mssql_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/mysql_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/oracle_hook/index.html          | 23 +++++++++-
 _api/airflow/hooks/pig_hook/index.html             | 23 +++++++++-
 _api/airflow/hooks/postgres_hook/index.html        | 23 +++++++++-
 _api/airflow/hooks/presto_hook/index.html          | 23 +++++++++-
 _api/airflow/hooks/samba_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/slack_hook/index.html           | 23 +++++++++-
 _api/airflow/hooks/sqlite_hook/index.html          | 23 +++++++++-
 _api/airflow/hooks/webhdfs_hook/index.html         | 23 +++++++++-
 _api/airflow/hooks/zendesk_hook/index.html         | 23 +++++++++-
 _api/airflow/models/base/index.html                | 23 +++++++++-
 _api/airflow/models/baseoperator/index.html        | 23 +++++++++-
 _api/airflow/models/chart/index.html               | 23 +++++++++-
 _api/airflow/models/connection/index.html          | 23 +++++++++-
 _api/airflow/models/crypto/index.html              | 23 +++++++++-
 _api/airflow/models/dag/index.html                 | 23 +++++++++-
 _api/airflow/models/dagbag/index.html              | 23 +++++++++-
 _api/airflow/models/dagpickle/index.html           | 23 +++++++++-
 _api/airflow/models/dagrun/index.html              | 23 +++++++++-
 _api/airflow/models/errors/index.html              | 23 +++++++++-
 _api/airflow/models/index.html                     | 23 +++++++++-
 _api/airflow/models/knownevent/index.html          | 23 +++++++++-
 _api/airflow/models/kubernetes/index.html          | 23 +++++++++-
 _api/airflow/models/log/index.html                 | 23 +++++++++-
 _api/airflow/models/pool/index.html                | 23 +++++++++-
 _api/airflow/models/skipmixin/index.html           | 23 +++++++++-
 _api/airflow/models/slamiss/index.html             | 23 +++++++++-
 _api/airflow/models/taskfail/index.html            | 23 +++++++++-
 _api/airflow/models/taskinstance/index.html        | 23 +++++++++-
 _api/airflow/models/taskreschedule/index.html      | 23 +++++++++-
 _api/airflow/models/user/index.html                | 23 +++++++++-
 _api/airflow/models/variable/index.html            | 23 +++++++++-
 _api/airflow/models/xcom/index.html                | 23 +++++++++-
 _api/airflow/operators/bash_operator/index.html    | 23 +++++++++-
 _api/airflow/operators/branch_operator/index.html  | 23 +++++++++-
 _api/airflow/operators/check_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/dagrun_operator/index.html  | 23 +++++++++-
 _api/airflow/operators/docker_operator/index.html  | 23 +++++++++-
 .../operators/druid_check_operator/index.html      | 23 +++++++++-
 _api/airflow/operators/dummy_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/email_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/generic_transfer/index.html | 23 +++++++++-
 _api/airflow/operators/hive_operator/index.html    | 23 +++++++++-
 .../operators/hive_stats_operator/index.html       | 23 +++++++++-
 _api/airflow/operators/hive_to_druid/index.html    | 23 +++++++++-
 _api/airflow/operators/hive_to_mysql/index.html    | 23 +++++++++-
 .../operators/hive_to_samba_operator/index.html    | 23 +++++++++-
 _api/airflow/operators/http_operator/index.html    | 23 +++++++++-
 _api/airflow/operators/index.html                  | 23 +++++++++-
 _api/airflow/operators/jdbc_operator/index.html    | 23 +++++++++-
 .../operators/latest_only_operator/index.html      | 23 +++++++++-
 _api/airflow/operators/mssql_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/mssql_to_hive/index.html    | 23 +++++++++-
 _api/airflow/operators/mysql_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/mysql_to_hive/index.html    | 23 +++++++++-
 _api/airflow/operators/oracle_operator/index.html  | 23 +++++++++-
 _api/airflow/operators/pig_operator/index.html     | 23 +++++++++-
 .../airflow/operators/postgres_operator/index.html | 23 +++++++++-
 .../operators/presto_check_operator/index.html     | 23 +++++++++-
 _api/airflow/operators/presto_to_mysql/index.html  | 23 +++++++++-
 _api/airflow/operators/python_operator/index.html  | 23 +++++++++-
 .../operators/redshift_to_s3_operator/index.html   | 23 +++++++++-
 .../s3_file_transform_operator/index.html          | 23 +++++++++-
 .../operators/s3_to_hive_operator/index.html       | 23 +++++++++-
 .../operators/s3_to_redshift_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/sensors/index.html          | 23 +++++++++-
 _api/airflow/operators/slack_operator/index.html   | 23 +++++++++-
 _api/airflow/operators/sqlite_operator/index.html  | 23 +++++++++-
 _api/airflow/operators/subdag_operator/index.html  | 23 +++++++++-
 .../sensors/base_sensor_operator/index.html        | 23 +++++++++-
 .../sensors/external_task_sensor/index.html        | 23 +++++++++-
 _api/airflow/sensors/hdfs_sensor/index.html        | 23 +++++++++-
 .../sensors/hive_partition_sensor/index.html       | 23 +++++++++-
 _api/airflow/sensors/http_sensor/index.html        | 23 +++++++++-
 _api/airflow/sensors/index.html                    | 23 +++++++++-
 .../sensors/metastore_partition_sensor/index.html  | 23 +++++++++-
 .../sensors/named_hive_partition_sensor/index.html | 23 +++++++++-
 _api/airflow/sensors/s3_key_sensor/index.html      | 23 +++++++++-
 _api/airflow/sensors/s3_prefix_sensor/index.html   | 23 +++++++++-
 _api/airflow/sensors/sql_sensor/index.html         | 23 +++++++++-
 _api/airflow/sensors/time_delta_sensor/index.html  | 23 +++++++++-
 _api/airflow/sensors/time_sensor/index.html        | 23 +++++++++-
 _api/airflow/sensors/web_hdfs_sensor/index.html    | 23 +++++++++-
 _api/index.html                                    | 23 +++++++++-
 .../example_dags/example_dingding_operator.html    | 23 +++++++++-
 .../example_gcp_bigtable_operators.html            | 23 +++++++++-
 .../example_dags/example_gcp_cloud_build.html      | 23 +++++++++-
 .../contrib/example_dags/example_gcp_compute.html  | 23 +++++++++-
 .../example_dags/example_gcp_compute_igm.html      | 23 +++++++++-
 .../contrib/example_dags/example_gcp_function.html | 23 +++++++++-
 .../example_dags/example_gcp_natural_language.html | 23 +++++++++-
 .../contrib/example_dags/example_gcp_spanner.html  | 23 +++++++++-
 .../contrib/example_dags/example_gcp_speech.html   | 23 +++++++++-
 .../contrib/example_dags/example_gcp_sql.html      | 23 +++++++++-
 .../example_dags/example_gcp_sql_query.html        | 23 +++++++++-
 .../contrib/example_dags/example_gcp_transfer.html | 23 +++++++++-
 .../example_dags/example_gcp_translate.html        | 23 +++++++++-
 .../example_gcp_video_intelligence.html            | 23 +++++++++-
 .../contrib/example_dags/example_gcp_vision.html   | 23 +++++++++-
 .../contrib/example_dags/example_gcs_acl.html      | 23 +++++++++-
 .../example_dags/example_gcs_to_bq_operator.html   | 23 +++++++++-
 .../contrib/executors/kubernetes_executor.html     | 23 +++++++++-
 .../airflow/contrib/executors/mesos_executor.html  | 23 +++++++++-
 _modules/airflow/contrib/hooks.html                | 23 +++++++++-
 .../airflow/contrib/hooks/aws_athena_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/aws_firehose_hook.html   | 23 +++++++++-
 .../contrib/hooks/aws_glue_catalog_hook.html       | 23 +++++++++-
 _modules/airflow/contrib/hooks/aws_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/aws_lambda_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/aws_sns_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   | 23 +++++++++-
 .../hooks/azure_container_instance_hook.html       | 23 +++++++++-
 .../hooks/azure_container_registry_hook.html       | 23 +++++++++-
 .../contrib/hooks/azure_container_volume_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   | 23 +++++++++-
 .../contrib/hooks/azure_data_lake_hook.html        | 23 +++++++++-
 .../contrib/hooks/azure_fileshare_hook.html        | 23 +++++++++-
 _modules/airflow/contrib/hooks/bigquery_hook.html  | 23 +++++++++-
 _modules/airflow/contrib/hooks/cassandra_hook.html | 23 +++++++++-
 _modules/airflow/contrib/hooks/cloudant_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/databricks_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/datadog_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/datastore_hook.html | 23 +++++++++-
 _modules/airflow/contrib/hooks/dingding_hook.html  | 23 +++++++++-
 .../contrib/hooks/discord_webhook_hook.html        | 23 +++++++++-
 _modules/airflow/contrib/hooks/emr_hook.html       | 23 +++++++++-
 _modules/airflow/contrib/hooks/fs_hook.html        | 23 +++++++++-
 _modules/airflow/contrib/hooks/ftp_hook.html       | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   | 23 +++++++++-
 .../contrib/hooks/gcp_cloud_build_hook.html        | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_compute_hook.html    | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_container_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_function_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   | 23 +++++++++-
 .../contrib/hooks/gcp_natural_language_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    | 23 +++++++++-
 .../contrib/hooks/gcp_speech_to_text_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   | 23 +++++++++-
 .../contrib/hooks/gcp_text_to_speech_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_translate_hook.html  | 23 +++++++++-
 .../contrib/hooks/gcp_video_intelligence_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/gcp_vision_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/gcs_hook.html       | 23 +++++++++-
 _modules/airflow/contrib/hooks/grpc_hook.html      | 23 +++++++++-
 _modules/airflow/contrib/hooks/imap_hook.html      | 23 +++++++++-
 _modules/airflow/contrib/hooks/jenkins_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/jira_hook.html      | 23 +++++++++-
 _modules/airflow/contrib/hooks/mongo_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/openfaas_hook.html  | 23 +++++++++-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html | 23 +++++++++-
 _modules/airflow/contrib/hooks/pinot_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/qubole_check_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/qubole_hook.html    | 23 +++++++++-
 _modules/airflow/contrib/hooks/redis_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/redshift_hook.html  | 23 +++++++++-
 _modules/airflow/contrib/hooks/sagemaker_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/salesforce_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/segment_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/sftp_hook.html      | 23 +++++++++-
 .../airflow/contrib/hooks/slack_webhook_hook.html  | 23 +++++++++-
 _modules/airflow/contrib/hooks/snowflake_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     | 23 +++++++++-
 .../airflow/contrib/hooks/spark_jdbc_script.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/spark_sql_hook.html | 23 +++++++++-
 .../airflow/contrib/hooks/spark_submit_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/sqoop_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/hooks/ssh_hook.html       | 23 +++++++++-
 _modules/airflow/contrib/hooks/vertica_hook.html   | 23 +++++++++-
 _modules/airflow/contrib/hooks/wasb_hook.html      | 23 +++++++++-
 _modules/airflow/contrib/hooks/winrm_hook.html     | 23 +++++++++-
 _modules/airflow/contrib/operators.html            | 23 +++++++++-
 .../contrib/operators/adls_list_operator.html      | 23 +++++++++-
 .../airflow/contrib/operators/adls_to_gcs.html     | 23 +++++++++-
 .../contrib/operators/aws_athena_operator.html     | 23 +++++++++-
 .../operators/aws_sqs_publish_operator.html        | 23 +++++++++-
 .../contrib/operators/awsbatch_operator.html       | 23 +++++++++-
 .../azure_container_instances_operator.html        | 23 +++++++++-
 .../contrib/operators/azure_cosmos_operator.html   | 23 +++++++++-
 .../contrib/operators/bigquery_check_operator.html | 23 +++++++++-
 .../contrib/operators/bigquery_get_data.html       | 23 +++++++++-
 .../contrib/operators/bigquery_operator.html       | 23 +++++++++-
 .../operators/bigquery_table_delete_operator.html  | 23 +++++++++-
 .../contrib/operators/bigquery_to_bigquery.html    | 23 +++++++++-
 .../airflow/contrib/operators/bigquery_to_gcs.html | 23 +++++++++-
 .../contrib/operators/cassandra_to_gcs.html        | 23 +++++++++-
 .../contrib/operators/databricks_operator.html     | 23 +++++++++-
 .../contrib/operators/dataflow_operator.html       | 23 +++++++++-
 .../contrib/operators/dataproc_operator.html       | 23 +++++++++-
 .../operators/datastore_export_operator.html       | 23 +++++++++-
 .../operators/datastore_import_operator.html       | 23 +++++++++-
 .../contrib/operators/dingding_operator.html       | 23 +++++++++-
 .../operators/discord_webhook_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/druid_operator.html  | 23 +++++++++-
 .../airflow/contrib/operators/ecs_operator.html    | 23 +++++++++-
 .../contrib/operators/emr_add_steps_operator.html  | 23 +++++++++-
 .../operators/emr_create_job_flow_operator.html    | 23 +++++++++-
 .../operators/emr_terminate_job_flow_operator.html | 23 +++++++++-
 .../airflow/contrib/operators/file_to_gcs.html     | 23 +++++++++-
 .../airflow/contrib/operators/file_to_wasb.html    | 23 +++++++++-
 .../contrib/operators/gcp_bigtable_operator.html   | 23 +++++++++-
 .../operators/gcp_cloud_build_operator.html        | 23 +++++++++-
 .../contrib/operators/gcp_compute_operator.html    | 23 +++++++++-
 .../contrib/operators/gcp_container_operator.html  | 23 +++++++++-
 .../contrib/operators/gcp_dlp_operator.html        | 23 +++++++++-
 .../contrib/operators/gcp_function_operator.html   | 23 +++++++++-
 .../operators/gcp_natural_language_operator.html   | 23 +++++++++-
 .../contrib/operators/gcp_spanner_operator.html    | 23 +++++++++-
 .../operators/gcp_speech_to_text_operator.html     | 23 +++++++++-
 .../contrib/operators/gcp_sql_operator.html        | 23 +++++++++-
 .../operators/gcp_text_to_speech_operator.html     | 23 +++++++++-
 .../contrib/operators/gcp_transfer_operator.html   | 23 +++++++++-
 .../contrib/operators/gcp_translate_operator.html  | 23 +++++++++-
 .../operators/gcp_translate_speech_operator.html   | 23 +++++++++-
 .../operators/gcp_video_intelligence_operator.html | 23 +++++++++-
 .../contrib/operators/gcp_vision_operator.html     | 23 +++++++++-
 .../contrib/operators/gcs_acl_operator.html        | 23 +++++++++-
 .../contrib/operators/gcs_delete_operator.html     | 23 +++++++++-
 .../contrib/operators/gcs_download_operator.html   | 23 +++++++++-
 .../contrib/operators/gcs_list_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/gcs_operator.html    | 23 +++++++++-
 _modules/airflow/contrib/operators/gcs_to_bq.html  | 23 +++++++++-
 _modules/airflow/contrib/operators/gcs_to_gcs.html | 23 +++++++++-
 _modules/airflow/contrib/operators/gcs_to_s3.html  | 23 +++++++++-
 .../contrib/operators/hipchat_operator.html        | 23 +++++++++-
 .../contrib/operators/hive_to_dynamodb.html        | 23 +++++++++-
 .../operators/imap_attachment_to_s3_operator.html  | 23 +++++++++-
 .../operators/jenkins_job_trigger_operator.html    | 23 +++++++++-
 .../airflow/contrib/operators/jira_operator.html   | 23 +++++++++-
 .../contrib/operators/kubernetes_pod_operator.html | 23 +++++++++-
 .../contrib/operators/mlengine_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/mongo_to_s3.html     | 23 +++++++++-
 .../airflow/contrib/operators/mssql_to_gcs.html    | 23 +++++++++-
 .../airflow/contrib/operators/mysql_to_gcs.html    | 23 +++++++++-
 .../contrib/operators/opsgenie_alert_operator.html | 23 +++++++++-
 .../oracle_to_azure_data_lake_transfer.html        | 23 +++++++++-
 .../operators/oracle_to_oracle_transfer.html       | 23 +++++++++-
 .../operators/postgres_to_gcs_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/pubsub_operator.html | 23 +++++++++-
 .../contrib/operators/qubole_check_operator.html   | 23 +++++++++-
 .../airflow/contrib/operators/qubole_operator.html | 23 +++++++++-
 .../contrib/operators/redis_publish_operator.html  | 23 +++++++++-
 .../contrib/operators/s3_copy_object_operator.html | 23 +++++++++-
 .../operators/s3_delete_objects_operator.html      | 23 +++++++++-
 .../contrib/operators/s3_list_operator.html        | 23 +++++++++-
 .../contrib/operators/s3_to_gcs_operator.html      | 23 +++++++++-
 .../contrib/operators/s3_to_sftp_operator.html     | 23 +++++++++-
 .../contrib/operators/sagemaker_base_operator.html | 23 +++++++++-
 .../sagemaker_endpoint_config_operator.html        | 23 +++++++++-
 .../operators/sagemaker_endpoint_operator.html     | 23 +++++++++-
 .../operators/sagemaker_model_operator.html        | 23 +++++++++-
 .../operators/sagemaker_training_operator.html     | 23 +++++++++-
 .../operators/sagemaker_transform_operator.html    | 23 +++++++++-
 .../operators/sagemaker_tuning_operator.html       | 23 +++++++++-
 .../operators/segment_track_event_operator.html    | 23 +++++++++-
 .../airflow/contrib/operators/sftp_operator.html   | 23 +++++++++-
 .../contrib/operators/sftp_to_s3_operator.html     | 23 +++++++++-
 .../contrib/operators/slack_webhook_operator.html  | 23 +++++++++-
 .../contrib/operators/snowflake_operator.html      | 23 +++++++++-
 .../contrib/operators/sns_publish_operator.html    | 23 +++++++++-
 .../contrib/operators/spark_jdbc_operator.html     | 23 +++++++++-
 .../contrib/operators/spark_sql_operator.html      | 23 +++++++++-
 .../contrib/operators/spark_submit_operator.html   | 23 +++++++++-
 _modules/airflow/contrib/operators/sql_to_gcs.html | 23 +++++++++-
 .../airflow/contrib/operators/sqoop_operator.html  | 23 +++++++++-
 .../airflow/contrib/operators/ssh_operator.html    | 23 +++++++++-
 .../contrib/operators/vertica_operator.html        | 23 +++++++++-
 .../airflow/contrib/operators/vertica_to_hive.html | 23 +++++++++-
 .../contrib/operators/vertica_to_mysql.html        | 23 +++++++++-
 .../operators/wasb_delete_blob_operator.html       | 23 +++++++++-
 .../airflow/contrib/operators/winrm_operator.html  | 23 +++++++++-
 .../airflow/contrib/sensors/aws_athena_sensor.html | 23 +++++++++-
 .../sensors/aws_glue_catalog_partition_sensor.html | 23 +++++++++-
 .../sensors/aws_redshift_cluster_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    | 23 +++++++++-
 .../contrib/sensors/azure_cosmos_sensor.html       | 23 +++++++++-
 _modules/airflow/contrib/sensors/bash_sensor.html  | 23 +++++++++-
 .../airflow/contrib/sensors/bigquery_sensor.html   | 23 +++++++++-
 .../contrib/sensors/cassandra_record_sensor.html   | 23 +++++++++-
 .../contrib/sensors/cassandra_table_sensor.html    | 23 +++++++++-
 .../airflow/contrib/sensors/datadog_sensor.html    | 23 +++++++++-
 .../airflow/contrib/sensors/emr_base_sensor.html   | 23 +++++++++-
 .../contrib/sensors/emr_job_flow_sensor.html       | 23 +++++++++-
 .../airflow/contrib/sensors/emr_step_sensor.html   | 23 +++++++++-
 _modules/airflow/contrib/sensors/file_sensor.html  | 23 +++++++++-
 _modules/airflow/contrib/sensors/ftp_sensor.html   | 23 +++++++++-
 .../contrib/sensors/gcp_transfer_sensor.html       | 23 +++++++++-
 _modules/airflow/contrib/sensors/gcs_sensor.html   | 23 +++++++++-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  | 23 +++++++++-
 .../contrib/sensors/imap_attachment_sensor.html    | 23 +++++++++-
 _modules/airflow/contrib/sensors/jira_sensor.html  | 23 +++++++++-
 _modules/airflow/contrib/sensors/mongo_sensor.html | 23 +++++++++-
 .../airflow/contrib/sensors/pubsub_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/python_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/qubole_sensor.html     | 23 +++++++++-
 .../airflow/contrib/sensors/redis_key_sensor.html  | 23 +++++++++-
 .../contrib/sensors/redis_pub_sub_sensor.html      | 23 +++++++++-
 .../contrib/sensors/sagemaker_base_sensor.html     | 23 +++++++++-
 .../contrib/sensors/sagemaker_endpoint_sensor.html | 23 +++++++++-
 .../contrib/sensors/sagemaker_training_sensor.html | 23 +++++++++-
 .../sensors/sagemaker_transform_sensor.html        | 23 +++++++++-
 .../contrib/sensors/sagemaker_tuning_sensor.html   | 23 +++++++++-
 _modules/airflow/contrib/sensors/sftp_sensor.html  | 23 +++++++++-
 _modules/airflow/contrib/sensors/wasb_sensor.html  | 23 +++++++++-
 .../airflow/contrib/sensors/weekday_sensor.html    | 23 +++++++++-
 .../example_dags/example_bash_operator.html        | 23 +++++++++-
 .../example_dags/example_python_operator.html      | 23 +++++++++-
 _modules/airflow/exceptions.html                   | 23 +++++++++-
 _modules/airflow/executors.html                    | 23 +++++++++-
 _modules/airflow/executors/base_executor.html      | 23 +++++++++-
 _modules/airflow/executors/celery_executor.html    | 23 +++++++++-
 _modules/airflow/executors/dask_executor.html      | 23 +++++++++-
 _modules/airflow/executors/local_executor.html     | 23 +++++++++-
 .../airflow/executors/sequential_executor.html     | 23 +++++++++-
 _modules/airflow/hooks.html                        | 23 +++++++++-
 _modules/airflow/hooks/S3_hook.html                | 23 +++++++++-
 _modules/airflow/hooks/base_hook.html              | 23 +++++++++-
 _modules/airflow/hooks/dbapi_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/docker_hook.html            | 23 +++++++++-
 _modules/airflow/hooks/druid_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/hdfs_hook.html              | 23 +++++++++-
 _modules/airflow/hooks/hive_hooks.html             | 23 +++++++++-
 _modules/airflow/hooks/http_hook.html              | 23 +++++++++-
 _modules/airflow/hooks/jdbc_hook.html              | 23 +++++++++-
 _modules/airflow/hooks/mssql_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/mysql_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/oracle_hook.html            | 23 +++++++++-
 _modules/airflow/hooks/pig_hook.html               | 23 +++++++++-
 _modules/airflow/hooks/postgres_hook.html          | 23 +++++++++-
 _modules/airflow/hooks/presto_hook.html            | 23 +++++++++-
 _modules/airflow/hooks/samba_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/slack_hook.html             | 23 +++++++++-
 _modules/airflow/hooks/sqlite_hook.html            | 23 +++++++++-
 _modules/airflow/hooks/webhdfs_hook.html           | 23 +++++++++-
 _modules/airflow/hooks/zendesk_hook.html           | 23 +++++++++-
 _modules/airflow/macros.html                       | 23 +++++++++-
 _modules/airflow/macros/hive.html                  | 23 +++++++++-
 _modules/airflow/models.html                       | 23 +++++++++-
 _modules/airflow/models/base.html                  | 23 +++++++++-
 _modules/airflow/models/baseoperator.html          | 23 +++++++++-
 _modules/airflow/models/chart.html                 | 23 +++++++++-
 _modules/airflow/models/connection.html            | 23 +++++++++-
 _modules/airflow/models/crypto.html                | 23 +++++++++-
 _modules/airflow/models/dag.html                   | 23 +++++++++-
 _modules/airflow/models/dagbag.html                | 23 +++++++++-
 _modules/airflow/models/dagpickle.html             | 23 +++++++++-
 _modules/airflow/models/dagrun.html                | 23 +++++++++-
 _modules/airflow/models/errors.html                | 23 +++++++++-
 _modules/airflow/models/knownevent.html            | 23 +++++++++-
 _modules/airflow/models/kubernetes.html            | 23 +++++++++-
 _modules/airflow/models/log.html                   | 23 +++++++++-
 _modules/airflow/models/pool.html                  | 23 +++++++++-
 _modules/airflow/models/skipmixin.html             | 23 +++++++++-
 _modules/airflow/models/slamiss.html               | 23 +++++++++-
 _modules/airflow/models/taskfail.html              | 23 +++++++++-
 _modules/airflow/models/taskinstance.html          | 23 +++++++++-
 _modules/airflow/models/taskreschedule.html        | 23 +++++++++-
 _modules/airflow/models/user.html                  | 23 +++++++++-
 _modules/airflow/models/variable.html              | 23 +++++++++-
 _modules/airflow/models/xcom.html                  | 23 +++++++++-
 _modules/airflow/operators.html                    | 23 +++++++++-
 _modules/airflow/operators/bash_operator.html      | 23 +++++++++-
 _modules/airflow/operators/branch_operator.html    | 23 +++++++++-
 _modules/airflow/operators/check_operator.html     | 23 +++++++++-
 _modules/airflow/operators/dagrun_operator.html    | 23 +++++++++-
 _modules/airflow/operators/docker_operator.html    | 23 +++++++++-
 .../airflow/operators/druid_check_operator.html    | 23 +++++++++-
 _modules/airflow/operators/dummy_operator.html     | 23 +++++++++-
 _modules/airflow/operators/email_operator.html     | 23 +++++++++-
 _modules/airflow/operators/generic_transfer.html   | 23 +++++++++-
 _modules/airflow/operators/hive_operator.html      | 23 +++++++++-
 .../airflow/operators/hive_stats_operator.html     | 23 +++++++++-
 _modules/airflow/operators/hive_to_druid.html      | 23 +++++++++-
 _modules/airflow/operators/hive_to_mysql.html      | 23 +++++++++-
 .../airflow/operators/hive_to_samba_operator.html  | 23 +++++++++-
 _modules/airflow/operators/http_operator.html      | 23 +++++++++-
 _modules/airflow/operators/jdbc_operator.html      | 23 +++++++++-
 .../airflow/operators/latest_only_operator.html    | 23 +++++++++-
 _modules/airflow/operators/mssql_operator.html     | 23 +++++++++-
 _modules/airflow/operators/mssql_to_hive.html      | 23 +++++++++-
 _modules/airflow/operators/mysql_operator.html     | 23 +++++++++-
 _modules/airflow/operators/mysql_to_hive.html      | 23 +++++++++-
 _modules/airflow/operators/oracle_operator.html    | 23 +++++++++-
 _modules/airflow/operators/pig_operator.html       | 23 +++++++++-
 _modules/airflow/operators/postgres_operator.html  | 23 +++++++++-
 .../airflow/operators/presto_check_operator.html   | 23 +++++++++-
 _modules/airflow/operators/presto_to_mysql.html    | 23 +++++++++-
 _modules/airflow/operators/python_operator.html    | 23 +++++++++-
 .../airflow/operators/redshift_to_s3_operator.html | 23 +++++++++-
 .../operators/s3_file_transform_operator.html      | 23 +++++++++-
 .../airflow/operators/s3_to_hive_operator.html     | 23 +++++++++-
 .../airflow/operators/s3_to_redshift_operator.html | 23 +++++++++-
 _modules/airflow/operators/sensors.html            | 23 +++++++++-
 _modules/airflow/operators/slack_operator.html     | 23 +++++++++-
 _modules/airflow/operators/sqlite_operator.html    | 23 +++++++++-
 _modules/airflow/operators/subdag_operator.html    | 23 +++++++++-
 _modules/airflow/sensors.html                      | 23 +++++++++-
 _modules/airflow/sensors/base_sensor_operator.html | 23 +++++++++-
 _modules/airflow/sensors/external_task_sensor.html | 23 +++++++++-
 _modules/airflow/sensors/hdfs_sensor.html          | 23 +++++++++-
 .../airflow/sensors/hive_partition_sensor.html     | 23 +++++++++-
 _modules/airflow/sensors/http_sensor.html          | 23 +++++++++-
 .../sensors/metastore_partition_sensor.html        | 23 +++++++++-
 .../sensors/named_hive_partition_sensor.html       | 23 +++++++++-
 _modules/airflow/sensors/s3_key_sensor.html        | 23 +++++++++-
 _modules/airflow/sensors/s3_prefix_sensor.html     | 23 +++++++++-
 _modules/airflow/sensors/sql_sensor.html           | 23 +++++++++-
 _modules/airflow/sensors/time_delta_sensor.html    | 23 +++++++++-
 _modules/airflow/sensors/time_sensor.html          | 23 +++++++++-
 _modules/airflow/sensors/web_hdfs_sensor.html      | 23 +++++++++-
 _modules/airflow/utils/log/logging_mixin.html      | 23 +++++++++-
 _modules/index.html                                | 23 +++++++++-
 api.html                                           | 23 +++++++++-
 changelog.html                                     | 29 ++++++++++---
 cli.html                                           | 27 ++++++++++--
 concepts.html                                      | 23 +++++++++-
 faq.html                                           | 23 +++++++++-
 genindex.html                                      | 23 +++++++++-
 howto/check-health.html                            | 23 +++++++++-
 howto/connection/aws.html                          | 23 +++++++++-
 howto/connection/gcp.html                          | 23 +++++++++-
 howto/connection/gcp_sql.html                      | 23 +++++++++-
 howto/connection/grpc.html                         | 23 +++++++++-
 howto/connection/index.html                        | 23 +++++++++-
 howto/connection/mysql.html                        | 23 +++++++++-
 howto/connection/oracle.html                       | 23 +++++++++-
 howto/connection/postgres.html                     | 23 +++++++++-
 howto/connection/ssh.html                          | 23 +++++++++-
 howto/define_extra_link.html                       | 23 +++++++++-
 howto/executor/use-celery.html                     | 23 +++++++++-
 howto/executor/use-dask.html                       | 23 +++++++++-
 howto/executor/use-mesos.html                      | 23 +++++++++-
 howto/index.html                                   | 23 +++++++++-
 howto/initialize-database.html                     | 23 +++++++++-
 howto/operator/bash.html                           | 23 +++++++++-
 howto/operator/dingding.html                       | 23 +++++++++-
 howto/operator/gcp/bigtable.html                   | 23 +++++++++-
 howto/operator/gcp/cloud_build.html                | 23 +++++++++-
 howto/operator/gcp/compute.html                    | 23 +++++++++-
 howto/operator/gcp/function.html                   | 23 +++++++++-
 howto/operator/gcp/gcs.html                        | 23 +++++++++-
 howto/operator/gcp/index.html                      | 23 +++++++++-
 howto/operator/gcp/natural_language.html           | 23 +++++++++-
 howto/operator/gcp/spanner.html                    | 23 +++++++++-
 howto/operator/gcp/speech.html                     | 23 +++++++++-
 howto/operator/gcp/sql.html                        | 23 +++++++++-
 howto/operator/gcp/transfer.html                   | 23 +++++++++-
 howto/operator/gcp/translate-speech.html           | 23 +++++++++-
 howto/operator/gcp/translate.html                  | 23 +++++++++-
 howto/operator/gcp/video.html                      | 23 +++++++++-
 howto/operator/gcp/vision.html                     | 23 +++++++++-
 howto/operator/index.html                          | 23 +++++++++-
 howto/operator/python.html                         | 23 +++++++++-
 howto/run-behind-proxy.html                        | 23 +++++++++-
 howto/run-with-systemd.html                        | 23 +++++++++-
 howto/run-with-upstart.html                        | 23 +++++++++-
 howto/secure-connections.html                      | 23 +++++++++-
 howto/set-config.html                              | 23 +++++++++-
 howto/use-test-config.html                         | 23 +++++++++-
 howto/write-logs.html                              | 23 +++++++++-
 http-routingtable.html                             | 23 +++++++++-
 index.html                                         | 25 +++++++++--
 installation.html                                  | 23 +++++++++-
 integration.html                                   | 23 +++++++++-
 kubernetes.html                                    | 23 +++++++++-
 license.html                                       | 23 +++++++++-
 lineage.html                                       | 23 +++++++++-
 macros.html                                        | 23 +++++++++-
 metrics.html                                       | 23 +++++++++-
 plugins.html                                       | 23 +++++++++-
 profiling.html                                     | 23 +++++++++-
 project.html                                       | 23 +++++++++-
 py-modindex.html                                   | 23 +++++++++-
 scheduler.html                                     | 23 +++++++++-
 search.html                                        | 23 +++++++++-
 security.html                                      | 23 +++++++++-
 start.html                                         | 23 +++++++++-
 timezone.html                                      | 23 +++++++++-
 tutorial.html                                      | 23 +++++++++-
 ui.html                                            | 23 +++++++++-
 1434 files changed, 30180 insertions(+), 2922 deletions(-)

diff --git a/1.10.4/_api/airflow/contrib/executors/index.html b/1.10.4/_api/airflow/contrib/executors/index.html
index 01365ec..c5e37ee 100644
--- a/1.10.4/_api/airflow/contrib/executors/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -335,7 +339,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
index 7b24bd2..bd50d5d 100644
--- a/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -593,7 +597,22 @@ for State.LAUNCHED</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
index 16246b9..885b326 100644
--- a/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -440,7 +444,22 @@ See <a class="reference external" href="http://mesos.apache.org/">http://mesos.a
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
index 94e418e..25c2be0 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -461,7 +465,22 @@ Returns one of the final states</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
index 49f479d..d22c621 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -358,7 +362,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
index de372a7..9377cc3 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -354,7 +358,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
index f3e9d6d..348fe8d 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -443,7 +447,22 @@ a partition may be composed of multiple columns. For example:
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
index 6fb9903..09145a5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,7 +405,22 @@ If IAM role is already an IAM role ARN, no change is made.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
index 9dcfa81..9b8bf2c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -360,7 +364,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
index e9eb9e6..cf98e2e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -359,7 +363,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
index 4b1bad3..f72b33f 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -397,7 +401,22 @@ For details of the returned value see <code class="xref py py-meth docutils lite
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
index 166aa3f..2416449 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -479,7 +483,22 @@ If the exitcode is unknown 0 is returned.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
index 86eb248..eab90f3 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -349,7 +353,22 @@ to start the container instance</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
index c03fa34..52a62f6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -354,7 +358,22 @@ which file shares should be mounted</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
index 4c694d9..a604460 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -444,7 +448,22 @@ collection in the CosmosDB database.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
index 59f0108..9be2da6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -426,7 +430,22 @@ block for each API call. This block cannot be bigger than a chunk.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
index 0a693d2..d69fd66 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -531,7 +535,22 @@ passed to the <cite>FileService()</cite> constructor.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
index 2b1095a..fc25c0e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -1233,7 +1237,22 @@ sequences (e.g. a list of tuples).</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
index f4e2342..3b04c6e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -427,7 +431,22 @@ Use dot notation to target a specific keyspace.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
index 1869d41..6c334c3 100644
--- a/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -353,7 +357,22 @@ documentation <a class="reference external" href="https://github.com/cloudant-la
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
index e1323bf..062a680 100644
--- a/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -536,7 +540,22 @@ magic function.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
index c989cdb..04a95b4 100644
--- a/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -417,7 +421,22 @@ to submit.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
index 1de323c..8ac14f3 100644
--- a/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -604,7 +608,22 @@ Cannot be used with a transaction.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
index 6ca6c96..a28178e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -386,7 +390,22 @@ not don’t need generic params</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
index 4f77ac5..91e1f70 100644
--- a/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -396,7 +400,22 @@ to a valid Discord JSON payload.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
index a525a2a..c3015d9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -353,7 +357,22 @@ Overrides for this config may be passed as the job_flow_overrides.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
index e6a7f66..7e47acf 100644
--- a/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -354,7 +358,22 @@ Extra: {“path”: “/tmp”}</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
index 90408af..75e36cb 100644
--- a/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -549,7 +553,22 @@ file-like buffer</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
index cee45b9..6c7f0b4 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -459,7 +463,22 @@ the service account that is authorized.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
index fe2ec01..f433751 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -501,7 +505,22 @@ from.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
index ecc456e..4588041 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -414,7 +418,22 @@ asynchronous call.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
index 80939f4..7ae4b4c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -587,7 +591,22 @@ the default project_id from the GCP connection is used.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
index 3c55135..5f47424 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -504,7 +508,22 @@ individual attempt.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
index 8e5104b..7d79191 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -435,7 +439,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
index 6356d2c..c743211 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -491,7 +495,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
index 86c4a91..9f10fbd 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -1212,7 +1216,22 @@ individual attempt.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
index 3170051..7fe9ff5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -490,7 +494,22 @@ asynchronous call.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
index 328c4f1..13f83e4 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -411,7 +415,22 @@ provided when encrypting the message.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
index b6329b9..fa079dd 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -457,7 +461,22 @@ raises an error otherwise.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
index 93537e9..1f649e0 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -510,7 +514,22 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
index 57e12ee..4c1637d 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -513,7 +517,22 @@ response</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
index 95f77d0..01f8e49 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -584,7 +588,22 @@ database. If set to None or missing, the default project_id from the GCP connect
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
index 88358c1..2908431 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -387,7 +391,22 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
index db21161..60bd30b 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -907,7 +911,22 @@ that uses proxy or connects directly to the Google Cloud SQL database.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
index d48df27..8e9ad6c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -396,7 +400,22 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
index 7de2a6a..7cee9e0 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -855,7 +859,22 @@ with a state in the list,</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
index ad36a27..0d158ce 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -403,7 +407,22 @@ values and translations differ.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
index e4b4239..abda8c1 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -394,7 +398,22 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
index c4f621f..c4d3569 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -543,7 +547,22 @@ provided:</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
index 07124c5..afe06af 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -655,7 +659,22 @@ into a single object.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
index 53fb817..7b835b9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -357,7 +361,22 @@ They get formatted as shown below.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
index fe53350..dbde6e6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -597,7 +601,22 @@ where the attachments name matches the given name.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/index.html b/1.10.4/_api/airflow/contrib/hooks/index.html
index 92b2dd6..def2391 100644
--- a/1.10.4/_api/airflow/contrib/hooks/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -420,7 +424,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
index cf58804..c599dfc 100644
--- a/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -343,7 +347,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
index c74c407..7be9115 100644
--- a/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -348,7 +352,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
index 0dab6ad..dfcf188 100644
--- a/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -534,7 +538,22 @@ Can be omitted; then the database from the connection string is used.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
index c3cd60f..69165c2 100644
--- a/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -397,7 +401,22 @@ for example host : <a class="reference external" href="http://openfaas.faas.com"
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
index 075c148..7a818f8 100644
--- a/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -378,7 +382,22 @@ See <a class="reference external" href="https://docs.opsgenie.com/docs/alert-api
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
index e0381d6..955c521 100644
--- a/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,7 +409,22 @@ sql statements to execute</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
index d67a47e..597a101 100644
--- a/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -382,7 +386,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
index 51b76d5..b4cc16c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -435,7 +439,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
index 653b4c5..9b6fec5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -346,7 +350,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
index e9e4ea7..7da3777 100644
--- a/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -408,7 +412,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
index 59e192d..472bf17 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -462,7 +466,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Establish an AWS connection for SageMaker</p>
 <dl class="field-list simple">
 <dt class="field-odd">Return type</dt>
-<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SageMaker.Client</span></code></a></p>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SageMaker.Client</span></code></a></p>
 </dd>
 </dl>
 </dd></dl>
@@ -473,7 +477,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Establish an AWS connection for retrieving logs during training</p>
 <dl class="field-list simple">
 <dt class="field-odd">Return type</dt>
-<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.9.201)">CloudWatchLogs.Client</a></p>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.9.203)">CloudWatchLogs.Client</a></p>
 </dd>
 </dl>
 </dd></dl>
@@ -859,7 +863,22 @@ None implies no timeout for any SageMaker job.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
index 49dca2f..320303b 100644
--- a/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -474,7 +478,22 @@ was fetched from Salesforce.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
index 83df061..85382b2 100644
--- a/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -356,7 +360,22 @@ retrieve data from it or write to that file.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
index 61c9e18..6fa5577 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -290,16 +294,22 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>This hook is inherited from SSH hook. Please refer to SSH hook for the input
 arguments.</p>
 <p>Interact with SFTP. Aims to be interchangeable with FTPHook.</p>
-<p>:Pitfalls:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">In</span> <span class="n">contrast</span> <span class="k">with</span> <span class="n">FTPHook</span> <span class="n">describe_directory</span> <span class="n">only</span> <span class="n">returns</span> <span class="n">size</span><span class="p">,</span> <span class="nb">type</span> <span class="ow">and</span>
-  <span class="n">modify</span><span class="o">.</span> <span class="n">It</span> <span class="n">doesn</span><span class="s1">&#39;t return unix.owner, unix.mode, perm, unix.group and</span>
-  <span class="n">unique</span><span class="o">.</span>
-<span class="o">-</span> <span class="n">retrieve_file</span> <span class="ow">and</span> <span class="n">store_file</span> <span class="n">only</span> <span class="n">take</span> <span class="n">a</span> <span class="n">local</span> <span class="n">full</span> <span class="n">path</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span>
-   <span class="n">buffer</span><span class="o">.</span>
-<span class="o">-</span> <span class="n">If</span> <span class="n">no</span> <span class="n">mode</span> <span class="ow">is</span> <span class="n">passed</span> <span class="n">to</span> <span class="n">create_directory</span> <span class="n">it</span> <span class="n">will</span> <span class="n">be</span> <span class="n">created</span> <span class="k">with</span> <span class="mi">777</span>
-  <span class="n">permissions</span><span class="o">.</span>
-</pre></div>
-</div>
+<dl class="field-list simple">
+<dt class="field-odd">Pitfalls:</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p>In contrast with FTPHook describe_directory only returns size, type and
+modify. It doesn’t return unix.owner, unix.mode, perm, unix.group and
+unique.</p></li>
+<li><dl class="simple">
+<dt>retrieve_file and store_file only take a local full path and not a</dt><dd><p>buffer.</p>
+</dd>
+</dl>
+</li>
+<li><p>If no mode is passed to create_directory it will be created with 777
+permissions.</p></li>
+</ul>
+</dd>
+</dl>
 <p>Errors that may occur throughout but should be handled downstream.</p>
 <dl class="method">
 <dt id="airflow.contrib.hooks.sftp_hook.SFTPHook.get_conn">
@@ -435,7 +445,22 @@ from that location
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
index bbedb1a..7e7bf78 100644
--- a/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,7 +389,22 @@ Slack json message
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
index 68ee91a..0e30e70 100644
--- a/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -386,7 +390,22 @@ from extra</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
index 16b5e4a..32d88d8 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -419,7 +423,22 @@ types.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
index 46a7fc0..7637bc6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -351,7 +355,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
index dbf2f48..6f06f90 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -398,7 +402,22 @@ as default.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
index f194364..807c7dc 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -507,7 +511,22 @@ master failure recovery</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
index 48ea0cc..5b4b527 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -497,7 +501,22 @@ Don’t include prefix of – for sqoop options.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
index 12cd369..255fd06 100644
--- a/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,7 +405,22 @@ keepalive_interval seconds</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
index bcc832e..6db7947 100644
--- a/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -359,7 +363,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
index 15291dc..1ffd175 100644
--- a/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -482,7 +486,22 @@ blob does not exist.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
index 301f631..904c3a4 100644
--- a/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,7 +389,22 @@ protocols like TLSv1.0, default is False</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
index bb37d4b..a1b3f26 100644
--- a/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -383,7 +387,22 @@ folder in the specified ADLS account</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
index d3fac85..19d37b4 100644
--- a/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -414,7 +418,22 @@ path ``/hello/world``to the GCS bucket ``mybucket``. ::
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html b/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
index 3085efb..4daad90 100644
--- a/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -388,7 +392,22 @@ query will be pushed to an XCom when it successfuly completes.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
index d06bfb1..a9babd9 100644
--- a/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -382,7 +386,22 @@ For details of the returned dict see <code class="xref py py-meth docutils liter
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html b/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
index 7dcee31..963ac01 100644
--- a/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -418,7 +422,22 @@ Override the region_name in connection (if provided)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html b/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
index d0c214f..adbf039 100644
--- a/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -457,7 +461,22 @@ the container instance.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html b/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
index a36aa40..409383c 100644
--- a/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -368,7 +372,22 @@ It will create both the database and collection if they do not already exist</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
index c55aecf..2ff92b9 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -457,7 +461,22 @@ or standard SQL (false).</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
index 4e7736f..48ee7e5 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -397,7 +401,22 @@ delegation enabled.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
index 8981c7a..6fed0ed 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -711,7 +715,22 @@ More info:
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
index d71a725..60de55e 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -372,7 +376,22 @@ requested table does not exist.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
index 88e149f..075f622 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -388,7 +392,22 @@ passed to BigQuery</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
index d8a3305..145b859 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -391,7 +395,22 @@ passed to BigQuery</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
index 1a429d5..8491865 100644
--- a/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -505,7 +509,22 @@ each will be converted to its corresponding data type in BQ.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html b/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
index 85a4681..7c5f1c0 100644
--- a/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -699,7 +703,22 @@ unreachable. Its value must be greater than or equal to 1.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
index f17dd1d..b6bd2db 100644
--- a/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -623,7 +627,22 @@ will be returned immediately.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
index 6975f9e..6f204ba 100644
--- a/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -1011,7 +1015,22 @@ delegation enabled.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html b/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
index d967d4d..22266ba 100644
--- a/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,7 +375,22 @@ emptied prior to exports. This enables overwriting existing backups.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html b/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
index 4b7e47e..61a1d5c 100644
--- a/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -369,7 +373,22 @@ execution status again</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
index 2d417b4..1e0506d 100644
--- a/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -373,7 +377,22 @@ including text, link, markdown, actionCard, feedCard</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html b/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
index fc81eb1..d1b71ef 100644
--- a/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,7 +379,22 @@ default webhook endpoint in the extra field in the form of
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html b/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
index 64b8228..e529af8 100644
--- a/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -366,7 +370,22 @@ accepts index jobs</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
index 1757763..e182a34 100644
--- a/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -408,7 +412,22 @@ the task</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
index 4927ecf..2099beb 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,7 +375,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
index b997b2c..d59832b 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -374,7 +378,22 @@ emr_connection extra. (templated)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
index 4eb59ef..d55456e 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -370,7 +374,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
index bf9e4d0..bbe65c2 100644
--- a/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -367,7 +371,22 @@ Optionally can compress the file for upload.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html b/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
index a7df366..8eab3dd 100644
--- a/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -365,7 +369,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
index 33eb713..635f950 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -616,7 +620,22 @@ No exception will be raised if the instance or the table does not exist.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
index e79f774..571d83a 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -450,7 +454,22 @@ See: <a class="reference external" href="https://cloud.google.com/cloud-build/do
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
index e4f8dde..532e6c2 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -600,7 +604,22 @@ Defaults to False.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
index 8ad9d08..25a28bc 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -535,7 +539,22 @@ key_path, etc. They get formatted as shown below.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
index 0e2119a..ffc911d 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -1531,7 +1535,22 @@ individual attempt.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
index 2786793..9abcda4 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -555,7 +559,22 @@ the pattern: <cite>^projects/[^/]+/locations/[^/]+/functions/[^/]+$</cite></p></
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
index d247697..9606e38 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -490,7 +494,22 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
index 69f6155..5683b16 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -593,7 +597,22 @@ Database.  If set to None or missing, the default project_id from the GCP connec
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
index c304830..cca4a15 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -381,7 +385,22 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
index bd4449e..429e80f 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -827,7 +831,22 @@ details on how to define gcpcloudsql:// connection.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
index ec5cb77..8d085b8 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,7 +389,22 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
index 8179ab7..052dcbc 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -890,7 +894,22 @@ With two additional improvements:</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
index 14396ee..c5a011f 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -388,7 +392,22 @@ as <code class="docutils literal notranslate"><span class="pre">'base'</span></c
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
index 66a1ceb..8ded9a8 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,7 +405,22 @@ Platform. Defaults to ‘google_cloud_default’.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
index b2f16dd..f84da82 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -467,7 +471,22 @@ Platform. Defaults to <code class="docutils literal notranslate"><span class="pr
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
index 4fcc2e9..ab127a3 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -1073,7 +1077,22 @@ specified, requests will not be retried.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
index 9b98080..a494b6a 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -416,7 +420,22 @@ connecting to Google Cloud Storage.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
index 7c06d41..29d48d1 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -370,7 +374,22 @@ domain-wide delegation enabled.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
index f25f026..fc35a78 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -378,7 +382,22 @@ domain-wide delegation enabled.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
index 9348037..f3c1692 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -392,7 +396,22 @@ folder in <code class="docutils literal notranslate"><span class="pre">data</spa
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
index 87cf16e..2727dba 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -414,7 +418,22 @@ with <code class="docutils literal notranslate"><span class="pre">MULTI_REGIONAL
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
index 198c1e7..d5d876c 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -444,7 +448,22 @@ It is suggested to set to True if table are create outside of Airflow.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
index 0a3b62f..7ad295c 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -447,7 +451,22 @@ process.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
index 06cdbfc..ad23e1f 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,7 +405,22 @@ in the destination bucket.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html b/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
index 70d54f6..af380cd 100644
--- a/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,7 +409,22 @@ More info: <a class="reference external" href="https://www.hipchat.com/docs/apiv
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html b/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
index 1a2ff23..b1819fc 100644
--- a/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -380,7 +384,22 @@ be used for smallish amount of data.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html b/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
index 66aeb7f..fd01a19 100644
--- a/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,7 +375,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/index.html b/1.10.4/_api/airflow/contrib/operators/index.html
index a6cd37f..902b243 100644
--- a/1.10.4/_api/airflow/contrib/operators/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -449,7 +453,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html b/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
index 057cd1a..21809fa 100644
--- a/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -450,7 +454,22 @@ and the field ‘number’ then contains the build number.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html b/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
index 722dd5f..0baa1b6 100644
--- a/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -365,7 +369,22 @@ on which the provided jira_method will be executed</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html b/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
index 9b2bb66..d23bbd9 100644
--- a/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -408,7 +412,22 @@ pod runtime information (ip, namespace, nodeName, podName)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html b/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
index 0946945..7289214 100644
--- a/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -592,7 +596,22 @@ creation request will be issued.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html b/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
index 8391a1c..1ce5d67 100644
--- a/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -381,7 +385,22 @@ needs to be passed through</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
index fef0fa6..6c70f6c 100644
--- a/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,7 +405,22 @@ JSON/Google Cloud Storage/BigQuery.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
index 4478fb2..1053caf 100644
--- a/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -398,7 +402,22 @@ date type documentation: <a class="reference external" href="https://cloud.googl
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html b/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
index 1940ed7..b53370d 100644
--- a/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -394,7 +398,22 @@ to a valid Opsgenie JSON payload.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html b/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
index f14e4a7..403d1ad 100644
--- a/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -379,7 +383,22 @@ Oracle and stores the file locally before loading it into Azure Data Lake.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html b/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
index 499a3f5..d7f3568 100644
--- a/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,7 +379,22 @@ database. (templated)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
index 1fd2ee1..2fae133 100644
--- a/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -383,7 +387,22 @@ Decimals are converted to floats. Times are converted to seconds.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html b/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
index 13eaef8..0232d7c 100644
--- a/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -576,7 +580,22 @@ variables in them.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html b/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
index 14928af..7568c44 100644
--- a/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -522,7 +526,22 @@ QuboleOperator and ValueCheckOperator are template-supported.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html b/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
index ab42362..eaa5731 100644
--- a/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -673,7 +677,22 @@ double or single quotes</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
index 1aa28af..48300e1 100644
--- a/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -367,7 +371,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
index a69b831..4d7400a 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -393,7 +397,22 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
index bf14eda..f344a6b 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -387,7 +391,22 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
index 6a3ffc0..28984ea 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -403,7 +407,22 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
index 4fa285a..1be3d1f 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -414,7 +418,22 @@ templated, so you can use variables in them if you wish.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
index 96b63ad..e2b0342 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,7 +379,22 @@ regardless of how the S3 url is passed.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
index be7f968..c42cf2a 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -395,7 +399,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
index da9259f..40488f4 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -297,7 +301,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to create an endpoint config.</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 </ul>
@@ -363,7 +367,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
index 848a7c9..cad6a4a 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -311,11 +315,11 @@ SageMaker model and an existed SageMaker endpoint config:</p>
 </pre></div>
 </div>
 <p>For details of the configuration parameter of model_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 <p>For details of the configuration parameter of endpoint_config_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
 <p>For details of the configuration parameter of endpoint_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether the operator should wait until the endpoint creation finishes.</p></li>
@@ -392,7 +396,22 @@ finish within max_ingestion_time seconds. If you set this parameter to None it n
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
index 4e6f973..a6fae45 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -297,7 +301,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to create a model.</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 </ul>
@@ -363,7 +367,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
index ed87387..c8c1761 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -297,7 +301,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to start a training job (templated).</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_training_job()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_training_job()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If wait is set to True, the time interval, in seconds,
@@ -376,7 +380,22 @@ the operation does not timeout.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
index 67f1290..34b4ab4 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -309,9 +313,9 @@ https://www.sphinx-doc.org/en/master/templating.html
 </pre></div>
 </div>
 <p>For details of the configuration parameter of transform_config see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_transform_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_transform_job()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_transform_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_transform_job()</span></code></a></p>
 <p>For details of the configuration parameter of model_config, See:
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<em>string</em>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Set to True to wait until the transform job finishes.</p></li>
@@ -388,7 +392,22 @@ set this parameter to None, the operation does not timeout.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
index e267174..318fffa 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -298,7 +302,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to start a tuning job (templated).</p>
 <p>For details of the configuration parameter see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_hyper_parameter_tuning_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_hyper_parameter_tuning_job()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_hyper_parameter_tuning_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_hyper_parameter_tuning_job()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Set to True to wait until the tuning job finishes.</p></li>
@@ -375,7 +379,22 @@ set this parameter to None, the operation does not timeout.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html b/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
index 0cec2a8..95f42d5 100644
--- a/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -369,7 +373,22 @@ Defaults to False</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
index c86851e..cb55cd9 100644
--- a/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -423,7 +427,22 @@ does not exist.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
index f129711..42ee9ac 100644
--- a/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -376,7 +380,22 @@ regardless of how the S3 url is passed.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html b/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
index 46ac7dd..cea7010 100644
--- a/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,7 +379,22 @@ message</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html b/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
index 1d71eea..3a38aee 100644
--- a/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,7 +389,22 @@ connection’s extra JSON)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
index 7531f5b..3346288 100644
--- a/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -366,7 +370,22 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
index ed50f04..fc7b904 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -416,7 +420,22 @@ types.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
index ef79f2e..2f68bd0 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -383,7 +387,22 @@ executor (Default: 2)</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
index 997978b..c2f8a3a 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -402,7 +406,22 @@ Some distros may use spark2-submit.</p></li>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
index df72602..3ebc862 100644
--- a/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -472,7 +476,22 @@ Google cloud storage.</p>
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
index e6ad31a..501d329 100644
--- a/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
   <style>
     .example-header {
       position: relative;
@@ -367,7 +371,22 @@ Documentation for Apache Sqoop can be found here:
   
   
     
-   
+  
+ 
+<div class="footer">This page uses <a href="https://analytics.google.com/">
+Google Analytics</a> to collect statistics. You can disable it by blocking
+the JavaScript coming from www.google-analytics.com.
+<script type="text/javascript">
+  (function() {
+    var ga = document.createElement('script');
+    ga.src = ('https:' == document.location.protocol ?
+              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    ga.setAttribute('async', 'true');
+    document.documentElement.firstChild.appendChild(ga);
+  })();
+</script>
+</div>
+
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html b/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
index d543eb5..730930f 100644
--- a/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
@@ -1,7 +1,6 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
-
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -63,6 +62,11 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
... 62028 lines suppressed ...


[airflow-site] 24/30: Remove HTML comments from the beginning of the files #4

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 5ece44f7647e36b78d02cafb25508449e46babee
Merge: fe653b7 7ce94b0
Author: Kamil Breguła <mi...@users.noreply.github.com>
AuthorDate: Fri Sep 13 13:13:46 2019 +0200

    Remove HTML comments from the beginning of the files #4

 1.10.3/_api/airflow/contrib/executors/index.html            | 12 +-----------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.3/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.3/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.3/_api/airflow/executors/index.html                    |  8 +-------
 1.10.3/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.3/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.3/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.3/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.3/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.3/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.3/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.3/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.3/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.3/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.3/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.3/_api/airflow/models/index.html                       |  8 +-------
 1.10.3/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.3/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.3/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.3/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.3/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.3/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.3/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.3/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.3/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/index.html                    |  8 +-------
 1.10.3/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.3/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.3/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.3/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.3/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.3/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.3/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.3/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.3/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.3/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.3/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.3/_api/index.html                                      |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 1.10.3/_modules/airflow/dag/base_dag.html                   |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.3/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.3/_modules/airflow/executors.html                      |  8 +-------
 1.10.3/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.3/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.3/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.3/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.3/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.3/_modules/airflow/hooks.html                          |  8 +-------
 1.10.3/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.3/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.3/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.3/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.3/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.3/_modules/airflow/lineage.html                        |  8 +-------
 1.10.3/_modules/airflow/macros.html                         |  8 +-------
 1.10.3/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.3/_modules/airflow/models.html                         |  8 +-------
 1.10.3/_modules/airflow/models/base.html                    |  8 +-------
 1.10.3/_modules/airflow/models/connection.html              |  8 +-------
 1.10.3/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.3/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.3/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.3/_modules/airflow/models/log.html                     |  8 +-------
 1.10.3/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.3/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.3/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.3/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.3/_modules/airflow/operators.html                      |  8 +-------
 1.10.3/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.3/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.3/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.3/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.3/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.3/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.3/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.3/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.3/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.3/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.3/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.3/_modules/airflow/sensors.html                        |  8 +-------
 1.10.3/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.3/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.3/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.3/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.3/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.3/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.3/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.3/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/ti_deps/dep_context.html            |  8 +-------
 .../airflow/ti_deps/deps/not_in_retry_period_dep.html       |  8 +-------
 1.10.3/_modules/airflow/ti_deps/deps/prev_dagrun_dep.html   |  8 +-------
 1.10.3/_modules/airflow/ti_deps/deps/trigger_rule_dep.html  |  8 +-------
 1.10.3/_modules/airflow/utils/dag_processing.html           |  8 +-------
 1.10.3/_modules/airflow/utils/dates.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/db.html                       |  8 +-------
 1.10.3/_modules/airflow/utils/decorators.html               |  8 +-------
 1.10.3/_modules/airflow/utils/email.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/helpers.html                  |  8 +-------
 1.10.3/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.3/_modules/airflow/utils/net.html                      |  8 +-------
 1.10.3/_modules/airflow/utils/operator_resources.html       |  8 +-------
 1.10.3/_modules/airflow/utils/sqlalchemy.html               |  8 +-------
 1.10.3/_modules/airflow/utils/state.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/timeout.html                  |  8 +-------
 1.10.3/_modules/airflow/utils/trigger_rule.html             |  8 +-------
 1.10.3/_modules/airflow/utils/weight_rule.html              |  8 +-------
 1.10.3/_modules/index.html                                  |  8 +-------
 1.10.3/api.html                                             |  8 +-------
 1.10.3/changelog.html                                       |  8 +-------
 1.10.3/cli.html                                             |  8 +-------
 1.10.3/concepts.html                                        |  8 +-------
 1.10.3/faq.html                                             |  8 +-------
 1.10.3/genindex.html                                        |  8 +-------
 1.10.3/howto/check-health.html                              |  8 +-------
 1.10.3/howto/connection/aws.html                            |  8 +-------
 1.10.3/howto/connection/gcp.html                            |  8 +-------
 1.10.3/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.3/howto/connection/index.html                          |  8 +-------
 1.10.3/howto/connection/mysql.html                          |  8 +-------
 1.10.3/howto/connection/oracle.html                         |  8 +-------
 1.10.3/howto/connection/postgres.html                       |  8 +-------
 1.10.3/howto/connection/ssh.html                            |  8 +-------
 1.10.3/howto/executor/use-celery.html                       |  8 +-------
 1.10.3/howto/executor/use-dask.html                         |  8 +-------
 1.10.3/howto/executor/use-mesos.html                        |  8 +-------
 1.10.3/howto/index.html                                     |  8 +-------
 1.10.3/howto/initialize-database.html                       |  8 +-------
 1.10.3/howto/operator/bash.html                             |  8 +-------
 1.10.3/howto/operator/dingding.html                         |  8 +-------
 1.10.3/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.3/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.3/howto/operator/gcp/function.html                     |  8 +-------
 1.10.3/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.3/howto/operator/gcp/index.html                        |  8 +-------
 1.10.3/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.3/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.3/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.3/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.3/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.3/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.3/howto/operator/index.html                            |  8 +-------
 1.10.3/howto/operator/python.html                           |  8 +-------
 1.10.3/howto/run-behind-proxy.html                          |  8 +-------
 1.10.3/howto/run-with-systemd.html                          |  8 +-------
 1.10.3/howto/run-with-upstart.html                          |  8 +-------
 1.10.3/howto/secure-connections.html                        |  8 +-------
 1.10.3/howto/set-config.html                                |  8 +-------
 1.10.3/howto/use-test-config.html                           |  8 +-------
 1.10.3/howto/write-logs.html                                |  8 +-------
 1.10.3/http-routingtable.html                               |  8 +-------
 1.10.3/index.html                                           |  8 +-------
 1.10.3/installation.html                                    |  8 +-------
 1.10.3/integration.html                                     |  8 +-------
 1.10.3/kubernetes.html                                      |  8 +-------
 1.10.3/license.html                                         |  8 +-------
 1.10.3/lineage.html                                         |  8 +-------
 1.10.3/macros.html                                          |  8 +-------
 1.10.3/metrics.html                                         |  8 +-------
 1.10.3/plugins.html                                         |  8 +-------
 1.10.3/profiling.html                                       |  8 +-------
 1.10.3/project.html                                         |  8 +-------
 1.10.3/py-modindex.html                                     |  8 +-------
 1.10.3/scheduler.html                                       |  8 +-------
 1.10.3/search.html                                          |  8 +-------
 1.10.3/security.html                                        |  8 +-------
 1.10.3/start.html                                           |  8 +-------
 1.10.3/timezone.html                                        |  8 +-------
 1.10.3/tutorial.html                                        |  8 +-------
 1.10.3/ui.html                                              |  8 +-------
 1.10.4/_api/airflow/contrib/executors/index.html            |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mssql_to_gcs/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/aws_sqs_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.4/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.4/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.4/_api/airflow/executors/index.html                    |  8 +-------
 1.10.4/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.4/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.4/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.4/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.4/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.4/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.4/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.4/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/baseoperator/index.html          |  8 +-------
 1.10.4/_api/airflow/models/chart/index.html                 |  8 +-------
 1.10.4/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.4/_api/airflow/models/crypto/index.html                |  8 +-------
 1.10.4/_api/airflow/models/dag/index.html                   |  8 +-------
 1.10.4/_api/airflow/models/dagbag/index.html                |  8 +-------
 1.10.4/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.4/_api/airflow/models/dagrun/index.html                |  8 +-------
 1.10.4/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.4/_api/airflow/models/index.html                       |  8 +-------
 1.10.4/_api/airflow/models/knownevent/index.html            |  8 +-------
 1.10.4/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.4/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.4/_api/airflow/models/pool/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.4/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.4/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.4/_api/airflow/models/taskinstance/index.html          |  8 +-------
 1.10.4/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.4/_api/airflow/models/user/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/variable/index.html              |  8 +-------
 1.10.4/_api/airflow/models/xcom/index.html                  |  8 +-------
 1.10.4/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/branch_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.4/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.4/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/index.html                    |  8 +-------
 1.10.4/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.4/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.4/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.4/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.4/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.4/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.4/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.4/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.4/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.4/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.4/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.4/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.4/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.4/_api/index.html                                      |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_sqs_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_dlp_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 .../airflow/contrib/hooks/gcp_speech_to_text_hook.html      |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../airflow/contrib/hooks/gcp_text_to_speech_hook.html      |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/grpc_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_delete_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mssql_to_gcs.html |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/sql_to_gcs.html   |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/aws_sqs_sensor.html |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.4/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.4/_modules/airflow/executors.html                      |  8 +-------
 1.10.4/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.4/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.4/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.4/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.4/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.4/_modules/airflow/hooks.html                          |  8 +-------
 1.10.4/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.4/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.4/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.4/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.4/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.4/_modules/airflow/macros.html                         |  8 +-------
 1.10.4/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.4/_modules/airflow/models.html                         |  8 +-------
 1.10.4/_modules/airflow/models/base.html                    |  8 +-------
 1.10.4/_modules/airflow/models/baseoperator.html            |  8 +-------
 1.10.4/_modules/airflow/models/chart.html                   |  8 +-------
 1.10.4/_modules/airflow/models/connection.html              |  8 +-------
 1.10.4/_modules/airflow/models/crypto.html                  |  8 +-------
 1.10.4/_modules/airflow/models/dag.html                     |  8 +-------
 1.10.4/_modules/airflow/models/dagbag.html                  |  8 +-------
 1.10.4/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.4/_modules/airflow/models/dagrun.html                  |  8 +-------
 1.10.4/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.4/_modules/airflow/models/knownevent.html              |  8 +-------
 1.10.4/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.4/_modules/airflow/models/log.html                     |  8 +-------
 1.10.4/_modules/airflow/models/pool.html                    |  8 +-------
 1.10.4/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.4/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.4/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.4/_modules/airflow/models/taskinstance.html            |  8 +-------
 1.10.4/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.4/_modules/airflow/models/user.html                    |  8 +-------
 1.10.4/_modules/airflow/models/variable.html                |  8 +-------
 1.10.4/_modules/airflow/models/xcom.html                    |  8 +-------
 1.10.4/_modules/airflow/operators.html                      |  8 +-------
 1.10.4/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/branch_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.4/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.4/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.4/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.4/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.4/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.4/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.4/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.4/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.4/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.4/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.4/_modules/airflow/sensors.html                        |  8 +-------
 1.10.4/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.4/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.4/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.4/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.4/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.4/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.4/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.4/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.4/_modules/index.html                                  |  8 +-------
 1.10.4/api.html                                             |  8 +-------
 1.10.4/changelog.html                                       |  8 +-------
 1.10.4/cli.html                                             |  8 +-------
 1.10.4/concepts.html                                        |  8 +-------
 1.10.4/faq.html                                             |  8 +-------
 1.10.4/genindex.html                                        |  8 +-------
 1.10.4/howto/check-health.html                              |  8 +-------
 1.10.4/howto/connection/aws.html                            |  8 +-------
 1.10.4/howto/connection/gcp.html                            |  8 +-------
 1.10.4/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.4/howto/connection/grpc.html                           |  8 +-------
 1.10.4/howto/connection/index.html                          |  8 +-------
 1.10.4/howto/connection/mysql.html                          |  8 +-------
 1.10.4/howto/connection/oracle.html                         |  8 +-------
 1.10.4/howto/connection/postgres.html                       |  8 +-------
 1.10.4/howto/connection/ssh.html                            |  8 +-------
 1.10.4/howto/define_extra_link.html                         |  8 +-------
 1.10.4/howto/executor/use-celery.html                       |  8 +-------
 1.10.4/howto/executor/use-dask.html                         |  8 +-------
 1.10.4/howto/executor/use-mesos.html                        |  8 +-------
 1.10.4/howto/index.html                                     |  8 +-------
 1.10.4/howto/initialize-database.html                       |  8 +-------
 1.10.4/howto/operator/bash.html                             |  8 +-------
 1.10.4/howto/operator/dingding.html                         |  8 +-------
 1.10.4/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.4/howto/operator/gcp/cloud_build.html                  |  8 +-------
 1.10.4/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.4/howto/operator/gcp/function.html                     |  8 +-------
 1.10.4/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.4/howto/operator/gcp/index.html                        |  8 +-------
 1.10.4/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.4/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.4/howto/operator/gcp/speech.html                       |  8 +-------
 1.10.4/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.4/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.4/howto/operator/gcp/translate-speech.html             |  8 +-------
 1.10.4/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.4/howto/operator/gcp/video.html                        |  8 +-------
 1.10.4/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.4/howto/operator/index.html                            |  8 +-------
 1.10.4/howto/operator/python.html                           |  8 +-------
 1.10.4/howto/run-behind-proxy.html                          |  8 +-------
 1.10.4/howto/run-with-systemd.html                          |  8 +-------
 1.10.4/howto/run-with-upstart.html                          |  8 +-------
 1.10.4/howto/secure-connections.html                        |  8 +-------
 1.10.4/howto/set-config.html                                |  8 +-------
 1.10.4/howto/use-test-config.html                           |  8 +-------
 1.10.4/howto/write-logs.html                                |  8 +-------
 1.10.4/http-routingtable.html                               |  8 +-------
 1.10.4/index.html                                           |  8 +-------
 1.10.4/installation.html                                    |  8 +-------
 1.10.4/integration.html                                     |  8 +-------
 1.10.4/kubernetes.html                                      |  8 +-------
 1.10.4/license.html                                         |  8 +-------
 1.10.4/lineage.html                                         |  8 +-------
 1.10.4/macros.html                                          |  8 +-------
 1.10.4/metrics.html                                         |  8 +-------
 1.10.4/plugins.html                                         |  8 +-------
 1.10.4/profiling.html                                       |  8 +-------
 1.10.4/project.html                                         |  8 +-------
 1.10.4/py-modindex.html                                     |  8 +-------
 1.10.4/scheduler.html                                       |  8 +-------
 1.10.4/search.html                                          |  8 +-------
 1.10.4/security.html                                        |  8 +-------
 1.10.4/start.html                                           |  8 +-------
 1.10.4/timezone.html                                        |  8 +-------
 1.10.4/tutorial.html                                        |  8 +-------
 1.10.4/ui.html                                              |  8 +-------
 1.10.5/_api/airflow/contrib/executors/index.html            |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mssql_to_gcs/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/aws_sqs_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.5/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.5/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.5/_api/airflow/executors/index.html                    |  8 +-------
 1.10.5/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.5/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.5/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.5/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.5/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.5/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.5/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.5/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/baseoperator/index.html          |  8 +-------
 1.10.5/_api/airflow/models/chart/index.html                 |  8 +-------
 1.10.5/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.5/_api/airflow/models/crypto/index.html                |  8 +-------
 1.10.5/_api/airflow/models/dag/index.html                   |  8 +-------
 1.10.5/_api/airflow/models/dagbag/index.html                |  8 +-------
 1.10.5/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.5/_api/airflow/models/dagrun/index.html                |  8 +-------
 1.10.5/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.5/_api/airflow/models/index.html                       |  8 +-------
 1.10.5/_api/airflow/models/knownevent/index.html            |  8 +-------
 1.10.5/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.5/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.5/_api/airflow/models/pool/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.5/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.5/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.5/_api/airflow/models/taskinstance/index.html          |  8 +-------
 1.10.5/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.5/_api/airflow/models/user/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/variable/index.html              |  8 +-------
 1.10.5/_api/airflow/models/xcom/index.html                  |  8 +-------
 1.10.5/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/branch_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.5/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.5/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/index.html                    |  8 +-------
 1.10.5/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.5/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.5/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.5/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.5/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.5/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.5/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.5/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.5/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.5/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.5/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.5/_api/index.html                                      |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 .../airflow/contrib/hooks/gcp_speech_to_text_hook.html      |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../airflow/contrib/hooks/gcp_text_to_speech_hook.html      |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_delete_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mssql_to_gcs.html |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/sql_to_gcs.html   |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/aws_sqs_sensor.html |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.5/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.5/_modules/airflow/executors.html                      |  8 +-------
 1.10.5/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.5/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.5/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.5/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.5/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.5/_modules/airflow/hooks.html                          |  8 +-------
 1.10.5/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.5/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.5/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.5/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.5/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.5/_modules/airflow/macros.html                         |  8 +-------
 1.10.5/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.5/_modules/airflow/models.html                         |  8 +-------
 1.10.5/_modules/airflow/models/base.html                    |  8 +-------
 1.10.5/_modules/airflow/models/baseoperator.html            |  8 +-------
 1.10.5/_modules/airflow/models/chart.html                   |  8 +-------
 1.10.5/_modules/airflow/models/connection.html              |  8 +-------
 1.10.5/_modules/airflow/models/crypto.html                  |  8 +-------
 1.10.5/_modules/airflow/models/dag.html                     |  8 +-------
 1.10.5/_modules/airflow/models/dagbag.html                  |  8 +-------
 1.10.5/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.5/_modules/airflow/models/dagrun.html                  |  8 +-------
 1.10.5/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.5/_modules/airflow/models/knownevent.html              |  8 +-------
 1.10.5/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.5/_modules/airflow/models/log.html                     |  8 +-------
 1.10.5/_modules/airflow/models/pool.html                    |  8 +-------
 1.10.5/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.5/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.5/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.5/_modules/airflow/models/taskinstance.html            |  8 +-------
 1.10.5/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.5/_modules/airflow/models/user.html                    |  8 +-------
 1.10.5/_modules/airflow/models/variable.html                |  8 +-------
 1.10.5/_modules/airflow/models/xcom.html                    |  8 +-------
 1.10.5/_modules/airflow/operators.html                      |  8 +-------
 1.10.5/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/branch_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.5/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.5/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.5/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.5/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.5/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.5/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.5/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.5/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.5/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.5/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.5/_modules/airflow/sensors.html                        |  8 +-------
 1.10.5/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.5/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.5/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.5/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.5/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.5/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.5/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.5/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.5/_modules/index.html                                  |  8 +-------
 1.10.5/api.html                                             |  8 +-------
 1.10.5/changelog.html                                       |  8 +-------
 1.10.5/cli.html                                             |  8 +-------
 1.10.5/concepts.html                                        |  8 +-------
 1.10.5/faq.html                                             |  8 +-------
 1.10.5/genindex.html                                        |  8 +-------
 1.10.5/howto/check-health.html                              |  8 +-------
 1.10.5/howto/connection/aws.html                            |  8 +-------
 1.10.5/howto/connection/gcp.html                            |  8 +-------
 1.10.5/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.5/howto/connection/grpc.html                           |  8 +-------
 1.10.5/howto/connection/index.html                          |  8 +-------
 1.10.5/howto/connection/mysql.html                          |  8 +-------
 1.10.5/howto/connection/oracle.html                         |  8 +-------
 1.10.5/howto/connection/postgres.html                       |  8 +-------
 1.10.5/howto/connection/ssh.html                            |  8 +-------
 1.10.5/howto/define_extra_link.html                         |  8 +-------
 1.10.5/howto/executor/use-celery.html                       |  8 +-------
 1.10.5/howto/executor/use-dask.html                         |  8 +-------
 1.10.5/howto/executor/use-mesos.html                        |  8 +-------
 1.10.5/howto/index.html                                     |  8 +-------
 1.10.5/howto/initialize-database.html                       |  8 +-------
 1.10.5/howto/operator/bash.html                             |  8 +-------
 1.10.5/howto/operator/dingding.html                         |  8 +-------
 1.10.5/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.5/howto/operator/gcp/cloud_build.html                  |  8 +-------
 1.10.5/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.5/howto/operator/gcp/function.html                     |  8 +-------
 1.10.5/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.5/howto/operator/gcp/index.html                        |  8 +-------
 1.10.5/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.5/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.5/howto/operator/gcp/speech.html                       |  8 +-------
 1.10.5/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.5/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.5/howto/operator/gcp/translate-speech.html             |  8 +-------
 1.10.5/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.5/howto/operator/gcp/video.html                        |  8 +-------
 1.10.5/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.5/howto/operator/index.html                            |  8 +-------
 1.10.5/howto/operator/python.html                           |  8 +-------
 1.10.5/howto/run-behind-proxy.html                          |  8 +-------
 1.10.5/howto/run-with-systemd.html                          |  8 +-------
 1.10.5/howto/run-with-upstart.html                          |  8 +-------
 1.10.5/howto/secure-connections.html                        |  8 +-------
 1.10.5/howto/set-config.html                                |  8 +-------
 1.10.5/howto/tracking-user-activity.html                    |  8 +-------
 1.10.5/howto/use-test-config.html                           |  8 +-------
 1.10.5/howto/write-logs.html                                |  8 +-------
 1.10.5/http-routingtable.html                               |  8 +-------
 1.10.5/index.html                                           |  8 +-------
 1.10.5/installation.html                                    |  8 +-------
 1.10.5/integration.html                                     |  8 +-------
 1.10.5/kubernetes.html                                      |  8 +-------
 1.10.5/license.html                                         |  8 +-------
 1.10.5/lineage.html                                         |  8 +-------
 1.10.5/macros.html                                          |  8 +-------
 1.10.5/metrics.html                                         |  8 +-------
 1.10.5/plugins.html                                         |  8 +-------
 1.10.5/privacy_notice.html                                  |  8 +-------
 1.10.5/profiling.html                                       |  8 +-------
 1.10.5/project.html                                         |  8 +-------
 1.10.5/py-modindex.html                                     |  8 +-------
 1.10.5/scheduler.html                                       |  8 +-------
 1.10.5/search.html                                          |  8 +-------
 1.10.5/security.html                                        |  8 +-------
 1.10.5/start.html                                           |  8 +-------
 1.10.5/timezone.html                                        |  8 +-------
 1.10.5/tutorial.html                                        |  8 +-------
 1.10.5/ui.html                                              |  8 +-------
 _api/airflow/contrib/executors/index.html                   |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 _api/airflow/contrib/executors/mesos_executor/index.html    |  8 +-------
 _api/airflow/contrib/hooks/aws_athena_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/aws_dynamodb_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/aws_firehose_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html |  8 +-------
 _api/airflow/contrib/hooks/aws_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/aws_lambda_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/aws_logs_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/aws_sns_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html          |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/azure_cosmos_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/azure_data_lake_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/azure_fileshare_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/bigquery_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/cassandra_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/cloudant_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/databricks_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/datadog_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/datastore_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/dingding_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/discord_webhook_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/emr_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/fs_hook/index.html               |  8 +-------
 _api/airflow/contrib/hooks/ftp_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/gcp_api_base_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_bigtable_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/gcp_compute_hook/index.html      |  8 +-------
 _api/airflow/contrib/hooks/gcp_container_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/gcp_dataflow_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_dataproc_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/gcp_function_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/gcp_mlengine_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 _api/airflow/contrib/hooks/gcp_pubsub_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/gcp_spanner_hook/index.html      |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html          |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/gcp_transfer_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_translate_hook/index.html    |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/gcp_vision_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/gcs_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/grpc_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/imap_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/index.html                       |  8 +-------
 _api/airflow/contrib/hooks/jenkins_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/jira_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/mongo_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/openfaas_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/opsgenie_alert_hook/index.html   |  8 +-------
 _api/airflow/contrib/hooks/pinot_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/qubole_check_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/qubole_hook/index.html           |  8 +-------
 _api/airflow/contrib/hooks/redis_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/redshift_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/sagemaker_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/salesforce_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/segment_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/sftp_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/slack_webhook_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/snowflake_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/spark_jdbc_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/spark_jdbc_script/index.html     |  8 +-------
 _api/airflow/contrib/hooks/spark_sql_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/spark_submit_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/sqoop_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/ssh_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/vertica_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/wasb_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/winrm_hook/index.html            |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/adls_to_gcs/index.html       |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/awsbatch_operator/index.html |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/bigquery_get_data/index.html |  8 +-------
 _api/airflow/contrib/operators/bigquery_operator/index.html |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 _api/airflow/contrib/operators/bigquery_to_gcs/index.html   |  8 +-------
 _api/airflow/contrib/operators/cassandra_to_gcs/index.html  |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/dataflow_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/dataproc_operator/index.html |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/dingding_operator/index.html |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/druid_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/ecs_operator/index.html      |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/file_to_gcs/index.html       |  8 +-------
 _api/airflow/contrib/operators/file_to_wasb/index.html      |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 _api/airflow/contrib/operators/gcp_dlp_operator/index.html  |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcp_sql_operator/index.html  |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcs_acl_operator/index.html  |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/gcs_list_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/gcs_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/gcs_to_bq/index.html         |  8 +-------
 _api/airflow/contrib/operators/gcs_to_gcs/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcs_to_s3/index.html         |  8 +-------
 _api/airflow/contrib/operators/hipchat_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/hive_to_dynamodb/index.html  |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 _api/airflow/contrib/operators/index.html                   |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 _api/airflow/contrib/operators/jira_operator/index.html     |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/mlengine_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/mongo_to_s3/index.html       |  8 +-------
 _api/airflow/contrib/operators/mssql_to_gcs/index.html      |  8 +-------
 _api/airflow/contrib/operators/mysql_to_gcs/index.html      |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/pubsub_operator/index.html   |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      | 10 ++--------
 _api/airflow/contrib/operators/qubole_operator/index.html   |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/s3_list_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 _api/airflow/contrib/operators/sftp_operator/index.html     |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/sql_to_gcs/index.html        |  8 +-------
 _api/airflow/contrib/operators/sqoop_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/ssh_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/vertica_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/vertica_to_hive/index.html   |  8 +-------
 _api/airflow/contrib/operators/vertica_to_mysql/index.html  |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/winrm_operator/index.html    |  8 +-------
 _api/airflow/contrib/sensors/aws_athena_sensor/index.html   |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 _api/airflow/contrib/sensors/aws_sqs_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/azure_cosmos_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/bash_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/bigquery_sensor/index.html     |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/datadog_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/emr_base_sensor/index.html     |  8 +-------
 _api/airflow/contrib/sensors/emr_job_flow_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/emr_step_sensor/index.html     |  8 +-------
 _api/airflow/contrib/sensors/file_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/ftp_sensor/index.html          |  8 +-------
 _api/airflow/contrib/sensors/gcp_transfer_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/gcs_sensor/index.html          |  8 +-------
 _api/airflow/contrib/sensors/hdfs_sensor/index.html         |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/index.html                     |  8 +-------
 _api/airflow/contrib/sensors/jira_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/mongo_sensor/index.html        |  8 +-------
 _api/airflow/contrib/sensors/pubsub_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/python_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/qubole_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/redis_key_sensor/index.html    |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/sftp_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/wasb_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/weekday_sensor/index.html      |  8 +-------
 _api/airflow/executors/base_executor/index.html             |  8 +-------
 _api/airflow/executors/celery_executor/index.html           |  8 +-------
 _api/airflow/executors/dask_executor/index.html             |  8 +-------
 _api/airflow/executors/index.html                           |  8 +-------
 _api/airflow/executors/local_executor/index.html            |  8 +-------
 _api/airflow/executors/sequential_executor/index.html       |  8 +-------
 _api/airflow/hooks/S3_hook/index.html                       |  8 +-------
 _api/airflow/hooks/base_hook/index.html                     |  8 +-------
 _api/airflow/hooks/dbapi_hook/index.html                    |  8 +-------
 _api/airflow/hooks/docker_hook/index.html                   |  8 +-------
 _api/airflow/hooks/druid_hook/index.html                    |  8 +-------
 _api/airflow/hooks/hdfs_hook/index.html                     |  8 +-------
 _api/airflow/hooks/hive_hooks/index.html                    |  8 +-------
 _api/airflow/hooks/http_hook/index.html                     |  8 +-------
 _api/airflow/hooks/index.html                               |  8 +-------
 _api/airflow/hooks/jdbc_hook/index.html                     |  8 +-------
 _api/airflow/hooks/mssql_hook/index.html                    |  8 +-------
 _api/airflow/hooks/mysql_hook/index.html                    |  8 +-------
 _api/airflow/hooks/oracle_hook/index.html                   |  8 +-------
 _api/airflow/hooks/pig_hook/index.html                      |  8 +-------
 _api/airflow/hooks/postgres_hook/index.html                 |  8 +-------
 _api/airflow/hooks/presto_hook/index.html                   |  8 +-------
 _api/airflow/hooks/samba_hook/index.html                    |  8 +-------
 _api/airflow/hooks/slack_hook/index.html                    |  8 +-------
 _api/airflow/hooks/sqlite_hook/index.html                   |  8 +-------
 _api/airflow/hooks/webhdfs_hook/index.html                  |  8 +-------
 _api/airflow/hooks/zendesk_hook/index.html                  |  8 +-------
 _api/airflow/models/base/index.html                         |  8 +-------
 _api/airflow/models/baseoperator/index.html                 |  8 +-------
 _api/airflow/models/chart/index.html                        |  8 +-------
 _api/airflow/models/connection/index.html                   |  8 +-------
 _api/airflow/models/crypto/index.html                       |  8 +-------
 _api/airflow/models/dag/index.html                          |  8 +-------
 _api/airflow/models/dagbag/index.html                       |  8 +-------
 _api/airflow/models/dagpickle/index.html                    |  8 +-------
 _api/airflow/models/dagrun/index.html                       |  8 +-------
 _api/airflow/models/errors/index.html                       |  8 +-------
 _api/airflow/models/index.html                              |  8 +-------
 _api/airflow/models/knownevent/index.html                   |  8 +-------
 _api/airflow/models/kubernetes/index.html                   |  8 +-------
 _api/airflow/models/log/index.html                          |  8 +-------
 _api/airflow/models/pool/index.html                         |  8 +-------
 _api/airflow/models/skipmixin/index.html                    |  8 +-------
 _api/airflow/models/slamiss/index.html                      |  8 +-------
 _api/airflow/models/taskfail/index.html                     |  8 +-------
 _api/airflow/models/taskinstance/index.html                 |  8 +-------
 _api/airflow/models/taskreschedule/index.html               |  8 +-------
 _api/airflow/models/user/index.html                         |  8 +-------
 _api/airflow/models/variable/index.html                     |  8 +-------
 _api/airflow/models/xcom/index.html                         |  8 +-------
 _api/airflow/operators/bash_operator/index.html             |  8 +-------
 _api/airflow/operators/branch_operator/index.html           |  8 +-------
 _api/airflow/operators/check_operator/index.html            |  8 +-------
 _api/airflow/operators/dagrun_operator/index.html           |  8 +-------
 _api/airflow/operators/docker_operator/index.html           |  8 +-------
 _api/airflow/operators/druid_check_operator/index.html      |  8 +-------
 _api/airflow/operators/dummy_operator/index.html            |  8 +-------
 _api/airflow/operators/email_operator/index.html            |  8 +-------
 _api/airflow/operators/generic_transfer/index.html          |  8 +-------
 _api/airflow/operators/hive_operator/index.html             |  8 +-------
 _api/airflow/operators/hive_stats_operator/index.html       |  8 +-------
 _api/airflow/operators/hive_to_druid/index.html             |  8 +-------
 _api/airflow/operators/hive_to_mysql/index.html             |  8 +-------
 _api/airflow/operators/hive_to_samba_operator/index.html    |  8 +-------
 _api/airflow/operators/http_operator/index.html             |  8 +-------
 _api/airflow/operators/index.html                           |  8 +-------
 _api/airflow/operators/jdbc_operator/index.html             |  8 +-------
 _api/airflow/operators/latest_only_operator/index.html      |  8 +-------
 _api/airflow/operators/mssql_operator/index.html            |  8 +-------
 _api/airflow/operators/mssql_to_hive/index.html             |  8 +-------
 _api/airflow/operators/mysql_operator/index.html            |  8 +-------
 _api/airflow/operators/mysql_to_hive/index.html             |  8 +-------
 _api/airflow/operators/oracle_operator/index.html           |  8 +-------
 _api/airflow/operators/pig_operator/index.html              |  8 +-------
 _api/airflow/operators/postgres_operator/index.html         |  8 +-------
 _api/airflow/operators/presto_check_operator/index.html     |  8 +-------
 _api/airflow/operators/presto_to_mysql/index.html           |  8 +-------
 _api/airflow/operators/python_operator/index.html           |  8 +-------
 _api/airflow/operators/redshift_to_s3_operator/index.html   |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 _api/airflow/operators/s3_to_hive_operator/index.html       |  8 +-------
 _api/airflow/operators/s3_to_redshift_operator/index.html   |  8 +-------
 _api/airflow/operators/sensors/index.html                   |  8 +-------
 _api/airflow/operators/slack_operator/index.html            |  8 +-------
 _api/airflow/operators/sqlite_operator/index.html           |  8 +-------
 _api/airflow/operators/subdag_operator/index.html           |  8 +-------
 _api/airflow/sensors/base_sensor_operator/index.html        |  8 +-------
 _api/airflow/sensors/external_task_sensor/index.html        |  8 +-------
 _api/airflow/sensors/hdfs_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/hive_partition_sensor/index.html       |  8 +-------
 _api/airflow/sensors/http_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/index.html                             |  8 +-------
 _api/airflow/sensors/metastore_partition_sensor/index.html  |  8 +-------
 _api/airflow/sensors/named_hive_partition_sensor/index.html |  8 +-------
 _api/airflow/sensors/s3_key_sensor/index.html               |  8 +-------
 _api/airflow/sensors/s3_prefix_sensor/index.html            |  8 +-------
 _api/airflow/sensors/sql_sensor/index.html                  |  8 +-------
 _api/airflow/sensors/time_delta_sensor/index.html           |  8 +-------
 _api/airflow/sensors/time_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/web_hdfs_sensor/index.html             |  8 +-------
 _api/index.html                                             |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 _modules/airflow/contrib/example_dags/example_gcp_sql.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 _modules/airflow/contrib/example_dags/example_gcs_acl.html  |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 _modules/airflow/contrib/executors/kubernetes_executor.html |  8 +-------
 _modules/airflow/contrib/executors/mesos_executor.html      |  8 +-------
 _modules/airflow/contrib/hooks.html                         |  8 +-------
 _modules/airflow/contrib/hooks/aws_athena_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/aws_dynamodb_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/aws_firehose_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/aws_glue_catalog_hook.html   |  8 +-------
 _modules/airflow/contrib/hooks/aws_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/aws_lambda_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/aws_logs_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/aws_sns_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/aws_sqs_hook.html            |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 _modules/airflow/contrib/hooks/azure_cosmos_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/azure_data_lake_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/azure_fileshare_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/bigquery_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/cassandra_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/cloudant_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/databricks_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/datadog_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/datastore_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/dingding_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/discord_webhook_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/emr_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/fs_hook.html                 |  8 +-------
 _modules/airflow/contrib/hooks/ftp_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/gcp_api_base_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_bigtable_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_cloud_build_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/gcp_compute_hook.html        |  8 +-------
 _modules/airflow/contrib/hooks/gcp_container_hook.html      |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dataflow_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dataproc_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_function_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_kms_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_mlengine_hook.html       |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/gcp_pubsub_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/gcp_spanner_hook.html        |  8 +-------
 _modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html |  8 +-------
 _modules/airflow/contrib/hooks/gcp_sql_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html |  8 +-------
 _modules/airflow/contrib/hooks/gcp_transfer_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_translate_hook.html      |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 _modules/airflow/contrib/hooks/gcp_vision_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/gcs_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/grpc_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/imap_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/jenkins_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/jira_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/mongo_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/openfaas_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/opsgenie_alert_hook.html     |  8 +-------
 _modules/airflow/contrib/hooks/pinot_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/qubole_check_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/qubole_hook.html             |  8 +-------
 _modules/airflow/contrib/hooks/redis_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/redshift_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/sagemaker_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/salesforce_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/segment_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/sftp_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/slack_webhook_hook.html      |  8 +-------
 _modules/airflow/contrib/hooks/snowflake_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/spark_jdbc_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/spark_jdbc_script.html       |  8 +-------
 _modules/airflow/contrib/hooks/spark_sql_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/spark_submit_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/sqoop_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/ssh_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/vertica_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/wasb_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/winrm_hook.html              |  8 +-------
 _modules/airflow/contrib/operators.html                     |  8 +-------
 _modules/airflow/contrib/operators/adls_list_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/adls_to_gcs.html         |  8 +-------
 _modules/airflow/contrib/operators/aws_athena_operator.html |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 _modules/airflow/contrib/operators/awsbatch_operator.html   |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/bigquery_get_data.html   |  8 +-------
 _modules/airflow/contrib/operators/bigquery_operator.html   |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 _modules/airflow/contrib/operators/bigquery_to_gcs.html     |  8 +-------
 _modules/airflow/contrib/operators/cassandra_to_gcs.html    |  8 +-------
 _modules/airflow/contrib/operators/databricks_operator.html |  8 +-------
 _modules/airflow/contrib/operators/dataflow_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/dataproc_operator.html   |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/dingding_operator.html   |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 _modules/airflow/contrib/operators/druid_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/ecs_operator.html        |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/file_to_gcs.html         |  8 +-------
 _modules/airflow/contrib/operators/file_to_wasb.html        |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/gcp_dlp_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/gcp_sql_operator.html    |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/gcp_vision_operator.html |  8 +-------
 _modules/airflow/contrib/operators/gcs_acl_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/gcs_delete_operator.html |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/gcs_list_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/gcs_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_bq.html           |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_gcs.html          |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_s3.html           |  8 +-------
 _modules/airflow/contrib/operators/hipchat_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/hive_to_dynamodb.html    |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/jira_operator.html       |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/mlengine_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/mongo_to_s3.html         |  8 +-------
 _modules/airflow/contrib/operators/mssql_to_gcs.html        |  8 +-------
 _modules/airflow/contrib/operators/mysql_to_gcs.html        |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 _modules/airflow/contrib/operators/pubsub_operator.html     |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/qubole_operator.html     |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 _modules/airflow/contrib/operators/s3_list_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/s3_to_gcs_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/s3_to_sftp_operator.html |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/sftp_operator.html       |  8 +-------
 _modules/airflow/contrib/operators/sftp_to_s3_operator.html |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/snowflake_operator.html  |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/spark_jdbc_operator.html |  8 +-------
 _modules/airflow/contrib/operators/spark_sql_operator.html  |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/sql_to_gcs.html          |  8 +-------
 _modules/airflow/contrib/operators/sqoop_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/ssh_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/vertica_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/vertica_to_hive.html     |  8 +-------
 _modules/airflow/contrib/operators/vertica_to_mysql.html    |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/winrm_operator.html      |  8 +-------
 _modules/airflow/contrib/sensors/aws_athena_sensor.html     |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/aws_sqs_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/azure_cosmos_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/bash_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/bigquery_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 _modules/airflow/contrib/sensors/datadog_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/emr_base_sensor.html       |  8 +-------
 _modules/airflow/contrib/sensors/emr_job_flow_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/emr_step_sensor.html       |  8 +-------
 _modules/airflow/contrib/sensors/file_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/ftp_sensor.html            |  8 +-------
 _modules/airflow/contrib/sensors/gcp_transfer_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/gcs_sensor.html            |  8 +-------
 _modules/airflow/contrib/sensors/hdfs_sensor.html           |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 _modules/airflow/contrib/sensors/jira_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/mongo_sensor.html          |  8 +-------
 _modules/airflow/contrib/sensors/pubsub_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/python_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/qubole_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/redis_key_sensor.html      |  8 +-------
 _modules/airflow/contrib/sensors/redis_pub_sub_sensor.html  |  8 +-------
 _modules/airflow/contrib/sensors/sagemaker_base_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 _modules/airflow/contrib/sensors/sftp_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/wasb_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/weekday_sensor.html        |  8 +-------
 _modules/airflow/example_dags/example_bash_operator.html    |  8 +-------
 _modules/airflow/example_dags/example_python_operator.html  |  8 +-------
 _modules/airflow/exceptions.html                            |  8 +-------
 _modules/airflow/executors.html                             |  8 +-------
 _modules/airflow/executors/base_executor.html               |  8 +-------
 _modules/airflow/executors/celery_executor.html             |  8 +-------
 _modules/airflow/executors/dask_executor.html               |  8 +-------
 _modules/airflow/executors/local_executor.html              |  8 +-------
 _modules/airflow/executors/sequential_executor.html         |  8 +-------
 _modules/airflow/hooks.html                                 |  8 +-------
 _modules/airflow/hooks/S3_hook.html                         |  8 +-------
 _modules/airflow/hooks/base_hook.html                       |  8 +-------
 _modules/airflow/hooks/dbapi_hook.html                      |  8 +-------
 _modules/airflow/hooks/docker_hook.html                     |  8 +-------
 _modules/airflow/hooks/druid_hook.html                      |  8 +-------
 _modules/airflow/hooks/hdfs_hook.html                       |  8 +-------
 _modules/airflow/hooks/hive_hooks.html                      |  8 +-------
 _modules/airflow/hooks/http_hook.html                       |  8 +-------
 _modules/airflow/hooks/jdbc_hook.html                       |  8 +-------
 _modules/airflow/hooks/mssql_hook.html                      |  8 +-------
 _modules/airflow/hooks/mysql_hook.html                      |  8 +-------
 _modules/airflow/hooks/oracle_hook.html                     |  8 +-------
 _modules/airflow/hooks/pig_hook.html                        |  8 +-------
 _modules/airflow/hooks/postgres_hook.html                   |  8 +-------
 _modules/airflow/hooks/presto_hook.html                     |  8 +-------
 _modules/airflow/hooks/samba_hook.html                      |  8 +-------
 _modules/airflow/hooks/slack_hook.html                      |  8 +-------
 _modules/airflow/hooks/sqlite_hook.html                     |  8 +-------
 _modules/airflow/hooks/webhdfs_hook.html                    |  8 +-------
 _modules/airflow/hooks/zendesk_hook.html                    |  8 +-------
 _modules/airflow/macros.html                                |  8 +-------
 _modules/airflow/macros/hive.html                           |  8 +-------
 _modules/airflow/models.html                                |  8 +-------
 _modules/airflow/models/base.html                           |  8 +-------
 _modules/airflow/models/baseoperator.html                   |  8 +-------
 _modules/airflow/models/chart.html                          |  8 +-------
 _modules/airflow/models/connection.html                     |  8 +-------
 _modules/airflow/models/crypto.html                         |  8 +-------
 _modules/airflow/models/dag.html                            |  8 +-------
 _modules/airflow/models/dagbag.html                         |  8 +-------
 _modules/airflow/models/dagpickle.html                      |  8 +-------
 _modules/airflow/models/dagrun.html                         |  8 +-------
 _modules/airflow/models/errors.html                         |  8 +-------
 _modules/airflow/models/knownevent.html                     |  8 +-------
 _modules/airflow/models/kubernetes.html                     |  8 +-------
 _modules/airflow/models/log.html                            |  8 +-------
 _modules/airflow/models/pool.html                           |  8 +-------
 _modules/airflow/models/skipmixin.html                      |  8 +-------
 _modules/airflow/models/slamiss.html                        |  8 +-------
 _modules/airflow/models/taskfail.html                       |  8 +-------
 _modules/airflow/models/taskinstance.html                   |  8 +-------
 _modules/airflow/models/taskreschedule.html                 |  8 +-------
 _modules/airflow/models/user.html                           |  8 +-------
 _modules/airflow/models/variable.html                       |  8 +-------
 _modules/airflow/models/xcom.html                           |  8 +-------
 _modules/airflow/operators.html                             |  8 +-------
 _modules/airflow/operators/bash_operator.html               |  8 +-------
 _modules/airflow/operators/branch_operator.html             |  8 +-------
 _modules/airflow/operators/check_operator.html              |  8 +-------
 _modules/airflow/operators/dagrun_operator.html             |  8 +-------
 _modules/airflow/operators/docker_operator.html             |  8 +-------
 _modules/airflow/operators/druid_check_operator.html        |  8 +-------
 _modules/airflow/operators/dummy_operator.html              |  8 +-------
 _modules/airflow/operators/email_operator.html              |  8 +-------
 _modules/airflow/operators/generic_transfer.html            |  8 +-------
 _modules/airflow/operators/hive_operator.html               |  8 +-------
 _modules/airflow/operators/hive_stats_operator.html         |  8 +-------
 _modules/airflow/operators/hive_to_druid.html               |  8 +-------
 _modules/airflow/operators/hive_to_mysql.html               |  8 +-------
 _modules/airflow/operators/hive_to_samba_operator.html      |  8 +-------
 _modules/airflow/operators/http_operator.html               |  8 +-------
 _modules/airflow/operators/jdbc_operator.html               |  8 +-------
 _modules/airflow/operators/latest_only_operator.html        |  8 +-------
 _modules/airflow/operators/mssql_operator.html              |  8 +-------
 _modules/airflow/operators/mssql_to_hive.html               |  8 +-------
 _modules/airflow/operators/mysql_operator.html              |  8 +-------
 _modules/airflow/operators/mysql_to_hive.html               |  8 +-------
 _modules/airflow/operators/oracle_operator.html             |  8 +-------
 _modules/airflow/operators/pig_operator.html                |  8 +-------
 _modules/airflow/operators/postgres_operator.html           |  8 +-------
 _modules/airflow/operators/presto_check_operator.html       |  8 +-------
 _modules/airflow/operators/presto_to_mysql.html             |  8 +-------
 _modules/airflow/operators/python_operator.html             |  8 +-------
 _modules/airflow/operators/redshift_to_s3_operator.html     |  8 +-------
 _modules/airflow/operators/s3_file_transform_operator.html  |  8 +-------
 _modules/airflow/operators/s3_to_hive_operator.html         |  8 +-------
 _modules/airflow/operators/s3_to_redshift_operator.html     |  8 +-------
 _modules/airflow/operators/sensors.html                     |  8 +-------
 _modules/airflow/operators/slack_operator.html              |  8 +-------
 _modules/airflow/operators/sqlite_operator.html             |  8 +-------
 _modules/airflow/operators/subdag_operator.html             |  8 +-------
 _modules/airflow/sensors.html                               |  8 +-------
 _modules/airflow/sensors/base_sensor_operator.html          |  8 +-------
 _modules/airflow/sensors/external_task_sensor.html          |  8 +-------
 _modules/airflow/sensors/hdfs_sensor.html                   |  8 +-------
 _modules/airflow/sensors/hive_partition_sensor.html         |  8 +-------
 _modules/airflow/sensors/http_sensor.html                   |  8 +-------
 _modules/airflow/sensors/metastore_partition_sensor.html    |  8 +-------
 _modules/airflow/sensors/named_hive_partition_sensor.html   |  8 +-------
 _modules/airflow/sensors/s3_key_sensor.html                 |  8 +-------
 _modules/airflow/sensors/s3_prefix_sensor.html              |  8 +-------
 _modules/airflow/sensors/sql_sensor.html                    |  8 +-------
 _modules/airflow/sensors/time_delta_sensor.html             |  8 +-------
 _modules/airflow/sensors/time_sensor.html                   |  8 +-------
 _modules/airflow/sensors/web_hdfs_sensor.html               |  8 +-------
 _modules/airflow/utils/log/logging_mixin.html               |  8 +-------
 _modules/index.html                                         |  8 +-------
 api.html                                                    | 13 +------------
 changelog.html                                              |  8 +-------
 cli.html                                                    |  8 +-------
 concepts.html                                               |  8 +-------
 faq.html                                                    |  8 +-------
 genindex.html                                               |  8 +-------
 howto/check-health.html                                     |  8 +-------
 howto/connection/aws.html                                   |  8 +-------
 howto/connection/gcp.html                                   |  8 +-------
 howto/connection/gcp_sql.html                               |  8 +-------
 howto/connection/grpc.html                                  |  8 +-------
 howto/connection/index.html                                 |  8 +-------
 howto/connection/mysql.html                                 |  8 +-------
 howto/connection/oracle.html                                |  8 +-------
 howto/connection/postgres.html                              |  8 +-------
 howto/connection/ssh.html                                   |  8 +-------
 howto/define_extra_link.html                                |  8 +-------
 howto/executor/use-celery.html                              |  8 +-------
 howto/executor/use-dask.html                                |  8 +-------
 howto/executor/use-mesos.html                               |  8 +-------
 howto/index.html                                            |  8 +-------
 howto/initialize-database.html                              |  8 +-------
 howto/operator/bash.html                                    |  8 +-------
 howto/operator/dingding.html                                |  8 +-------
 howto/operator/gcp/bigtable.html                            |  8 +-------
 howto/operator/gcp/cloud_build.html                         |  8 +-------
 howto/operator/gcp/compute.html                             |  8 +-------
 howto/operator/gcp/function.html                            |  8 +-------
 howto/operator/gcp/gcs.html                                 |  8 +-------
 howto/operator/gcp/index.html                               |  8 +-------
 howto/operator/gcp/natural_language.html                    |  8 +-------
 howto/operator/gcp/spanner.html                             |  8 +-------
 howto/operator/gcp/speech.html                              |  8 +-------
 howto/operator/gcp/sql.html                                 |  8 +-------
 howto/operator/gcp/transfer.html                            |  8 +-------
 howto/operator/gcp/translate-speech.html                    |  8 +-------
 howto/operator/gcp/translate.html                           |  8 +-------
 howto/operator/gcp/video.html                               |  8 +-------
 howto/operator/gcp/vision.html                              |  8 +-------
 howto/operator/index.html                                   |  8 +-------
 howto/operator/python.html                                  |  8 +-------
 howto/run-behind-proxy.html                                 |  8 +-------
 howto/run-with-systemd.html                                 |  8 +-------
 howto/run-with-upstart.html                                 |  8 +-------
 howto/secure-connections.html                               |  8 +-------
 howto/set-config.html                                       |  8 +-------
 howto/tracking-user-activity.html                           |  8 +-------
 howto/use-test-config.html                                  |  8 +-------
 howto/write-logs.html                                       |  8 +-------
 http-routingtable.html                                      |  8 +-------
 index.html                                                  |  8 +-------
 installation.html                                           |  8 +-------
 integration.html                                            |  8 +-------
 kubernetes.html                                             |  8 +-------
 license.html                                                |  8 +-------
 lineage.html                                                |  8 +-------
 macros.html                                                 |  8 +-------
 metrics.html                                                |  8 +-------
 plugins.html                                                |  8 +-------
 privacy_notice.html                                         |  8 +-------
 profiling.html                                              |  8 +-------
 project.html                                                |  8 +-------
 py-modindex.html                                            |  8 +-------
 scheduler.html                                              |  8 +-------
 search.html                                                 |  8 +-------
 security.html                                               |  8 +-------
 start.html                                                  |  8 +-------
 timezone.html                                               |  8 +-------
 tutorial.html                                               |  8 +-------
 ui.html                                                     |  8 +-------
 2821 files changed, 2822 insertions(+), 19757 deletions(-)


[airflow-site] 28/30: Setup redirects from old docs urls to new

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 00ed176e068742100c54ebcd143eb472459486af
Author: Kamil Gabryjelski <ka...@gmail.com>
AuthorDate: Wed Nov 27 16:41:25 2019 +0100

    Setup redirects from old docs urls to new
---
 .htaccess | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..b4e2c55
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,3 @@
+RedirectMatch Permanent ^/((_api|_images|_modules|_sources|_static|howto)/.*)$ "https://airflow.apache.org/docs/stable/$1"
+RedirectMatch Permanent ^/((1.10.1|1.10.2|1.10.3|1.10.4|1.10.5|1.10.6)/.*)$ "https://airflow.apache.org/docs/$1"
+RedirectMatch Permanent ^/(api|changelog|cli|concepts|errors|faq|genindex|http-routingtable|index|installation|integration|kubernetes|license|lineage|macros|metrics|plugins|privacy_notice|profiling|project|py-modindex|scheduler|search|security|start|timezone|tutorial|ui)(\.html)?$ "https://airflow.apache.org/docs/stable/$1"


[airflow-site] 08/30: v1.8.0

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 69cff49228f32d88fcdf3e92808ad51ab3438d8d
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Mon Mar 20 17:04:37 2017 -0700

    v1.8.0
---
 .../airflow/contrib/executors/mesos_executor.html  |   2 +-
 _modules/airflow/models.html                       | 134 +++++++++++++--------
 _modules/airflow/operators/sensors.html            |   2 +-
 _modules/mysql_hook.html                           |  15 +--
 _modules/mysql_operator.html                       |   8 +-
 _modules/sensors.html                              |   2 +-
 _sources/concepts.rst.txt                          |   3 +-
 _sources/configuration.rst.txt                     |  35 ------
 code.html                                          |  27 +++--
 concepts.html                                      |   3 +-
 configuration.html                                 |  28 -----
 genindex.html                                      |   2 +
 index.html                                         |   1 -
 objects.inv                                        | Bin 2147 -> 2159 bytes
 searchindex.js                                     |   2 +-
 15 files changed, 123 insertions(+), 141 deletions(-)

diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index dbca37d..311d1a8 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -331,7 +331,7 @@
         <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
             <span class="c1"># The map may not contain an item if the framework re-registered after a failover.</span>
             <span class="c1"># Discard these tasks.</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
             <span class="k">return</span>
 
         <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index a94686b..0b043ea 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -632,7 +632,7 @@
     <span class="k">def</span> <span class="nf">paused_dags</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
         <span class="n">dag_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">dp</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dp</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">DagModel</span><span class="o">.</span><span class="n">is_paused</span><span class="o">.</span><span class="n">__eq__</span><span class="p">(</span><span class="kc">True</span><span class="p">))]</span>
+            <span class="n">DagModel</span><span class="o">.</span><span class="n">is_paused</span><span class="o">.</span><span class="n">is_</span><span class="p">(</span><span class="kc">True</span><span class="p">))]</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">dag_ids</span></div>
@@ -1161,6 +1161,7 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">end_date</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">try_number</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">hostname</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">pid</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">pid</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="kc">None</span></div>
 
@@ -1452,19 +1453,20 @@
             <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="ow">not</span> <span class="n">runnable</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">mark_success</span><span class="p">:</span>
-            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span><span class="p">:</span>
-                <span class="c1"># If a task&#39;s dependencies are met but it can&#39;t be run yet then queue it</span>
-                <span class="c1"># instead</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span>
-                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing attempt </span><span class="si">{attempt}</span><span class="s2"> of </span><span class="si">{total}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                    <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
-                    <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">hr</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">hr</span><span class="p">)</span>
-
-                <span class="bp">self</span><span class="o">.</span><span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing into pool </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
-                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
-                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+            <span class="c1"># FIXME: we might have hit concurrency limits, which means we probably</span>
+            <span class="c1"># have been running prematurely. This should be handled in the</span>
+            <span class="c1"># scheduling mechanism.</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">NONE</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;FIXME: Rescheduling due to concurrency limits reached at task &quot;</span>
+                   <span class="s2">&quot;runtime. Attempt </span><span class="si">{attempt}</span><span class="s2"> of </span><span class="si">{total}</span><span class="s2">. State set to NONE.&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
+                <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">hr</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">hr</span><span class="p">)</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing into pool </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
             <span class="k">return</span>
 
@@ -1472,7 +1474,7 @@
         <span class="c1"># the current worker process was blocked on refresh_from_db</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
             <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Task Instance already running </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
             <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
             <span class="k">return</span>
 
@@ -1483,6 +1485,7 @@
         <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
             <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pid</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getpid</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
             <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
@@ -1538,22 +1541,7 @@
                 <span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
 
-                <span class="c1"># TODO remove deprecated behavior in Airflow 2.0</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">,</span> <span class="n">result</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
-                <span class="k">except</span> <span class="ne">TypeError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-                    <span class="k">if</span> <span class="s1">&#39;unexpected keyword argument&#39;</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">):</span>
-                        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
-                            <span class="s1">&#39;BaseOperator.post_execute() now takes two &#39;</span>
-                            <span class="s1">&#39;arguments, `context` and `result`, but &quot;</span><span class="si">{}</span><span class="s1">&quot; only &#39;</span>
-                            <span class="s1">&#39;expected one. This behavior is deprecated and &#39;</span>
-                            <span class="s1">&#39;will be removed in a future version of &#39;</span>
-                            <span class="s1">&#39;Airflow.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
-                            <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
-                        <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
-                    <span class="k">else</span><span class="p">:</span>
-                        <span class="k">raise</span>
-
+                <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
                 <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;operator_successes_</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">),</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
@@ -1931,7 +1919,7 @@
 <span class="sd">    dag crawling behavior. To derive this class, you are expected to override</span>
 <span class="sd">    the constructor as well as the &#39;execute&#39; method.</span>
 
-<span class="sd">    Operators derived from this class should perform or trigger certain tasks</span>
+<span class="sd">    Operators derived from this task should perform or trigger certain tasks</span>
 <span class="sd">    synchronously (wait for completion). Example of operators could be an</span>
 <span class="sd">    operator the runs a Pig job (PigOperator), a sensor operator that</span>
 <span class="sd">    waits for a partition to land in Hive (HiveSensorOperator), or one that</span>
@@ -2333,7 +2321,8 @@
 
 <div class="viewcode-block" id="BaseOperator.pre_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.pre_execute">[docs]</a>    <span class="k">def</span> <span class="nf">pre_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        This hook is triggered right before self.execute() is called.</span>
+<span class="sd">        This is triggered right before self.execute, it&#39;s mostly a hook</span>
+<span class="sd">        for people deriving operators.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
@@ -2346,11 +2335,10 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BaseOperator.post_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.post_execute">[docs]</a>    <span class="k">def</span> <span class="nf">post_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">result</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+<div class="viewcode-block" id="BaseOperator.post_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.post_execute">[docs]</a>    <span class="k">def</span> <span class="nf">post_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        This hook is triggered right after self.execute() is called.</span>
-<span class="sd">        It is passed the execution context and any results returned by the</span>
-<span class="sd">        operator.</span>
+<span class="sd">        This is triggered right after self.execute, it&#39;s mostly a hook</span>
+<span class="sd">        for people deriving operators.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
@@ -2859,6 +2847,8 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">orientation</span> <span class="o">=</span> <span class="n">orientation</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">catchup</span> <span class="o">=</span> <span class="n">catchup</span>
 
+        <span class="bp">self</span><span class="o">.</span><span class="n">partial</span> <span class="o">=</span> <span class="kc">False</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;dag_id&#39;</span><span class="p">,</span>
             <span class="s1">&#39;task_ids&#39;</span><span class="p">,</span>
@@ -2964,7 +2954,7 @@
             <span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
         <span class="p">)</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">include_externally_triggered</span><span class="p">:</span>
-            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">external_trigger</span><span class="o">.</span><span class="n">__eq__</span><span class="p">(</span><span class="kc">False</span><span class="p">))</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">external_trigger</span><span class="o">.</span><span class="n">is_</span><span class="p">(</span><span class="kc">False</span><span class="p">))</span>
 
         <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">desc</span><span class="p">())</span>
 
@@ -3196,6 +3186,56 @@
     <span class="k">def</span> <span class="nf">roots</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="p">[</span><span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">downstream_list</span><span class="p">]</span>
 
+<div class="viewcode-block" id="DAG.topological_sort"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.topological_sort">[docs]</a>    <span class="k">def</span> <span class="nf">topological_sort</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Sorts tasks in topographical order, such that a task comes after any of its</span>
+<span class="sd">        upstream dependencies.</span>
+
+<span class="sd">        Heavily inspired by:</span>
+<span class="sd">        http://blog.jupo.org/2012/04/06/topological-sorting-acyclic-directed-graphs/</span>
+<span class="sd">        :returns: list of tasks in topological order</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># copy the the tasks so we leave it unmodified</span>
+        <span class="n">graph_unsorted</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">[:]</span>
+
+        <span class="n">graph_sorted</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="c1"># special case</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">graph_sorted</span><span class="p">)</span>
+
+        <span class="c1"># Run until the unsorted graph is empty.</span>
+        <span class="k">while</span> <span class="n">graph_unsorted</span><span class="p">:</span>
+            <span class="c1"># Go through each of the node/edges pairs in the unsorted</span>
+            <span class="c1"># graph. If a set of edges doesn&#39;t contain any nodes that</span>
+            <span class="c1"># haven&#39;t been resolved, that is, that are still in the</span>
+            <span class="c1"># unsorted graph, remove the pair from the unsorted graph,</span>
+            <span class="c1"># and append it to the sorted graph. Note here that by using</span>
+            <span class="c1"># using the items() method for iterating, a copy of the</span>
+            <span class="c1"># unsorted graph is used, allowing us to modify the unsorted</span>
+            <span class="c1"># graph as we move through it. We also keep a flag for</span>
+            <span class="c1"># checking that that graph is acyclic, which is true if any</span>
+            <span class="c1"># nodes are resolved during each pass through the graph. If</span>
+            <span class="c1"># not, we need to bail out as the graph therefore can&#39;t be</span>
+            <span class="c1"># sorted.</span>
+            <span class="n">acyclic</span> <span class="o">=</span> <span class="kc">False</span>
+            <span class="k">for</span> <span class="n">node</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">graph_unsorted</span><span class="p">):</span>
+                <span class="k">for</span> <span class="n">edge</span> <span class="ow">in</span> <span class="n">node</span><span class="o">.</span><span class="n">upstream_list</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="n">edge</span> <span class="ow">in</span> <span class="n">graph_unsorted</span><span class="p">:</span>
+                        <span class="k">break</span>
+                <span class="c1"># no edges in upstream tasks</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">acyclic</span> <span class="o">=</span> <span class="kc">True</span>
+                    <span class="n">graph_unsorted</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
+                    <span class="n">graph_sorted</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">node</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">acyclic</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;A cyclic dependency occurred in dag: </span><span class="si">{}</span><span class="s2">&quot;</span>
+                                       <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">graph_sorted</span><span class="p">)</span></div>
+
     <span class="nd">@provide_session</span>
     <span class="k">def</span> <span class="nf">set_dag_runs_state</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
@@ -3314,6 +3354,10 @@
                 <span class="n">tid</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">t</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="k">if</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">]</span>
             <span class="n">t</span><span class="o">.</span><span class="n">_downstream_task_ids</span> <span class="o">=</span> <span class="p">[</span>
                 <span class="n">tid</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">t</span><span class="o">.</span><span class="n">_downstream_task_ids</span> <span class="k">if</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">]</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">):</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">partial</span> <span class="o">=</span> <span class="kc">True</span>
+
         <span class="k">return</span> <span class="n">dag</span></div>
 
     <span class="k">def</span> <span class="nf">has_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
@@ -3912,10 +3956,6 @@
 <span class="sd">        :param full_query: whether to check dag_runs for new drs not in dag_stats</span>
 <span class="sd">        :type full_query: bool</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="c1"># avoid querying with an empty IN clause</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">dag_ids</span><span class="p">:</span>
-            <span class="k">return</span>
-
         <span class="n">dag_ids</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">)</span>
 
         <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
@@ -3927,10 +3967,6 @@
         <span class="n">qry</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">synchronize_session</span><span class="o">=</span><span class="s1">&#39;fetch&#39;</span><span class="p">)</span>
         <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
 
-        <span class="c1"># avoid querying with an empty IN clause</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">dirty_ids</span><span class="p">:</span>
-            <span class="k">return</span>
-
         <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
             <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">DagRun</span><span class="o">.</span><span class="n">state</span><span class="p">,</span> <span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
             <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">dirty_ids</span><span class="p">))</span>
@@ -4082,6 +4118,9 @@
                 <span class="k">else</span><span class="p">:</span>
                     <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">))</span>
 
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">partial</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">))</span>
+
         <span class="k">return</span> <span class="n">tis</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
 
     <span class="nd">@provide_session</span>
@@ -4142,6 +4181,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dag</span><span class="p">()</span>
+
         <span class="n">tis</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_task_instances</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
 
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Updating state for </span><span class="si">{}</span><span class="s2"> considering </span><span class="si">{}</span><span class="s2"> task(s)&quot;</span>
@@ -4226,7 +4266,7 @@
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
             <span class="k">except</span> <span class="n">AirflowException</span><span class="p">:</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">dag</span><span class="o">.</span><span class="n">partial</span><span class="p">:</span>
                     <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span>
 
         <span class="c1"># check for missing tasks</span>
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
index 6d51369..03643fe 100644
--- a/_modules/airflow/operators/sensors.html
+++ b/_modules/airflow/operators/sensors.html
@@ -806,7 +806,7 @@
 <span class="sd">        depends on the option that&#39;s being modified.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,)</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
diff --git a/_modules/mysql_hook.html b/_modules/mysql_hook.html
index 8c0c5c9..a8f6aea 100644
--- a/_modules/mysql_hook.html
+++ b/_modules/mysql_hook.html
@@ -183,22 +183,18 @@
 
 
 <div class="viewcode-block" id="MySqlHook"><a class="viewcode-back" href="../code.html#airflow.hooks.MySqlHook">[docs]</a><span class="k">class</span> <span class="nc">MySqlHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
+    <span class="sd">&#39;&#39;&#39;</span>
 <span class="sd">    Interact with MySQL.</span>
 
 <span class="sd">    You can specify charset in the extra field of your connection</span>
 <span class="sd">    as ``{&quot;charset&quot;: &quot;utf8&quot;}``. Also you can choose cursor as</span>
 <span class="sd">    ``{&quot;cursor&quot;: &quot;SSCursor&quot;}``. Refer to the MySQLdb.cursors for more details.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
+<span class="sd">    &#39;&#39;&#39;</span>
 
     <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;mysql_conn_id&#39;</span>
     <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;mysql_default&#39;</span>
     <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">True</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">MySqlHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;schema&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
-
 <div class="viewcode-block" id="MySqlHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.MySqlHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a mysql connection object</span>
@@ -206,16 +202,17 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">)</span>
         <span class="n">conn_config</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s2">&quot;user&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
-            <span class="s2">&quot;passwd&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">,</span>
-            <span class="s2">&quot;host&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span> <span class="ow">or</span> <span class="s1">&#39;localhost&#39;</span><span class="p">,</span>
-            <span class="s2">&quot;db&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
+            <span class="s2">&quot;passwd&quot;</span><span class="p">:</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
         <span class="p">}</span>
 
+        <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;host&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span> <span class="ow">or</span> <span class="s1">&#39;localhost&#39;</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">:</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;port&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3306</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;port&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
 
+        <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;db&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
+
         <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;charset&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
             <span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">]</span>
             <span class="k">if</span> <span class="p">(</span><span class="n">conn_config</span><span class="p">[</span><span class="s2">&quot;charset&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;utf8&#39;</span> <span class="ow">or</span>\
diff --git a/_modules/mysql_operator.html b/_modules/mysql_operator.html
index 09a5aab..a60fab2 100644
--- a/_modules/mysql_operator.html
+++ b/_modules/mysql_operator.html
@@ -193,8 +193,6 @@
 <span class="sd">    :type sql: Can receive a str representing a sql statement,</span>
 <span class="sd">        a list of str (sql statements), or reference to a template file.</span>
 <span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;</span>
-<span class="sd">    :param database: name of database which overwrite defined one in connection</span>
-<span class="sd">    :type database: string</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
@@ -204,18 +202,16 @@
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">mysql_conn_id</span><span class="o">=</span><span class="s1">&#39;mysql_default&#39;</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-            <span class="n">autocommit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">database</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+            <span class="n">autocommit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">MySqlOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span> <span class="o">=</span> <span class="n">mysql_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">autocommit</span> <span class="o">=</span> <span class="n">autocommit</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">parameters</span> <span class="o">=</span> <span class="n">parameters</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">database</span> <span class="o">=</span> <span class="n">database</span>
 
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">,</span>
-                         <span class="n">schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">)</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mysql_conn_id</span><span class="p">)</span>
         <span class="n">hook</span><span class="o">.</span><span class="n">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">,</span>
             <span class="n">autocommit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">autocommit</span><span class="p">,</span>
diff --git a/_modules/sensors.html b/_modules/sensors.html
index f2b1cfe..604c19e 100644
--- a/_modules/sensors.html
+++ b/_modules/sensors.html
@@ -806,7 +806,7 @@
 <span class="sd">        depends on the option that&#39;s being modified.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,)</span>
 
     <span class="nd">@apply_defaults</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
diff --git a/_sources/concepts.rst.txt b/_sources/concepts.rst.txt
index 48c15a4..9f65256 100644
--- a/_sources/concepts.rst.txt
+++ b/_sources/concepts.rst.txt
@@ -207,7 +207,8 @@ We can put this all together to build a simple pipeline:
 
     with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
         (
-            DummyOperator(task_id='dummy_1')
+            dag
+            >> DummyOperator(task_id='dummy_1')
             >> BashOperator(
                 task_id='bash_1',
                 bash_command='echo "HELLO!"')
diff --git a/_sources/configuration.rst.txt b/_sources/configuration.rst.txt
index 5ff4284..c4a3442 100644
--- a/_sources/configuration.rst.txt
+++ b/_sources/configuration.rst.txt
@@ -131,41 +131,6 @@ to monitor your workers. You can use the shortcut command ``airflow flower``
 to start a Flower web server.
 
 
-Scaling Out with Dask
-'''''''''''''''''''''
-
-``DaskExecutor`` allows you to run Airflow tasks in a Dask Distributed cluster.
-
-Dask clusters can be run on a single machine or on remote networks. For complete
-details, consult the `Distributed documentation <https://distributed.readthedocs.io/>`_.
-
-To create a cluster, first start a Scheduler:
-
-.. code-block:: bash
-
-    # default settings for a local cluster
-    DASK_HOST=127.0.0.1
-    DASK_PORT=8786
-
-    dask-scheduler --host $DASK_HOST --port $DASK_PORT
-
-Next start at least one Worker on any machine that can connect to the host:
-
-.. code-block:: bash
-
-    dask-worker $DASK_HOST:$DASK_PORT
-
-Edit your ``airflow.cfg`` to set your executor to ``DaskExecutor`` and provide
-the Dask Scheduler address in the ``[dask]`` section.
-
-Please note:
-
-- Each Dask worker must be able to import Airflow and any dependencies you
-  require.
-- Dask does not support queues. If an Airflow task was created with a queue, a
-  warning will be raised but the task will be submitted to the cluster.
-
-
 Logs
 ''''
 Users can specify a logs folder in ``airflow.cfg``. By default, it is in
diff --git a/code.html b/code.html
index 732db2e..e37b111 100644
--- a/code.html
+++ b/code.html
@@ -217,7 +217,7 @@ DAGs.</p>
 become node in the dag, BaseOperator contains many recursive methods for
 dag crawling behavior. To derive this class, you are expected to override
 the constructor as well as the &#8216;execute&#8217; method.</p>
-<p>Operators derived from this class should perform or trigger certain tasks
+<p>Operators derived from this task should perform or trigger certain tasks
 synchronously (wait for completion). Example of operators could be an
 operator the runs a Pig job (PigOperator), a sensor operator that
 waits for a partition to land in Hive (HiveSensorOperator), or one that
@@ -674,7 +674,7 @@ Examples: <code class="docutils literal"><span class="pre">ds=2016-01-01</span><
 
 <dl class="class">
 <dt id="airflow.operators.MySqlOperator">
-<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">MySqlOperator</code><span class="sig-paren">(</span><em>sql</em>, <em>mysql_conn_id='mysql_default'</em>, <em>parameters=None</em>, <em>autocommit=False</em>, <em>database=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/mysql_operator.html#MySqlOperator"><span class="viewcode-link">[source]</span></a><a class= [...]
+<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">MySqlOperator</code><span class="sig-paren">(</span><em>sql</em>, <em>mysql_conn_id='mysql_default'</em>, <em>parameters=None</em>, <em>autocommit=False</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/mysql_operator.html#MySqlOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airf [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.models.BaseOperator" title="airflow.models.BaseOperator"><code class="xref py py-class docutils literal"><span class="pre">airflow.models.BaseOperator</span></code></a></p>
 <p>Executes sql code in a specific MySQL database</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -686,7 +686,6 @@ Examples: <code class="docutils literal"><span class="pre">ds=2016-01-01</span><
 <li><strong>sql</strong> (<em>Can receive a str representing a sql statement</em><em>,
 </em><em>a list of str</em><em> (</em><em>sql statements</em><em>)</em><em></em><em>, or </em><em>reference to a template file.
 Template reference are recognized by str ending in '.sql'</em>) &#8211; the sql code to be executed</li>
-<li><strong>database</strong> (<em>string</em>) &#8211; name of database which overwrite defined one in connection</li>
 </ul>
 </td>
 </tr>
@@ -1557,6 +1556,16 @@ SubDagOperator.</p>
 </dd></dl>
 
 <dl class="method">
+<dt id="airflow.models.DAG.topological_sort">
+<code class="descname">topological_sort</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.topological_sort"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.topological_sort" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sorts tasks in topographical order, such that a task comes after any of its
+upstream dependencies.</p>
+<p>Heavily inspired by:
+<a class="reference external" href="http://blog.jupo.org/2012/04/06/topological-sorting-acyclic-directed-graphs/">http://blog.jupo.org/2012/04/06/topological-sorting-acyclic-directed-graphs/</a>
+:returns: list of tasks in topological order</p>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.models.DAG.tree_view">
 <code class="descname">tree_view</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.tree_view"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.tree_view" title="Permalink to this definition">¶</a></dt>
 <dd><p>Shows an ascii tree representation of the DAG</p>
@@ -1572,7 +1581,7 @@ SubDagOperator.</p>
 become node in the dag, BaseOperator contains many recursive methods for
 dag crawling behavior. To derive this class, you are expected to override
 the constructor as well as the &#8216;execute&#8217; method.</p>
-<p>Operators derived from this class should perform or trigger certain tasks
+<p>Operators derived from this task should perform or trigger certain tasks
 synchronously (wait for completion). Example of operators could be an
 operator the runs a Pig job (PigOperator), a sensor operator that
 waits for a partition to land in Hive (HiveSensorOperator), or one that
@@ -1754,16 +1763,16 @@ ghost processes behind.</p>
 
 <dl class="method">
 <dt id="airflow.models.BaseOperator.post_execute">
-<code class="descname">post_execute</code><span class="sig-paren">(</span><em>context</em>, <em>result=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#BaseOperator.post_execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.BaseOperator.post_execute" title="Permalink to this definition">¶</a></dt>
-<dd><p>This hook is triggered right after self.execute() is called.
-It is passed the execution context and any results returned by the
-operator.</p>
+<code class="descname">post_execute</code><span class="sig-paren">(</span><em>context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#BaseOperator.post_execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.BaseOperator.post_execute" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is triggered right after self.execute, it&#8217;s mostly a hook
+for people deriving operators.</p>
 </dd></dl>
 
 <dl class="method">
 <dt id="airflow.models.BaseOperator.pre_execute">
 <code class="descname">pre_execute</code><span class="sig-paren">(</span><em>context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#BaseOperator.pre_execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.BaseOperator.pre_execute" title="Permalink to this definition">¶</a></dt>
-<dd><p>This hook is triggered right before self.execute() is called.</p>
+<dd><p>This is triggered right before self.execute, it&#8217;s mostly a hook
+for people deriving operators.</p>
 </dd></dl>
 
 <dl class="method">
diff --git a/concepts.html b/concepts.html
index 1ed51a5..a329ae8 100644
--- a/concepts.html
+++ b/concepts.html
@@ -367,7 +367,8 @@ object is always returned. For example:</p>
 <p>We can put this all together to build a simple pipeline:</p>
 <div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">DAG</span><span class="p">(</span><span class="s1">&#39;my_dag&#39;</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2016</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span> [...]
     <span class="p">(</span>
-        <span class="n">DummyOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;dummy_1&#39;</span><span class="p">)</span>
+        <span class="n">dag</span>
+        <span class="o">&gt;&gt;</span> <span class="n">DummyOperator</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;dummy_1&#39;</span><span class="p">)</span>
         <span class="o">&gt;&gt;</span> <span class="n">BashOperator</span><span class="p">(</span>
             <span class="n">task_id</span><span class="o">=</span><span class="s1">&#39;bash_1&#39;</span><span class="p">,</span>
             <span class="n">bash_command</span><span class="o">=</span><span class="s1">&#39;echo &quot;HELLO!&quot;&#39;</span><span class="p">)</span>
diff --git a/configuration.html b/configuration.html
index dc4577c..ea1d2e9 100644
--- a/configuration.html
+++ b/configuration.html
@@ -92,7 +92,6 @@
 <li class="toctree-l2"><a class="reference internal" href="#setting-up-a-backend">Setting up a Backend</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#connections">Connections</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#scaling-out-with-celery">Scaling Out with Celery</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#scaling-out-with-dask">Scaling Out with Dask</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#logs">Logs</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#scaling-out-on-mesos-community-contributed">Scaling Out on Mesos (community contributed)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#integration-with-systemd">Integration with systemd</a></li>
@@ -285,33 +284,6 @@ its direction.</p>
 to monitor your workers. You can use the shortcut command <code class="docutils literal"><span class="pre">airflow</span> <span class="pre">flower</span></code>
 to start a Flower web server.</p>
 </div>
-<div class="section" id="scaling-out-with-dask">
-<h2>Scaling Out with Dask<a class="headerlink" href="#scaling-out-with-dask" title="Permalink to this headline">¶</a></h2>
-<p><code class="docutils literal"><span class="pre">DaskExecutor</span></code> allows you to run Airflow tasks in a Dask Distributed cluster.</p>
-<p>Dask clusters can be run on a single machine or on remote networks. For complete
-details, consult the <a class="reference external" href="https://distributed.readthedocs.io/">Distributed documentation</a>.</p>
-<p>To create a cluster, first start a Scheduler:</p>
-<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="c1"># default settings for a local cluster</span>
-<span class="nv">DASK_HOST</span><span class="o">=</span>127.0.0.1
-<span class="nv">DASK_PORT</span><span class="o">=</span>8786
-
-dask-scheduler --host <span class="nv">$DASK_HOST</span> --port <span class="nv">$DASK_PORT</span>
-</pre></div>
-</div>
-<p>Next start at least one Worker on any machine that can connect to the host:</p>
-<div class="highlight-bash"><div class="highlight"><pre><span></span>dask-worker <span class="nv">$DASK_HOST</span>:<span class="nv">$DASK_PORT</span>
-</pre></div>
-</div>
-<p>Edit your <code class="docutils literal"><span class="pre">airflow.cfg</span></code> to set your executor to <code class="docutils literal"><span class="pre">DaskExecutor</span></code> and provide
-the Dask Scheduler address in the <code class="docutils literal"><span class="pre">[dask]</span></code> section.</p>
-<p>Please note:</p>
-<ul class="simple">
-<li>Each Dask worker must be able to import Airflow and any dependencies you
-require.</li>
-<li>Dask does not support queues. If an Airflow task was created with a queue, a
-warning will be raised but the task will be submitted to the cluster.</li>
-</ul>
-</div>
 <div class="section" id="logs">
 <h2>Logs<a class="headerlink" href="#logs" title="Permalink to this headline">¶</a></h2>
 <p>Users can specify a logs folder in <code class="docutils literal"><span class="pre">airflow.cfg</span></code>. By default, it is in
diff --git a/genindex.html b/genindex.html
index 76acd11..bb1eacf 100644
--- a/genindex.html
+++ b/genindex.html
@@ -655,6 +655,8 @@
 </li>
       <li><a href="code.html#airflow.operators.TimeSensor">TimeSensor (class in airflow.operators)</a>
 </li>
+      <li><a href="code.html#airflow.models.DAG.topological_sort">topological_sort() (airflow.models.DAG method)</a>
+</li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="code.html#airflow.models.DAG.tree_view">tree_view() (airflow.models.DAG method)</a>
diff --git a/index.html b/index.html
index d3db9c4..eec44c1 100644
--- a/index.html
+++ b/index.html
@@ -258,7 +258,6 @@ unit of work and continuity.</p>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#setting-up-a-backend">Setting up a Backend</a></li>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#connections">Connections</a></li>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#scaling-out-with-celery">Scaling Out with Celery</a></li>
-<li class="toctree-l2"><a class="reference internal" href="configuration.html#scaling-out-with-dask">Scaling Out with Dask</a></li>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#logs">Logs</a></li>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#scaling-out-on-mesos-community-contributed">Scaling Out on Mesos (community contributed)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="configuration.html#integration-with-systemd">Integration with systemd</a></li>
diff --git a/objects.inv b/objects.inv
index 98f139d..6723914 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index 625cb26..121f5a8 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api","cli","code","concepts","configuration","faq","index","installation","integration","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],envversion:50,filenames:["api.rst","cli.rst","code.rst","concepts.rst","configuration.rst","faq.rst","index.rst","installation.rst","integration.rst","license.rst","plugins.rst","profiling.rst","project.rst","scheduler.rst","security.rst","start.rst","tutorial.rst","ui.rst"],objects:{" [...]
\ No newline at end of file
+Search.setIndex({docnames:["api","cli","code","concepts","configuration","faq","index","installation","integration","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],envversion:50,filenames:["api.rst","cli.rst","code.rst","concepts.rst","configuration.rst","faq.rst","index.rst","installation.rst","integration.rst","license.rst","plugins.rst","profiling.rst","project.rst","scheduler.rst","security.rst","start.rst","tutorial.rst","ui.rst"],objects:{" [...]
\ No newline at end of file


[airflow-site] 13/30: (manually) remove incubating tags

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit cd012a8d122f3a6edda2c528976bf91c3c7133c3
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Tue Jan 8 23:16:41 2019 +0000

    (manually) remove incubating tags
    
    This edit was done by manually editing the build HTML.
---
 _sources/index.rst.txt | 17 +----------------
 index.html             | 21 ++++-----------------
 project.html           | 10 +++++-----
 3 files changed, 10 insertions(+), 38 deletions(-)

diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
index 4c18ce5..1124b29 100644
--- a/_sources/index.rst.txt
+++ b/_sources/index.rst.txt
@@ -18,25 +18,10 @@
 
 .. image:: img/pin_large.png
     :width: 100
-.. image:: img/incubator.jpg
-    :width: 150
 
-Apache Airflow (incubating) Documentation
+Apache Airflow Documentation
 =========================================
 
-.. important::
-
-    **Disclaimer**: Apache Airflow is an effort undergoing incubation at The
-    Apache Software Foundation (ASF), sponsored by the Apache Incubator.
-    Incubation is required of all newly accepted projects until a further
-    review indicates that the infrastructure, communications, and
-    decision making process have stabilized in a manner consistent with
-    other successful ASF projects. While incubation status is not
-    necessarily a reflection of the completeness or stability of
-    the code, it does indicate that the project has yet to be fully
-    endorsed by the ASF.
-
-
 Airflow is a platform to programmatically author, schedule and monitor
 workflows.
 
diff --git a/index.html b/index.html
index c8a8049..6ad2881 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Apache Airflow (incubating) Documentation &mdash; Airflow Documentation</title>
+  <title>Apache Airflow Documentation &mdash; Airflow Documentation</title>
   
 
   
@@ -142,7 +142,7 @@
     
       <li><a href="#">Docs</a> &raquo;</li>
         
-      <li>Apache Airflow (incubating) Documentation</li>
+      <li>Apache Airflow Documentation</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -162,21 +162,8 @@
            <div itemprop="articleBody">
             
   <a class="reference internal image-reference" href="_images/pin_large.png"><img alt="_images/pin_large.png" src="_images/pin_large.png" style="width: 100px;" /></a>
-<a class="reference internal image-reference" href="_images/incubator.jpg"><img alt="_images/incubator.jpg" src="_images/incubator.jpg" style="width: 150px;" /></a>
-<div class="section" id="apache-airflow-incubating-documentation">
-<h1>Apache Airflow (incubating) Documentation<a class="headerlink" href="#apache-airflow-incubating-documentation" title="Permalink to this headline">¶</a></h1>
-<div class="admonition important">
-<p class="first admonition-title">Important</p>
-<p class="last"><strong>Disclaimer</strong>: Apache Airflow is an effort undergoing incubation at The
-Apache Software Foundation (ASF), sponsored by the Apache Incubator.
-Incubation is required of all newly accepted projects until a further
-review indicates that the infrastructure, communications, and
-decision making process have stabilized in a manner consistent with
-other successful ASF projects. While incubation status is not
-necessarily a reflection of the completeness or stability of
-the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.</p>
-</div>
+<div class="section" id="apache-airflow-documentation">
+<h1>Apache Airflow Documentation<a class="headerlink" href="#apache-airflow-documentation" title="Permalink to this headline">¶</a></h1>
 <p>Airflow is a platform to programmatically author, schedule and monitor
 workflows.</p>
 <p>Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks.
diff --git a/project.html b/project.html
index 8e43fee..2ece076 100644
--- a/project.html
+++ b/project.html
@@ -29,7 +29,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="License" href="license.html" />
-    <link rel="prev" title="Apache Airflow (incubating) Documentation" href="index.html" /> 
+    <link rel="prev" title="Apache Airflow Documentation" href="index.html" /> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -197,7 +197,7 @@ the Airbnb Github and announced in June 2015.</p>
 <li>&#64;ash (Ash Berlin-Taylor)</li>
 <li>&#64;kaxilnaik (Kaxil Naik)</li>
 </ul>
-<p>For the full list of contributors, take a look at <a class="reference external" href="https://github.com/apache/incubator-airflow/graphs/contributors">Airflow’s Github
+<p>For the full list of contributors, take a look at <a class="reference external" href="https://github.com/apache/airflow/graphs/contributors">Airflow’s Github
 Contributor page:</a></p>
 </div>
 <div class="section" id="resources-links">
@@ -205,8 +205,8 @@ Contributor page:</a></p>
 <ul class="simple">
 <li><a class="reference external" href="http://airflow.apache.org/">Airflow’s official documentation</a></li>
 <li>Mailing list (send emails to
-<code class="docutils literal notranslate"><span class="pre">dev-subscribe&#64;airflow.incubator.apache.org</span></code> and/or
-<code class="docutils literal notranslate"><span class="pre">commits-subscribe&#64;airflow.incubator.apache.org</span></code>
+<code class="docutils literal notranslate"><span class="pre">dev-subscribe&#64;airflow.apache.org</span></code> and/or
+<code class="docutils literal notranslate"><span class="pre">commits-subscribe&#64;airflow.apache.org</span></code>
 to subscribe to each)</li>
 <li><a class="reference external" href="https://issues.apache.org/jira/browse/AIRFLOW">Issues on Apache’s Jira</a></li>
 <li><a class="reference external" href="https://gitter.im/airbnb/airflow">Gitter (chat) Channel</a></li>
@@ -230,7 +230,7 @@ to subscribe to each)</li>
         <a href="license.html" class="btn btn-neutral float-right" title="License" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="index.html" class="btn btn-neutral" title="Apache Airflow (incubating) Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="index.html" class="btn btn-neutral" title="Apache Airflow Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   


[airflow-site] 12/30: Docs from 1.10.1

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 1f06fa0e0ead70d24f3c87326734aec89930207d
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Thu Nov 29 15:57:25 2018 +0000

    Docs from 1.10.1
---
 _images/airflow.gif                                |  Bin 622963 -> 622832 bytes
 .../airflow/contrib/executors/mesos_executor.html  |  548 ----
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   21 +-
 .../aws_firehose_hook.html}                        |   86 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |  104 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   21 +-
 .../contrib/hooks/azure_data_lake_hook.html        |   21 +-
 .../contrib/hooks/azure_fileshare_hook.html        |   21 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  139 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |   21 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   21 +-
 .../airflow/contrib/hooks/databricks_hook.html     |   87 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |   21 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |   21 +-
 .../contrib/hooks/discord_webhook_hook.html        |   21 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |   36 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |   21 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |   91 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   23 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |   25 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  128 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   21 +-
 .../airflow/contrib/hooks/gcp_function_hook.html   |  406 +++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   32 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |  474 +++
 _modules/airflow/contrib/hooks/gcs_hook.html       |   60 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |  491 +++
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   21 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |   21 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/pinot_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |   21 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |   21 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |  972 ++++++
 _modules/airflow/contrib/hooks/segment_hook.html   |   21 +-
 _modules/airflow/contrib/hooks/sftp_hook.html      |   98 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   21 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |   21 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   21 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |   21 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   21 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |  315 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |   21 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |   64 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |   21 +-
 _modules/airflow/contrib/kubernetes/secret.html    |   21 +-
 .../contrib/operators/awsbatch_operator.html       |   47 +-
 .../contrib/operators/bigquery_check_operator.html |   71 +-
 .../contrib/operators/bigquery_get_data.html       |   25 +-
 .../contrib/operators/bigquery_operator.html       |  202 +-
 .../operators/bigquery_table_delete_operator.html  |   25 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   33 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |   34 +-
 .../contrib/operators/cassandra_to_gcs.html        |   25 +-
 .../contrib/operators/databricks_operator.html     |   37 +-
 .../contrib/operators/dataflow_operator.html       |  104 +-
 .../contrib/operators/dataproc_operator.html       |  130 +-
 .../operators/datastore_export_operator.html       |   25 +-
 .../operators/datastore_import_operator.html       |   25 +-
 .../operators/discord_webhook_operator.html        |   21 +-
 .../airflow/contrib/operators/druid_operator.html  |   25 +-
 .../airflow/contrib/operators/ecs_operator.html    |   52 +-
 .../contrib/operators/emr_add_steps_operator.html  |   25 +-
 .../operators/emr_create_job_flow_operator.html    |   25 +-
 .../operators/emr_terminate_job_flow_operator.html |   25 +-
 .../airflow/contrib/operators/file_to_gcs.html     |   34 +-
 .../airflow/contrib/operators/file_to_wasb.html    |   21 +-
 .../contrib/operators/gcp_compute_operator.html    |  394 +++
 .../contrib/operators/gcp_container_operator.html  |   29 +-
 .../contrib/operators/gcp_function_operator.html   |  522 ++++
 .../contrib/operators/gcp_sql_operator.html        |  737 +++++
 .../contrib/operators/gcs_download_operator.html   |   25 +-
 .../contrib/operators/gcs_list_operator.html       |   25 +-
 .../airflow/contrib/operators/gcs_operator.html    |   25 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   25 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   25 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   25 +-
 .../contrib/operators/hipchat_operator.html        |   25 +-
 .../contrib/operators/hive_to_dynamodb.html        |   25 +-
 .../operators/jenkins_job_trigger_operator.html    |   25 +-
 .../airflow/contrib/operators/jira_operator.html   |   25 +-
 .../contrib/operators/kubernetes_pod_operator.html |   51 +-
 .../contrib/operators/mlengine_operator.html       |   41 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |   21 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |   25 +-
 .../operators/postgres_to_gcs_operator.html        |   25 +-
 .../airflow/contrib/operators/pubsub_operator.html |   41 +-
 .../contrib/operators/qubole_check_operator.html   |   29 +-
 .../airflow/contrib/operators/qubole_operator.html |   29 +-
 .../contrib/operators/s3_list_operator.html        |   25 +-
 .../contrib/operators/s3_to_gcs_operator.html      |   25 +-
 .../contrib/operators/sagemaker_base_operator.html |  311 ++
 .../sagemaker_endpoint_config_operator.html}       |   96 +-
 .../operators/sagemaker_endpoint_operator.html     |  362 +++
 ...operator.html => sagemaker_model_operator.html} |   98 +-
 .../operators/sagemaker_training_operator.html     |  310 ++
 .../operators/sagemaker_transform_operator.html    |  336 ++
 .../operators/sagemaker_tuning_operator.html       |  310 ++
 .../operators/segment_track_event_operator.html    |   25 +-
 .../airflow/contrib/operators/sftp_operator.html   |   57 +-
 .../contrib/operators/slack_webhook_operator.html  |   25 +-
 .../contrib/operators/snowflake_operator.html      |   25 +-
 .../contrib/operators/spark_jdbc_operator.html     |   25 +-
 .../contrib/operators/spark_sql_operator.html      |   25 +-
 .../contrib/operators/spark_submit_operator.html   |   25 +-
 .../airflow/contrib/operators/sqoop_operator.html  |   25 +-
 .../airflow/contrib/operators/ssh_operator.html    |  164 +-
 .../contrib/operators/vertica_operator.html        |   25 +-
 .../airflow/contrib/operators/vertica_to_hive.html |   25 +-
 .../airflow/contrib/operators/winrm_operator.html  |   25 +-
 .../sensors/aws_redshift_cluster_sensor.html       |   21 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |   21 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   21 +-
 ...redis_key_sensor.html => cassandra_sensor.html} |   78 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   21 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |   21 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |   21 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |   25 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |   21 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   21 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   21 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   21 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |   21 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |   21 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   21 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |   21 +-
 ...base_sensor.html => sagemaker_base_sensor.html} |   73 +-
 ..._sensor.html => sagemaker_endpoint_sensor.html} |   74 +-
 .../contrib/sensors/sagemaker_training_sensor.html |  313 ++
 ...sensor.html => sagemaker_transform_sensor.html} |   81 +-
 ...ow_sensor.html => sagemaker_tuning_sensor.html} |   75 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   21 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   21 +-
 _modules/airflow/executors/celery_executor.html    |   27 +-
 _modules/airflow/executors/local_executor.html     |   21 +-
 .../airflow/executors/sequential_executor.html     |   21 +-
 _modules/airflow/hooks/S3_hook.html                |  164 +-
 _modules/airflow/hooks/dbapi_hook.html             |   21 +-
 _modules/airflow/hooks/docker_hook.html            |   21 +-
 _modules/airflow/hooks/druid_hook.html             |   35 +-
 _modules/airflow/hooks/hdfs_hook.html              |   21 +-
 _modules/airflow/hooks/hive_hooks.html             |   21 +-
 _modules/airflow/hooks/http_hook.html              |   33 +-
 _modules/airflow/hooks/jdbc_hook.html              |   21 +-
 _modules/airflow/hooks/mssql_hook.html             |   21 +-
 _modules/airflow/hooks/mysql_hook.html             |   33 +-
 _modules/airflow/hooks/oracle_hook.html            |   21 +-
 _modules/airflow/hooks/pig_hook.html               |   21 +-
 _modules/airflow/hooks/postgres_hook.html          |   21 +-
 _modules/airflow/hooks/presto_hook.html            |   21 +-
 _modules/airflow/hooks/samba_hook.html             |   21 +-
 _modules/airflow/hooks/slack_hook.html             |   21 +-
 _modules/airflow/hooks/sqlite_hook.html            |   21 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   21 +-
 _modules/airflow/hooks/zendesk_hook.html           |   21 +-
 _modules/airflow/macros.html                       |   21 +-
 _modules/airflow/macros/hive.html                  |   21 +-
 _modules/airflow/models.html                       |  242 +-
 _modules/airflow/operators/bash_operator.html      |   25 +-
 _modules/airflow/operators/check_operator.html     |   33 +-
 _modules/airflow/operators/dagrun_operator.html    |   25 +-
 _modules/airflow/operators/docker_operator.html    |   80 +-
 .../airflow/operators/druid_check_operator.html    |   25 +-
 _modules/airflow/operators/dummy_operator.html     |   25 +-
 _modules/airflow/operators/email_operator.html     |   25 +-
 _modules/airflow/operators/generic_transfer.html   |   25 +-
 _modules/airflow/operators/hive_operator.html      |   33 +-
 .../airflow/operators/hive_stats_operator.html     |   25 +-
 _modules/airflow/operators/hive_to_druid.html      |   25 +-
 _modules/airflow/operators/hive_to_mysql.html      |   25 +-
 .../airflow/operators/hive_to_samba_operator.html  |   25 +-
 _modules/airflow/operators/http_operator.html      |   36 +-
 _modules/airflow/operators/jdbc_operator.html      |   25 +-
 .../airflow/operators/latest_only_operator.html    |   25 +-
 _modules/airflow/operators/mssql_operator.html     |   25 +-
 _modules/airflow/operators/mssql_to_hive.html      |   25 +-
 _modules/airflow/operators/mysql_operator.html     |   25 +-
 _modules/airflow/operators/mysql_to_hive.html      |   25 +-
 _modules/airflow/operators/oracle_operator.html    |   25 +-
 _modules/airflow/operators/pig_operator.html       |   33 +-
 _modules/airflow/operators/postgres_operator.html  |   25 +-
 .../airflow/operators/presto_check_operator.html   |   21 +-
 _modules/airflow/operators/presto_to_mysql.html    |   25 +-
 _modules/airflow/operators/python_operator.html    |   33 +-
 .../airflow/operators/redshift_to_s3_operator.html |   25 +-
 .../operators/s3_file_transform_operator.html      |   49 +-
 .../airflow/operators/s3_to_hive_operator.html     |   27 +-
 .../airflow/operators/s3_to_redshift_operator.html |   25 +-
 _modules/airflow/operators/slack_operator.html     |   21 +-
 _modules/airflow/operators/sqlite_operator.html    |   25 +-
 _modules/airflow/operators/subdag_operator.html    |   25 +-
 _modules/airflow/sensors/base_sensor_operator.html |   25 +-
 _modules/airflow/sensors/external_task_sensor.html |   21 +-
 _modules/airflow/sensors/hdfs_sensor.html          |   21 +-
 .../airflow/sensors/hive_partition_sensor.html     |   21 +-
 _modules/airflow/sensors/http_sensor.html          |   21 +-
 .../sensors/metastore_partition_sensor.html        |   21 +-
 .../sensors/named_hive_partition_sensor.html       |   21 +-
 _modules/airflow/sensors/s3_key_sensor.html        |   21 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |   23 +-
 _modules/airflow/sensors/sql_sensor.html           |   21 +-
 _modules/airflow/sensors/time_delta_sensor.html    |   21 +-
 _modules/airflow/sensors/time_sensor.html          |   21 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |   21 +-
 _modules/index.html                                |   45 +-
 _sources/api.rst.txt                               |   17 +
 _sources/cli.rst.txt                               |   17 +
 _sources/code.rst.txt                              |   40 +-
 _sources/concepts.rst.txt                          |   63 +-
 _sources/faq.rst.txt                               |   17 +
 _sources/howto/executor/use-celery.rst.txt         |   19 +-
 _sources/howto/executor/use-dask.rst.txt           |   17 +
 _sources/howto/executor/use-mesos.rst.txt          |   17 +
 _sources/howto/index.rst.txt                       |   17 +
 _sources/howto/initialize-database.rst.txt         |   17 +
 _sources/howto/manage-connections.rst.txt          |  101 +-
 _sources/howto/operator.rst.txt                    |  493 +++
 _sources/howto/run-with-systemd.rst.txt            |   17 +
 _sources/howto/run-with-upstart.rst.txt            |   17 +
 _sources/howto/secure-connections.rst.txt          |   28 +-
 _sources/howto/set-config.rst.txt                  |   37 +-
 _sources/howto/use-test-config.rst.txt             |   17 +
 _sources/howto/write-logs.rst.txt                  |   86 +-
 _sources/index.rst.txt                             |   17 +
 _sources/installation.rst.txt                      |   84 +-
 _sources/integration.rst.txt                       |  161 +-
 _sources/kubernetes.rst.txt                        |   34 +-
 _sources/license.rst.txt                           |   17 +
 _sources/lineage.rst.txt                           |   17 +
 _sources/plugins.rst.txt                           |   70 +-
 _sources/profiling.rst.txt                         |   19 +
 _sources/project.rst.txt                           |   18 +-
 _sources/scheduler.rst.txt                         |   24 +-
 _sources/security.rst.txt                          |   37 +-
 _sources/start.rst.txt                             |   17 +
 _sources/timezone.rst.txt                          |   84 +-
 _sources/tutorial.rst.txt                          |   58 +-
 _sources/ui.rst.txt                                |   19 +-
 _static/basic.css                                  |   11 +
 _static/css/theme.css                              |    6 +-
 _static/doctools.js                                |    6 +-
 _static/documentation_options.js                   |  291 +-
 _static/fonts/Inconsolata-Bold.ttf                 |  Bin 0 -> 109948 bytes
 _static/fonts/Inconsolata-Regular.ttf              |  Bin 0 -> 96964 bytes
 _static/fonts/Inconsolata.ttf                      |  Bin 0 -> 63184 bytes
 _static/fonts/Lato-Bold.ttf                        |  Bin 0 -> 656544 bytes
 _static/fonts/Lato-Regular.ttf                     |  Bin 0 -> 656568 bytes
 _static/fonts/RobotoSlab-Bold.ttf                  |  Bin 0 -> 170616 bytes
 _static/fonts/RobotoSlab-Regular.ttf               |  Bin 0 -> 169064 bytes
 _static/js/theme.js                                |    6 +-
 _static/searchtools.js                             |  351 +--
 api.html                                           |   21 +-
 cli.html                                           | 1473 +++++----
 code.html                                          | 3218 +++++++++++++++++---
 concepts.html                                      |   59 +-
 faq.html                                           |   21 +-
 genindex.html                                      |  545 +++-
 howto/executor/use-celery.html                     |   23 +-
 howto/executor/use-dask.html                       |   21 +-
 howto/executor/use-mesos.html                      |   21 +-
 howto/index.html                                   |   21 +-
 howto/initialize-database.html                     |   21 +-
 howto/manage-connections.html                      |  100 +-
 howto/operator.html                                |  643 +++-
 howto/run-with-systemd.html                        |   21 +-
 howto/run-with-upstart.html                        |   21 +-
 howto/secure-connections.html                      |   31 +-
 howto/set-config.html                              |   40 +-
 howto/use-test-config.html                         |   21 +-
 howto/write-logs.html                              |   92 +-
 index.html                                         |  137 +-
 installation.html                                  |  124 +-
 integration.html                                   | 1798 +++++++++--
 kubernetes.html                                    |   58 +-
 license.html                                       |   21 +-
 lineage.html                                       |   21 +-
 objects.inv                                        |  Bin 7505 -> 8915 bytes
 plugins.html                                       |   68 +-
 profiling.html                                     |   21 +-
 project.html                                       |   22 +-
 py-modindex.html                                   |   21 +-
 scheduler.html                                     |   27 +-
 search.html                                        |   23 +-
 searchindex.js                                     |    2 +-
 security.html                                      |   41 +-
 start.html                                         |   21 +-
 timezone.html                                      |   25 +-
 tutorial.html                                      |   62 +-
 ui.html                                            |   23 +-
 292 files changed, 17934 insertions(+), 6968 deletions(-)

diff --git a/_images/airflow.gif b/_images/airflow.gif
index 1889b86..7646e37 100644
Binary files a/_images/airflow.gif and b/_images/airflow.gif differ
diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
deleted file mode 100644
index a495421..0000000
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ /dev/null
@@ -1,548 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-
-  
-  <script src="../../../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> Airflow
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">Airflow</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>airflow.contrib.executors.mesos_executor</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for airflow.contrib.executors.mesos_executor</h1><div class="highlight"><pre>
-<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
-<span class="c1">#</span>
-<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
-<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
-<span class="c1"># distributed with this work for additional information</span>
-<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
-<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
-<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
-<span class="c1"># with the License.  You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
-<span class="c1"># software distributed under the License is distributed on an</span>
-<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
-<span class="c1"># KIND, either express or implied.  See the License for the</span>
-<span class="c1"># specific language governing permissions and limitations</span>
-<span class="c1"># under the License.</span>
-
-<span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
-
-<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
-<span class="kn">from</span> <span class="nn">airflow.www.utils</span> <span class="k">import</span> <span class="n">LoginMixin</span>
-
-
-<span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">str</span>
-<span class="kn">from</span> <span class="nn">queue</span> <span class="k">import</span> <span class="n">Queue</span>
-
-<span class="kn">import</span> <span class="nn">mesos.interface</span>
-<span class="kn">from</span> <span class="nn">mesos.interface</span> <span class="k">import</span> <span class="n">mesos_pb2</span>
-<span class="kn">import</span> <span class="nn">mesos.native</span>
-
-<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
-<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="k">import</span> <span class="n">BaseExecutor</span>
-<span class="kn">from</span> <span class="nn">airflow.settings</span> <span class="k">import</span> <span class="n">Session</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
-
-<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
-<span class="n">DEFAULT_FRAMEWORK_NAME</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
-<span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;mesos_framework_&#39;</span>
-
-
-<span class="k">def</span> <span class="nf">get_framework_name</span><span class="p">():</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">DEFAULT_FRAMEWORK_NAME</span>
-    <span class="k">return</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">)</span>
-
-
-<span class="c1"># AirflowMesosScheduler, implements Mesos Scheduler interface</span>
-<span class="c1"># To schedule airflow jobs on mesos</span>
-<span class="k">class</span> <span class="nc">AirflowMesosScheduler</span><span class="p">(</span><span class="n">mesos</span><span class="o">.</span><span class="n">interface</span><span class="o">.</span><span class="n">Scheduler</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Airflow Mesos scheduler implements mesos scheduler interface</span>
-<span class="sd">    to schedule airflow tasks on mesos.</span>
-<span class="sd">    Basically, it schedules a command like</span>
-<span class="sd">    &#39;airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; --local -p=&lt;pickle&gt;&#39;</span>
-<span class="sd">    to run on a mesos slave.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">task_queue</span><span class="p">,</span>
-                 <span class="n">result_queue</span><span class="p">,</span>
-                 <span class="n">task_cpu</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
-                 <span class="n">task_mem</span><span class="o">=</span><span class="mi">256</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="o">=</span> <span class="n">task_cpu</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span> <span class="o">=</span> <span class="n">task_mem</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span>
-            <span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                      <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> \
-                <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
-            <span class="c1"># Import here to work around a circular import error</span>
-            <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
-
-            <span class="c1"># Update the Framework ID in the database.</span>
-            <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
-            <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">get_framework_name</span><span class="p">()</span>
-            <span class="n">connection</span> <span class="o">=</span> <span class="n">Session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="s1">&#39;mesos_framework-id&#39;</span><span class="p">,</span>
-                                        <span class="n">extra</span><span class="o">=</span><span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span>
-
-            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">connection</span><span class="p">)</span>
-            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
-            <span class="n">Session</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">reregistered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler re-registered to mesos&quot;</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">disconnected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler disconnected from mesos&quot;</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">offerRescinded</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offerId</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler offer </span><span class="si">%s</span><span class="s2"> rescinded&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">offerId</span><span class="p">))</span>
-
-    <span class="k">def</span> <span class="nf">frameworkMessage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler received framework message </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">executorLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">executorId</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">,</span> <span class="n">status</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler executor </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">executorId</span><span class="p">))</span>
-
-    <span class="k">def</span> <span class="nf">slaveLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">slaveId</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler slave </span><span class="si">%s</span><span class="s2"> lost&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">slaveId</span><span class="p">))</span>
-
-    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
-        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler driver aborted </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">message</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">resourceOffers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">offers</span><span class="p">):</span>
-        <span class="k">for</span> <span class="n">offer</span> <span class="ow">in</span> <span class="n">offers</span><span class="p">:</span>
-            <span class="n">tasks</span> <span class="o">=</span> <span class="p">[]</span>
-            <span class="n">offerCpus</span> <span class="o">=</span> <span class="mi">0</span>
-            <span class="n">offerMem</span> <span class="o">=</span> <span class="mi">0</span>
-            <span class="k">for</span> <span class="n">resource</span> <span class="ow">in</span> <span class="n">offer</span><span class="o">.</span><span class="n">resources</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;cpus&quot;</span><span class="p">:</span>
-                    <span class="n">offerCpus</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
-                <span class="k">elif</span> <span class="n">resource</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;mem&quot;</span><span class="p">:</span>
-                    <span class="n">offerMem</span> <span class="o">+=</span> <span class="n">resource</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span>
-
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Received offer </span><span class="si">%s</span><span class="s2"> with cpus: </span><span class="si">%s</span><span class="s2"> and mem: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                          <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">offerCpus</span><span class="p">,</span> <span class="n">offerMem</span><span class="p">)</span>
-
-            <span class="n">remainingCpus</span> <span class="o">=</span> <span class="n">offerCpus</span>
-            <span class="n">remainingMem</span> <span class="o">=</span> <span class="n">offerMem</span>
-
-            <span class="k">while</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">())</span> <span class="ow">and</span> \
-                    <span class="n">remainingCpus</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span> <span class="ow">and</span> \
-                    <span class="n">remainingMem</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span><span class="p">:</span>
-                <span class="n">key</span><span class="p">,</span> <span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-                <span class="n">tid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">+=</span> <span class="mi">1</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)]</span> <span class="o">=</span> <span class="n">key</span>
-
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Launching task </span><span class="si">%d</span><span class="s2"> using offer </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">tid</span><span class="p">,</span> <span class="n">offer</span><span class="o">.</span><span class="n">id</span><span  [...]
-
-                <span class="n">task</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskInfo</span><span class="p">()</span>
-                <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span>
-                <span class="n">task</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">offer</span><span class="o">.</span><span class="n">slave_id</span><span class="o">.</span><span class="n">value</span>
-                <span class="n">task</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;AirflowTask </span><span class="si">%d</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">tid</span>
-
-                <span class="n">cpus</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
-                <span class="n">cpus</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;cpus&quot;</span>
-                <span class="n">cpus</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
-                <span class="n">cpus</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
-
-                <span class="n">mem</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">resources</span><span class="o">.</span><span class="n">add</span><span class="p">()</span>
-                <span class="n">mem</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;mem&quot;</span>
-                <span class="n">mem</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Value</span><span class="o">.</span><span class="n">SCALAR</span>
-                <span class="n">mem</span><span class="o">.</span><span class="n">scalar</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
-
-                <span class="n">command</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">CommandInfo</span><span class="p">()</span>
-                <span class="n">command</span><span class="o">.</span><span class="n">shell</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">command</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">cmd</span>
-                <span class="n">task</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
-
-                <span class="c1"># If docker image for airflow is specified in config then pull that</span>
-                <span class="c1"># image before running the above airflow command</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">:</span>
-                    <span class="n">network</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="o">.</span><span class="n">Network</span><span class="o">.</span><span class="n">Value</span><span class="p">(</span><span class="s1">&#39;BRIDGE&#39;</span><span class="p">)</span>
-                    <span class="n">docker</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="p">(</span>
-                        <span class="n">image</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">,</span>
-                        <span class="n">force_pull_image</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                        <span class="n">network</span><span class="o">=</span><span class="n">network</span>
-                    <span class="p">)</span>
-                    <span class="n">container</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="p">(</span>
-                        <span class="nb">type</span><span class="o">=</span><span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">,</span>
-                        <span class="n">docker</span><span class="o">=</span><span class="n">docker</span>
-                    <span class="p">)</span>
-                    <span class="n">task</span><span class="o">.</span><span class="n">container</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">container</span><span class="p">)</span>
-
-                <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
-
-                <span class="n">remainingCpus</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
-                <span class="n">remainingMem</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span>
-
-            <span class="n">driver</span><span class="o">.</span><span class="n">launchTasks</span><span class="p">(</span><span class="n">offer</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="n">tasks</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">statusUpdate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">update</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s2">&quot;Task </span><span class="si">%s</span><span class="s2"> is in state </span><span class="si">%s</span><span class="s2">, data </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-            <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TaskState</span><span class="o">.</span><span class="n">Name</span><span class="p">(</span><span class="n">update</span><span class="o">.</span><span class="n">state</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span [...]
-        <span class="p">)</span>
-
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span><span class="p">[</span><span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
-        <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-            <span class="c1"># The map may not contain an item if the framework re-registered</span>
-            <span class="c1"># after a failover.</span>
-            <span class="c1"># Discard these tasks.</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Unrecognised task key </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">update</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
-            <span class="k">return</span>
-
-        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FINISHED</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">))</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
-
-        <span class="k">if</span> <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_LOST</span> <span class="ow">or</span> \
-           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_KILLED</span> <span class="ow">or</span> \
-           <span class="n">update</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">TASK_FAILED</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">))</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
-
-
-<div class="viewcode-block" id="MesosExecutor"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor">[docs]</a><span class="k">class</span> <span class="nc">MesosExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">,</span> <span class="n">LoginMixin</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    MesosExecutor allows distributing the execution of task</span>
-<span class="sd">    instances to multiple mesos workers.</span>
-
-<span class="sd">    Apache Mesos is a distributed systems kernel which abstracts</span>
-<span class="sd">    CPU, memory, storage, and other compute resources away from</span>
-<span class="sd">    machines (physical or virtual), enabling fault-tolerant and</span>
-<span class="sd">    elastic distributed systems to easily be built and run effectively.</span>
-<span class="sd">    See http://mesos.apache.org/</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="MesosExecutor.start"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.start">[docs]</a>    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">Queue</span><span class="p">()</span>
-        <span class="n">framework</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">FrameworkInfo</span><span class="p">()</span>
-        <span class="n">framework</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.master not provided for mesos executor&quot;</span><span class="p">)</span>
-
-        <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
-
-        <span class="n">framework</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">get_framework_name</span><span class="p">()</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">):</span>
-            <span class="n">task_cpu</span> <span class="o">=</span> <span class="mi">1</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">task_cpu</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">):</span>
-            <span class="n">task_memory</span> <span class="o">=</span> <span class="mi">256</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
-            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">True</span>
-
-            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
-                <span class="c1"># Import here to work around a circular import error</span>
-                <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
-
-                <span class="c1"># Query the database to get the ID of the Mesos Framework, if available.</span>
-                <span class="n">conn_id</span> <span class="o">=</span> <span class="n">FRAMEWORK_CONNID_PREFIX</span> <span class="o">+</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span>
-                <span class="n">session</span> <span class="o">=</span> <span class="n">Session</span><span class="p">()</span>
-                <span class="n">connection</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Connection</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">conn_id</span><span class="o">=</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p [...]
-                <span class="k">if</span> <span class="n">connection</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="c1"># Set the Framework ID to let the scheduler reconnect</span>
-                    <span class="c1"># with running tasks.</span>
-                    <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
-
-                <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
-                    <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span>
-                <span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">False</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;MesosFramework master : </span><span class="si">%s</span><span class="s1">, name : </span><span class="si">%s</span><span class="s1">, cpu : </span><span class="si">%s</span><span class="s1">, mem : </span><span class="si">%s</span><span class="s1">, checkpoint : </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-            <span class="n">master</span><span class="p">,</span> <span class="n">framework</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
-            <span class="nb">str</span><span class="p">(</span><span class="n">task_cpu</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_memory</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span><span class="p">)</span>
-        <span class="p">)</span>
-
-        <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
-
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
-                    <span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
-
-            <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
-            <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
-            <span class="n">credential</span><span class="o">.</span><span class="n">secret</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">)</span>
-
-            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">credential</span><span class="o">.</span><span class="n">principal</span>
-
-            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
-                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
-                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
-                                      <span class="n">task_cpu</span><span class="p">,</span>
-                                      <span class="n">task_memory</span><span class="p">),</span>
-                <span class="n">framework</span><span class="p">,</span>
-                <span class="n">master</span><span class="p">,</span>
-                <span class="n">implicit_acknowledgements</span><span class="p">,</span>
-                <span class="n">credential</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="s1">&#39;Airflow&#39;</span>
-            <span class="n">driver</span> <span class="o">=</span> <span class="n">mesos</span><span class="o">.</span><span class="n">native</span><span class="o">.</span><span class="n">MesosSchedulerDriver</span><span class="p">(</span>
-                <span class="n">AirflowMesosScheduler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="p">,</span>
-                                      <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">,</span>
-                                      <span class="n">task_cpu</span><span class="p">,</span>
-                                      <span class="n">task_memory</span><span class="p">),</span>
-                <span class="n">framework</span><span class="p">,</span>
-                <span class="n">master</span><span class="p">,</span>
-                <span class="n">implicit_acknowledgements</span><span class="p">)</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span></div>
-
-<div class="viewcode-block" id="MesosExecutor.execute_async"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">[docs]</a>    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</ [...]
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span></div>
-
-<div class="viewcode-block" id="MesosExecutor.sync"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.sync">[docs]</a>    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
-            <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="MesosExecutor.end"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.executors.mesos_executor.MesosExecutor.end">[docs]</a>    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script> 
-
-</body>
-</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
index b8fea44..4feb169 100644
--- a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -258,20 +258,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/vertica_operator.html b/_modules/airflow/contrib/hooks/aws_firehose_hook.html
similarity index 62%
copy from _modules/airflow/contrib/operators/vertica_operator.html
copy to _modules/airflow/contrib/hooks/aws_firehose_hook.html
index 49b6fe6..c78e6db 100644
--- a/_modules/airflow/contrib/operators/vertica_operator.html
+++ b/_modules/airflow/contrib/hooks/aws_firehose_hook.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>airflow.contrib.operators.vertica_operator &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
   
 
   
@@ -143,7 +143,7 @@
         
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>airflow.contrib.operators.vertica_operator</li>
+      <li>airflow.contrib.hooks.aws_firehose_hook</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -158,9 +158,8 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for airflow.contrib.operators.vertica_operator</h1><div class="highlight"><pre>
-<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
-<span class="c1">#</span>
+  <h1>Source code for airflow.contrib.hooks.aws_firehose_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
 <span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
 <span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
 <span class="c1"># distributed with this work for additional information</span>
@@ -177,37 +176,45 @@
 <span class="c1"># KIND, either express or implied.  See the License for the</span>
 <span class="c1"># specific language governing permissions and limitations</span>
 <span class="c1"># under the License.</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="k">import</span> <span class="n">VerticaHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
 
 
-<div class="viewcode-block" id="VerticaOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.vertica_operator.VerticaOperator">[docs]</a><span class="k">class</span> <span class="nc">VerticaOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<div class="viewcode-block" id="AwsFirehoseHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">[docs]</a><span class="k">class</span> <span class="nc">AwsFirehoseHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Executes sql code in a specific Vertica database</span>
-
-<span class="sd">    :param vertica_conn_id: reference to a specific Vertica database</span>
-<span class="sd">    :type vertica_conn_id: string</span>
-<span class="sd">    :param sql: the sql code to be executed. (templated)</span>
-<span class="sd">    :type sql: Can receive a str representing a sql statement,</span>
-<span class="sd">        a list of str (sql statements), or reference to a template file.</span>
-<span class="sd">        Template reference are recognized by str ending in &#39;.sql&#39;</span>
+<span class="sd">    Interact with AWS Kinesis Firehose.</span>
+<span class="sd">    :param delivery_stream: Name of the delivery stream</span>
+<span class="sd">    :type delivery_stream: str</span>
+<span class="sd">    :param region_name: AWS region name (example: us-east-1)</span>
+<span class="sd">    :type region_name: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
-    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#b4e0ff&#39;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delivery_stream</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delivery_stream</span> <span class="o">=</span> <span class="n">delivery_stream</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsFirehoseHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="AwsFirehoseHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns AwsHook connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;firehose&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="AwsFirehoseHook.put_records"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">[docs]</a>    <span class="k">def</span> <span class="nf">put_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">records</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Write batch records to Kinesis Firehose</span>
+<span class="sd">        &quot;&quot;&quot;</span>
 
-    <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">vertica_conn_id</span><span class="o">=</span><span class="s1">&#39;vertica_default&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">VerticaOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">vertica_conn_id</span> <span class="o">=</span> <span class="n">vertica_conn_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+        <span class="n">firehose_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">VerticaHook</span><span class="p">(</span><span class="n">vertica_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">vertica_conn_id</span><span class="p">)</span>
-        <span class="n">hook</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span></div>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">firehose_conn</span><span class="o">.</span><span class="n">put_record_batch</span><span class="p">(</span>
+            <span class="n">DeliveryStreamName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delivery_stream</span><span class="p">,</span>
+            <span class="n">Records</span><span class="o">=</span><span class="n">records</span>
+        <span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">response</span></div></div>
 </pre></div>
 
            </div>
@@ -238,20 +245,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/aws_hook.html b/_modules/airflow/contrib/hooks/aws_hook.html
index f572e90..fb81ebf 100644
--- a/_modules/airflow/contrib/hooks/aws_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_hook.html
@@ -178,7 +178,6 @@
 <span class="c1"># specific language governing permissions and limitations</span>
 <span class="c1"># under the License.</span>
 
-
 <span class="kn">import</span> <span class="nn">boto3</span>
 <span class="kn">import</span> <span class="nn">configparser</span>
 <span class="kn">import</span> <span class="nn">logging</span>
@@ -233,7 +232,7 @@
         <span class="k">try</span><span class="p">:</span>
             <span class="n">access_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">key_id_option</span><span class="p">)</span>
             <span class="n">secret_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">secret_key_option</span><span class="p">)</span>
-        <span class="k">except</span><span class="p">:</span>
+        <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Option Error in parsing s3 config file&quot;</span><span class="p">)</span>
             <span class="k">raise</span>
         <span class="k">return</span> <span class="n">access_key</span><span class="p">,</span> <span class="n">secret_key</span>
@@ -257,32 +256,36 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">connection_object</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                <span class="n">extra_config</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span>
                 <span class="k">if</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
                     <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span>
                     <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">password</span>
 
-                <span class="k">elif</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
-                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span>
+                <span class="k">elif</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">extra_config</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="p">[</span>
                         <span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
-                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">extra_config</span><span class="p">[</span>
                         <span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
 
-                <span class="k">elif</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                <span class="k">elif</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="n">extra_config</span><span class="p">:</span>
                     <span class="n">aws_access_key_id</span><span class="p">,</span> <span class="n">aws_secret_access_key</span> <span class="o">=</span> \
                         <span class="n">_parse_s3_config</span><span class="p">(</span>
-                            <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
-                            <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">))</span>
+                            <span class="n">extra_config</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
+                            <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">),</span>
+                            <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;profile&#39;</span><span class="p">))</span>
 
                 <span class="k">if</span> <span class="n">region_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="n">region_name</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;region_name&#39;</span><span class="p">)</span>
+                    <span class="n">region_name</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;region_name&#39;</span><span class="p">)</span>
 
-                <span class="n">role_arn</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span>
-                <span class="n">aws_account_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">)</span>
-                <span class="n">aws_iam_role</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">)</span>
+                <span class="n">role_arn</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span>
+                <span class="n">external_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;external_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_account_id</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_iam_role</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">)</span>
 
                 <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">aws_account_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> \
                         <span class="n">aws_iam_role</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="n">role_arn</span> <span class="o">=</span> <span class="s2">&quot;arn:aws:iam::&quot;</span> <span class="o">+</span> <span class="n">aws_account_id</span> <span class="o">+</span> <span class="s2">&quot;:role/&quot;</span> <span class="o">+</span> <span class="n">aws_iam_role</span>
+                    <span class="n">role_arn</span> <span class="o">=</span> <span class="s2">&quot;arn:aws:iam::</span><span class="si">{}</span><span class="s2">:role/</span><span class="si">{}</span><span class="s2">&quot;</span> \
+                        <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">aws_account_id</span><span class="p">,</span> <span class="n">aws_iam_role</span><span class="p">)</span>
 
                 <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                     <span class="n">sts_session</span> <span class="o">=</span> <span class="n">boto3</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">Session</span><span class="p">(</span>
@@ -291,14 +294,23 @@
                         <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">)</span>
 
                     <span class="n">sts_client</span> <span class="o">=</span> <span class="n">sts_session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="s1">&#39;sts&#39;</span><span class="p">)</span>
-                    <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
-                        <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
-                        <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
-                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;AccessKeyId&#39;</span><span class="p">]</span>
-                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;SecretAccessKey&#39;</span><span class="p">]</span>
-                    <span class="n">aws_session_token</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;SessionToken&#39;</span><span class="p">]</span>
 
-                <span class="n">endpoint_url</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">)</span>
+                    <span class="k">if</span> <span class="n">external_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                        <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                            <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
+                            <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                            <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
+                            <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">,</span>
+                            <span class="n">ExternalId</span><span class="o">=</span><span class="n">external_id</span><span class="p">)</span>
+
+                    <span class="n">credentials</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">]</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;AccessKeyId&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;SecretAccessKey&#39;</span><span class="p">]</span>
+                    <span class="n">aws_session_token</span> <span class="o">=</span> <span class="n">credentials</span><span class="p">[</span><span class="s1">&#39;SessionToken&#39;</span><span class="p">]</span>
+
+                <span class="n">endpoint_url</span> <span class="o">=</span> <span class="n">extra_config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">)</span>
 
             <span class="k">except</span> <span class="n">AirflowException</span><span class="p">:</span>
                 <span class="c1"># No connection found: fallback on boto3 credential strategy</span>
@@ -311,15 +323,17 @@
             <span class="n">aws_session_token</span><span class="o">=</span><span class="n">aws_session_token</span><span class="p">,</span>
             <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">),</span> <span class="n">endpoint_url</span>
 
-    <span class="k">def</span> <span class="nf">get_client_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_client_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="n">client_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="n">client_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">,</span>
+                              <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">get_resource_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">resource_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">get_resource_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">resource_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">resource</span><span class="p">(</span><span class="n">resource_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">resource</span><span class="p">(</span><span class="n">resource_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">,</span>
+                                <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
 
 <div class="viewcode-block" id="AwsHook.get_session"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_session">[docs]</a>    <span class="k">def</span> <span class="nf">get_session</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Get the underlying boto3.session.&quot;&quot;&quot;</span>
@@ -329,13 +343,26 @@
 <div class="viewcode-block" id="AwsHook.get_credentials"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">[docs]</a>    <span class="k">def</span> <span class="nf">get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Get the underlying `botocore.Credentials` object.</span>
 
-<span class="sd">        This contains the attributes: access_key, secret_key and token.</span>
+<span class="sd">        This contains the following authentication attributes: access_key, secret_key and token.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">session</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
-        <span class="c1"># Credentials are refreshable, so accessing your access key / secret key</span>
-        <span class="c1"># separately can lead to a race condition.</span>
+        <span class="c1"># Credentials are refreshable, so accessing your access key and</span>
+        <span class="c1"># secret key separately can lead to a race condition.</span>
         <span class="c1"># See https://stackoverflow.com/a/36291428/8283373</span>
-        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_frozen_credentials</span><span class="p">()</span></div></div>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_frozen_credentials</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="AwsHook.expand_role"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.expand_role">[docs]</a>    <span class="k">def</span> <span class="nf">expand_role</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">role</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.</span>
+<span class="sd">        If IAM role is already an IAM role ARN, no change is made.</span>
+
+<span class="sd">        :param role: IAM role name or ARN</span>
+<span class="sd">        :return: IAM role ARN</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="s1">&#39;/&#39;</span> <span class="ow">in</span> <span class="n">role</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">role</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;iam&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">get_role</span><span class="p">(</span><span class="n">RoleName</span><span class="o">=</span><span class="n">role</span><span class="p">)[</span><span class="s1">&#39;Role&#39;</span><span class="p">][</span><span class="s1">&#39;Arn& [...]
 </pre></div>
 
            </div>
@@ -366,20 +393,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
index 131de2a..9737155 100644
--- a/_modules/airflow/contrib/hooks/aws_lambda_hook.html
+++ b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -257,20 +257,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
index 89e24a5..5708fd2 100644
--- a/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
+++ b/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
@@ -330,20 +330,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
index a34fc55..e2b536a 100644
--- a/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
+++ b/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
@@ -401,20 +401,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/bigquery_hook.html b/_modules/airflow/contrib/hooks/bigquery_hook.html
index b02ae65..4416c41 100644
--- a/_modules/airflow/contrib/hooks/bigquery_hook.html
+++ b/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -367,7 +367,8 @@
                            <span class="n">dataset_id</span><span class="p">,</span>
                            <span class="n">table_id</span><span class="p">,</span>
                            <span class="n">schema_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                           <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{}</span>
+                           <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{},</span>
+                           <span class="n">labels</span><span class="o">=</span><span class="kc">None</span>
                            <span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a new, empty table in the dataset.</span>
@@ -380,6 +381,8 @@
 <span class="sd">        :type table_id: str</span>
 <span class="sd">        :param schema_fields: If set, the schema field list as defined here:</span>
 <span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</span>
+<span class="sd">        :param labels: a dictionary containing labels for the table, passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
 
 <span class="sd">        **Example**: ::</span>
 
@@ -410,6 +413,9 @@
         <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
             <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">time_partitioning</span>
 
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                       <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
 
@@ -441,7 +447,8 @@
                               <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                               <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                               <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                              <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{}</span>
+                              <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{},</span>
+                              <span class="n">labels</span><span class="o">=</span><span class="kc">None</span>
                               <span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a new external table in the dataset with the data in Google</span>
@@ -502,6 +509,8 @@
 <span class="sd">        :type allow_jagged_rows: bool</span>
 <span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
 <span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        :param labels: a dictionary containing labels for the table, passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">external_table_id</span> <span class="o">=</span> \
@@ -600,6 +609,9 @@
             <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">][</span><span class="n">src_fmt_to_param_mapping</span><span class="p">[</span>
                 <span class="n">source_format</span><span class="p">]]</span> <span class="o">=</span> <span class="n">src_fmt_configs</span>
 
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
         <span class="k">try</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
                 <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
@@ -621,13 +633,14 @@
                   <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                   <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
                   <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                  <span class="n">flatten_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">flatten_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">udf_config</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                   <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">maximum_bytes_billed</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                   <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                   <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
                   <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span>
                   <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{}):</span>
@@ -677,6 +690,9 @@
 <span class="sd">        :param query_params a dictionary containing query parameter types and</span>
 <span class="sd">            values, passed to BigQuery</span>
 <span class="sd">        :type query_params: dict</span>
+<span class="sd">        :param labels a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
 <span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
 <span class="sd">            table to be updated as a side effect of the query job.</span>
 <span class="sd">        :type schema_update_options: tuple</span>
@@ -685,9 +701,7 @@
 <span class="sd">            The default value is INTERACTIVE.</span>
 <span class="sd">        :type priority: string</span>
 <span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
-<span class="sd">            partition by field, type and</span>
-<span class="sd">            expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
-<span class="sd">            conjunction with dataset.table$partition.</span>
+<span class="sd">            partition by field, type and expiration as per API specifications.</span>
 <span class="sd">        :type time_partitioning: dict</span>
 
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -737,9 +751,11 @@
         <span class="p">}</span>
 
         <span class="k">if</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
-            <span class="k">assert</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">,</span> <span class="p">(</span>
-                <span class="s1">&#39;Expected destination_dataset_table in the format of &#39;</span>
-                <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">destination_dataset_table</span><span class="p">)</span>
+            <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                    <span class="s1">&#39;Expected destination_dataset_table name in the format of &#39;</span>
+                    <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">destination_dataset_table</span><span class="p">))</span>
             <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
                 <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_dataset_table</span><span class="p">,</span>
                                  <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
@@ -755,7 +771,9 @@
                 <span class="p">}</span>
             <span class="p">})</span>
         <span class="k">if</span> <span class="n">udf_config</span><span class="p">:</span>
-            <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;udf_config argument must have a type &#39;list&#39;&quot;</span>
+                                <span class="s2">&quot; not </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">udf_config</span><span class="p">)))</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
                 <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span> <span class="n">udf_config</span>
             <span class="p">})</span>
@@ -767,6 +785,9 @@
             <span class="k">else</span><span class="p">:</span>
                 <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;queryParameters&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_params</span>
 
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
         <span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">_cleanse_time_partitioning</span><span class="p">(</span>
             <span class="n">destination_dataset_table</span><span class="p">,</span>
             <span class="n">time_partitioning</span>
@@ -797,7 +818,8 @@
             <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
             <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
             <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
-            <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+            <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery extract command to copy data from BigQuery to</span>
 <span class="sd">        Google Cloud Storage. See here:</span>
@@ -822,6 +844,9 @@
 <span class="sd">        :type field_delimiter: string</span>
 <span class="sd">        :param print_header: Whether to print a header for a CSV file extract.</span>
 <span class="sd">        :type print_header: boolean</span>
+<span class="sd">        :param labels: a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">,</span> <span class="n">source_table</span> <span class="o">=</span> \
@@ -842,6 +867,9 @@
             <span class="p">}</span>
         <span class="p">}</span>
 
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
         <span class="k">if</span> <span class="n">export_format</span> <span class="o">==</span> <span class="s1">&#39;CSV&#39;</span><span class="p">:</span>
             <span class="c1"># Only set fieldDelimiter and printHeader fields if using CSV.</span>
             <span class="c1"># Google does not like it if you set these fields for other export</span>
@@ -855,7 +883,8 @@
                  <span class="n">source_project_dataset_tables</span><span class="p">,</span>
                  <span class="n">destination_project_dataset_table</span><span class="p">,</span>
                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">):</span>
+                 <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery copy command to copy data from one BigQuery table</span>
 <span class="sd">        to another. See here:</span>
@@ -878,6 +907,9 @@
 <span class="sd">        :type write_disposition: string</span>
 <span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
 <span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param labels a dictionary containing labels for the job/query,</span>
+<span class="sd">            passed to BigQuery</span>
+<span class="sd">        :type labels: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="p">([</span>
             <span class="n">source_project_dataset_tables</span>
@@ -915,6 +947,9 @@
             <span class="p">}</span>
         <span class="p">}</span>
 
+        <span class="k">if</span> <span class="n">labels</span><span class="p">:</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">run_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
@@ -993,9 +1028,7 @@
 <span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
 <span class="sd">        :type src_fmt_configs: dict</span>
 <span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
-<span class="sd">            partition by field, type and</span>
-<span class="sd">            expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
-<span class="sd">            conjunction with dataset.table$partition.</span>
+<span class="sd">            partition by field, type and  expiration as per API specifications.</span>
 <span class="sd">        :type time_partitioning: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
@@ -1281,10 +1314,10 @@
 <span class="sd">        :type ignore_if_missing: boolean</span>
 <span class="sd">        :return:</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="k">assert</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="p">(</span>
-            <span class="s1">&#39;Expected deletion_dataset_table in the format of &#39;</span>
-            <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">deletion_dataset_table</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">deletion_dataset_table</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Expected deletion_dataset_table name in the format of &#39;</span>
+                <span class="s1">&#39;&lt;dataset&gt;.&lt;table&gt;. Got: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">deletion_dataset_table</span><span class="p">))</span>
         <span class="n">deletion_project</span><span class="p">,</span> <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span> <span class="o">=</span> \
             <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">deletion_dataset_table</span><span class="p">,</span>
                              <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
@@ -1412,10 +1445,34 @@
             <span class="c1"># if view is already in access, do nothing.</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
-                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span>
-                <span class="n">source_dataset</span><span class="p">)</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span><span class="p">)</span>
             <span class="k">return</span> <span class="n">source_dataset_resource</span>
 
+    <span class="k">def</span> <span class="nf">delete_dataset</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete a dataset of Big query in your project.</span>
+<span class="sd">        :param project_id: The name of the project where we have the dataset .</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The dataset to be delete.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleting from project: </span><span class="si">%s</span><span class="s1">  Dataset:</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dataset deleted successfully: In project </span><span class="si">%s</span><span class="s1"> &#39;</span>
+                          <span class="s1">&#39;Dataset </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
 
 <span class="k">class</span> <span class="nc">BigQueryCursor</span><span class="p">(</span><span class="n">BigQueryBaseCursor</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
@@ -1617,14 +1674,17 @@
     <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;FLOAT&#39;</span> <span class="ow">or</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;TIMESTAMP&#39;</span><span class="p">:</span>
         <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">string_field</span><span class="p">)</span>
     <span class="k">elif</span> <span class="n">bq_type</span> <span class="o">==</span> <span class="s1">&#39;BOOLEAN&#39;</span><span class="p">:</span>
-        <span class="k">assert</span> <span class="n">string_field</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">([</span><span class="s1">&#39;true&#39;</span><span class="p">,</span> <span class="s1">&#39;false&#39;</span><span class="p">])</span>
+        <span class="k">if</span> <span class="n">string_field</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;true&#39;</span><span class="p">,</span> <span class="s1">&#39;false&#39;</span><span class="p">]:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> must have value &#39;true&#39; or &#39;false&#39;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">string_field</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">string_field</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
     <span class="k">else</span><span class="p">:</span>
         <span class="k">return</span> <span class="n">string_field</span>
 
 
 <span class="k">def</span> <span class="nf">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="p">,</span> <span class="n">default_project_id</span><span class="p">,</span> <span class="n">var_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="k">assert</span> <span class="n">default_project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s2">&quot;INTERNAL: No default project is specified&quot;</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">default_project_id</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;INTERNAL: No default project is specified&quot;</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">):</span>
         <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
@@ -1636,7 +1696,6 @@
         <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Use either : or . to specify project &#39;</span>
                          <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                              <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
-
     <span class="n">cmpt</span> <span class="o">=</span> <span class="n">table_input</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
     <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
     <span class="n">rest</span> <span class="o">=</span> <span class="n">table_input</span>
@@ -1654,8 +1713,10 @@
 
     <span class="n">cmpt</span> <span class="o">=</span> <span class="n">rest</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
-        <span class="k">assert</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span>
-                                    <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">))</span>
+        <span class="k">if</span> <span class="n">project_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">)))</span>
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
         <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
@@ -1685,12 +1746,7 @@
     <span class="c1"># if it is a partitioned table ($ is in the table name) add partition load option</span>
     <span class="n">time_partitioning_out</span> <span class="o">=</span> <span class="p">{}</span>
     <span class="k">if</span> <span class="n">destination_dataset_table</span> <span class="ow">and</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">destination_dataset_table</span><span class="p">:</span>
-        <span class="k">assert</span> <span class="ow">not</span> <span class="n">time_partitioning_in</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;field&#39;</span><span class="p">),</span> <span class="p">(</span>
-            <span class="s2">&quot;Cannot specify field partition and partition name &quot;</span>
-            <span class="s2">&quot;(dataset.table$partition) at the same time&quot;</span>
-        <span class="p">)</span>
         <span class="n">time_partitioning_out</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;DAY&#39;</span>
-
     <span class="n">time_partitioning_out</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">time_partitioning_in</span><span class="p">)</span>
     <span class="k">return</span> <span class="n">time_partitioning_out</span>
 </pre></div>
@@ -1723,20 +1779,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/cassandra_hook.html b/_modules/airflow/contrib/hooks/cassandra_hook.html
index 01142f1..46f8c38 100644
--- a/_modules/airflow/contrib/hooks/cassandra_hook.html
+++ b/_modules/airflow/contrib/hooks/cassandra_hook.html
@@ -371,20 +371,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/cloudant_hook.html b/_modules/airflow/contrib/hooks/cloudant_hook.html
index 5e762ea..42cf9e5 100644
--- a/_modules/airflow/contrib/hooks/cloudant_hook.html
+++ b/_modules/airflow/contrib/hooks/cloudant_hook.html
@@ -272,20 +272,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/databricks_hook.html b/_modules/airflow/contrib/hooks/databricks_hook.html
index 0d21a4a..0493901 100644
--- a/_modules/airflow/contrib/hooks/databricks_hook.html
+++ b/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -185,6 +185,7 @@
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">requests</span> <span class="k">import</span> <span class="n">exceptions</span> <span class="k">as</span> <span class="n">requests_exceptions</span>
 <span class="kn">from</span> <span class="nn">requests.auth</span> <span class="k">import</span> <span class="n">AuthBase</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="k">import</span> <span class="n">sleep</span>
 
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
@@ -193,6 +194,9 @@
 <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
     <span class="kn">import</span> <span class="nn">urlparse</span>
 
+<span class="n">RESTART_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/restart&quot;</span><span class="p">)</span>
+<span class="n">START_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/start&quot;</span><span class="p">)</span>
+<span class="n">TERMINATE_CLUSTER_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="s2">&quot;api/2.0/clusters/delete&quot;</span><span class="p">)</span>
 
 <span class="n">SUBMIT_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/submit&#39;</span><span class="p">)</span>
 <span class="n">GET_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/get&#39;</span><span class="p">)</span>
@@ -208,7 +212,8 @@
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">databricks_conn_id</span><span class="o">=</span><span class="s1">&#39;databricks_default&#39;</span><span class="p">,</span>
             <span class="n">timeout_seconds</span><span class="o">=</span><span class="mi">180</span><span class="p">,</span>
-            <span class="n">retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">):</span>
+            <span class="n">retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
+            <span class="n">retry_delay</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        :param databricks_conn_id: The name of the databricks connection to use.</span>
 <span class="sd">        :type databricks_conn_id: string</span>
@@ -218,12 +223,17 @@
 <span class="sd">        :param retry_limit: The number of times to retry the connection in case of</span>
 <span class="sd">            service outages.</span>
 <span class="sd">        :type retry_limit: int</span>
+<span class="sd">        :param retry_delay: The number of seconds to wait between retries (it</span>
+<span class="sd">            might be a floating point number).</span>
+<span class="sd">        :type retry_delay: float</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span> <span class="o">=</span> <span class="n">databricks_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">databricks_conn_id</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span> <span class="o">=</span> <span class="n">timeout_seconds</span>
-        <span class="k">assert</span> <span class="n">retry_limit</span> <span class="o">&gt;=</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;Retry limit must be greater than equal to 1&#39;</span>
+        <span class="k">if</span> <span class="n">retry_limit</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Retry limit must be greater than equal to 1&#39;</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span> <span class="o">=</span> <span class="n">retry_limit</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">=</span> <span class="n">retry_delay</span>
 
     <span class="k">def</span> <span class="nf">_parse_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -278,7 +288,8 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unexpected HTTP Method: &#39;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
 
-        <span class="k">for</span> <span class="n">attempt_num</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
+        <span class="n">attempt_num</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="k">try</span><span class="p">:</span>
                 <span class="n">response</span> <span class="o">=</span> <span class="n">request_func</span><span class="p">(</span>
                     <span class="n">url</span><span class="p">,</span>
@@ -286,21 +297,29 @@
                     <span class="n">auth</span><span class="o">=</span><span class="n">auth</span><span class="p">,</span>
                     <span class="n">headers</span><span class="o">=</span><span class="n">USER_AGENT_HEADER</span><span class="p">,</span>
                     <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="n">requests</span><span class="o">.</span><span class="n">codes</span><span class="o">.</span><span class="n">ok</span><span class="p">:</span>
-                    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
-                <span class="k">else</span><span class="p">:</span>
+                <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
+                <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
+            <span class="k">except</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">RequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">_retryable_error</span><span class="p">(</span><span class="n">e</span><span class="p">):</span>
                     <span class="c1"># In this case, the user probably made a mistake.</span>
                     <span class="c1"># Don&#39;t retry.</span>
                     <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Response: </span><span class="si">{0}</span><span class="s1">, Status Code: </span><span class="si">{1}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                        <span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">))</span>
-            <span class="k">except</span> <span class="p">(</span><span class="n">requests_exceptions</span><span class="o">.</span><span class="n">ConnectionError</span><span class="p">,</span>
-                    <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">Timeout</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
-                    <span class="s1">&#39;Attempt </span><span class="si">%s</span><span class="s1"> API Request to Databricks failed with reason: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
-                    <span class="n">attempt_num</span><span class="p">,</span> <span class="n">e</span>
-                <span class="p">)</span>
-        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;API requests to Databricks failed </span><span class="si">{}</span><span class="s1"> times. &#39;</span> <span class="o">+</span>
-                               <span class="s1">&#39;Giving up.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">))</span>
+                        <span class="n">e</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">e</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">))</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">_log_request_error</span><span class="p">(</span><span class="n">attempt_num</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">attempt_num</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;API requests to Databricks failed </span><span class="si">{}</span><span class="s1"> times. &#39;</span> <span class="o">+</span>
+                                        <span class="s1">&#39;Giving up.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">))</span>
+
+            <span class="n">attempt_num</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_log_request_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attempt_num</span><span class="p">,</span> <span class="n">error</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+            <span class="s1">&#39;Attempt </span><span class="si">%s</span><span class="s1"> API Request to Databricks failed with reason: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="n">attempt_num</span><span class="p">,</span> <span class="n">error</span>
+        <span class="p">)</span>
 
 <div class="viewcode-block" id="DatabricksHook.submit_run"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook.submit_run">[docs]</a>    <span class="k">def</span> <span class="nf">submit_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -331,7 +350,22 @@
 
     <span class="k">def</span> <span class="nf">cancel_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
         <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">CANCEL_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">CANCEL_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">restart_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">RESTART_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">start_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">START_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">terminate_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">TERMINATE_CLUSTER_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span></div>
+
+
+<span class="k">def</span> <span class="nf">_retryable_error</span><span class="p">(</span><span class="n">exception</span><span class="p">):</span>
+    <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exception</span><span class="p">,</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">ConnectionError</span><span class="p">)</span> \
+        <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">exception</span><span class="p">,</span> <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">Timeout</span><span class="p">)</span> \
+        <span class="ow">or</span> <span class="n">exception</span><span class="o">.</span><span class="n">response</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">exception</span><span class="o">.</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">&gt;=</span> <span class="mi">500</span>
 
 
 <span class="n">RUN_LIFE_CYCLE_STATES</span> <span class="o">=</span> <span class="p">[</span>
@@ -417,20 +451,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/datadog_hook.html b/_modules/airflow/contrib/hooks/datadog_hook.html
index bb0a05f..cfa1ad2 100644
--- a/_modules/airflow/contrib/hooks/datadog_hook.html
+++ b/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -331,20 +331,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/datastore_hook.html b/_modules/airflow/contrib/hooks/datastore_hook.html
index 29aa16f..5868383 100644
--- a/_modules/airflow/contrib/hooks/datastore_hook.html
+++ b/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -395,20 +395,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
index b82d631..6622022 100644
--- a/_modules/airflow/contrib/hooks/discord_webhook_hook.html
+++ b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -329,20 +329,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/emr_hook.html b/_modules/airflow/contrib/hooks/emr_hook.html
index 7aa2a43..e2e6873 100644
--- a/_modules/airflow/contrib/hooks/emr_hook.html
+++ b/_modules/airflow/contrib/hooks/emr_hook.html
@@ -212,20 +212,7 @@
         <span class="n">config</span> <span class="o">=</span> <span class="n">emr_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
         <span class="n">config</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">job_flow_overrides</span><span class="p">)</span>
 
-        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">run_job_flow</span><span class="p">(</span>
-            <span class="n">Name</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Name&#39;</span><span class="p">),</span>
-            <span class="n">LogUri</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;LogUri&#39;</span><span class="p">),</span>
-            <span class="n">ReleaseLabel</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ReleaseLabel&#39;</span><span class="p">),</span>
-            <span class="n">Instances</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Instances&#39;</span><span class="p">),</span>
-            <span class="n">Steps</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Steps&#39;</span><span class="p">,</span> <span class="p">[]),</span>
-            <span class="n">BootstrapActions</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;BootstrapActions&#39;</span><span class="p">,</span> <span class="p">[]),</span>
-            <span class="n">Applications</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Applications&#39;</span><span class="p">),</span>
-            <span class="n">Configurations</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Configurations&#39;</span><span class="p">,</span> <span class="p">[]),</span>
-            <span class="n">VisibleToAllUsers</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;VisibleToAllUsers&#39;</span><span class="p">),</span>
-            <span class="n">JobFlowRole</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;JobFlowRole&#39;</span><span class="p">),</span>
-            <span class="n">ServiceRole</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;ServiceRole&#39;</span><span class="p">),</span>
-            <span class="n">Tags</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Tags&#39;</span><span class="p">)</span>
-        <span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">run_job_flow</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
 
         <span class="k">return</span> <span class="n">response</span></div></div>
 </pre></div>
@@ -258,20 +245,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/fs_hook.html b/_modules/airflow/contrib/hooks/fs_hook.html
index 7b01482..ef59c77 100644
--- a/_modules/airflow/contrib/hooks/fs_hook.html
+++ b/_modules/airflow/contrib/hooks/fs_hook.html
@@ -235,20 +235,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/ftp_hook.html b/_modules/airflow/contrib/hooks/ftp_hook.html
index 88879d9..3b25ec7 100644
--- a/_modules/airflow/contrib/hooks/ftp_hook.html
+++ b/_modules/airflow/contrib/hooks/ftp_hook.html
@@ -309,7 +309,11 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">rmd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="FTPHook.retrieve_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.retrieve_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">remote_full_path</span><span class="p">,</span>
+            <span class="n">local_full_path_or_buffer</span><span class="p">,</span>
+            <span class="n">callback</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Transfers the remote file to a local location.</span>
 
@@ -322,23 +326,59 @@
 <span class="sd">        :param local_full_path_or_buffer: full path to the local file or a</span>
 <span class="sd">            file-like buffer</span>
 <span class="sd">        :type local_full_path_or_buffer: str or file-like buffer</span>
+<span class="sd">        :param callback: callback which is called each time a block of data</span>
+<span class="sd">            is read. if you do not use a callback, these blocks will be written</span>
+<span class="sd">            to the file or buffer passed in. if you do pass in a callback, note</span>
+<span class="sd">            that writing to a file or buffer will need to be handled inside the</span>
+<span class="sd">            callback.</span>
+<span class="sd">            [default: output_handle.write()]</span>
+<span class="sd">        :type callback: callable</span>
+
+<span class="sd">        Example::</span>
+<span class="sd">            hook = FTPHook(ftp_conn_id=&#39;my_conn&#39;)</span>
+
+<span class="sd">            remote_path = &#39;/path/to/remote/file&#39;</span>
+<span class="sd">            local_path = &#39;/path/to/local/file&#39;</span>
+
+<span class="sd">            # with a custom callback (in this case displaying progress on each read)</span>
+<span class="sd">            def print_progress(percent_progress):</span>
+<span class="sd">                self.log.info(&#39;Percent Downloaded: %s%%&#39; % percent_progress)</span>
+
+<span class="sd">            total_downloaded = 0</span>
+<span class="sd">            total_file_size = hook.get_size(remote_path)</span>
+<span class="sd">            output_handle = open(local_path, &#39;wb&#39;)</span>
+<span class="sd">            def write_to_file_with_progress(data):</span>
+<span class="sd">                total_downloaded += len(data)</span>
+<span class="sd">                output_handle.write(data)</span>
+<span class="sd">                percent_progress = (total_downloaded / total_file_size) * 100</span>
+<span class="sd">                print_progress(percent_progress)</span>
+<span class="sd">            hook.retrieve_file(remote_path, None, callback=write_to_file_with_progress)</span>
+
+<span class="sd">            # without a custom callback data is written to the local_path</span>
+<span class="sd">            hook.retrieve_file(remote_path, local_path)</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
         <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="n">basestring</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
-            <span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
+        <span class="c1"># without a callback, default to writing to a user-provided file or</span>
+        <span class="c1"># file-like buffer</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">callback</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+                <span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">output_handle</span> <span class="o">=</span> <span class="n">local_full_path_or_buffer</span>
+            <span class="n">callback</span> <span class="o">=</span> <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">output_handle</span> <span class="o">=</span> <span class="n">local_full_path_or_buffer</span>
+            <span class="n">output_handle</span> <span class="o">=</span> <span class="kc">None</span>
 
         <span class="n">remote_path</span><span class="p">,</span> <span class="n">remote_file_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">)</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">)</span>
-        <span class="n">conn</span><span class="o">.</span><span class="n">retrbinary</span><span class="p">(</span><span class="s1">&#39;RETR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">retrbinary</span><span class="p">(</span><span class="s1">&#39;RETR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">callback</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished retrieving file from FTP: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">is_path</span> <span class="ow">and</span> <span class="n">output_handle</span><span class="p">:</span>
             <span class="n">output_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="FTPHook.store_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.store_file">[docs]</a>    <span class="k">def</span> <span class="nf">store_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
@@ -390,7 +430,13 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">conn</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">from_name</span><span class="p">,</span> <span class="n">to_name</span><span class="p">)</span></div>
 
-    <span class="k">def</span> <span class="nf">get_mod_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.get_mod_time"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.get_mod_time">[docs]</a>    <span class="k">def</span> <span class="nf">get_mod_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a datetime object representing the last time the file was modified</span>
+
+<span class="sd">        :param path: remote file path</span>
+<span class="sd">        :type path: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">ftp_mdtm</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">sendcmd</span><span class="p">(</span><span class="s1">&#39;MDTM &#39;</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
         <span class="n">time_val</span> <span class="o">=</span> <span class="n">ftp_mdtm</span><span class="p">[</span><span class="mi">4</span><span class="p">:]</span>
@@ -400,6 +446,16 @@
         <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">time_val</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span></div>
 
+<div class="viewcode-block" id="FTPHook.get_size"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.get_size">[docs]</a>    <span class="k">def</span> <span class="nf">get_size</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the size of a file (in bytes)</span>
+
+<span class="sd">        :param path: remote file path</span>
+<span class="sd">        :type path: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">conn</span><span class="o">.</span><span class="n">size</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div></div>
+
 
 <div class="viewcode-block" id="FTPSHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPSHook">[docs]</a><span class="k">class</span> <span class="nc">FTPSHook</span><span class="p">(</span><span class="n">FTPHook</span><span class="p">):</span>
 
@@ -448,20 +504,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
index 78b729d..22ddd66 100644
--- a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
@@ -248,7 +248,7 @@
         <span class="k">elif</span> <span class="n">key_path</span><span class="p">:</span>
             <span class="c1"># Get credentials from a JSON file.</span>
             <span class="k">if</span> <span class="n">key_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;.json&#39;</span><span class="p">):</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using a JSON key file.&#39;</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Getting connection using JSON key file </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">key_path</span><span class="p">)</span>
                 <span class="n">credentials</span> <span class="o">=</span> <span class="p">(</span>
                     <span class="n">google</span><span class="o">.</span><span class="n">oauth2</span><span class="o">.</span><span class="n">service_account</span><span class="o">.</span><span class="n">Credentials</span><span class="o">.</span><span class="n">from_service_account_file</span><span class="p">(</span>
                         <span class="n">key_path</span><span class="p">,</span> <span class="n">scopes</span><span class="o">=</span><span class="n">scopes</span><span class="p">)</span>
@@ -341,20 +341,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_container_hook.html b/_modules/airflow/contrib/hooks/gcp_container_hook.html
index 4cb7114..983c362 100644
--- a/_modules/airflow/contrib/hooks/gcp_container_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_container_hook.html
@@ -208,6 +208,7 @@
     <span class="k">def</span> <span class="nf">_dict_to_proto</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">py_dict</span><span class="p">,</span> <span class="n">proto</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Converts a python dictionary to the proto supplied</span>
+
 <span class="sd">        :param py_dict: The dictionary to convert</span>
 <span class="sd">        :type py_dict: dict</span>
 <span class="sd">        :param proto: The proto object to merge with dictionary</span>
@@ -223,6 +224,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Given an operation, continuously fetches the status from Google Cloud until either</span>
 <span class="sd">        completion or an error occurring</span>
+
 <span class="sd">        :param operation: The Operation to wait for</span>
 <span class="sd">        :type operation: A google.cloud.container_V1.gapic.enums.Operator</span>
 <span class="sd">        :return: A new, updated operation fetched from Google Cloud</span>
@@ -243,6 +245,7 @@
 <div class="viewcode-block" id="GKEClusterHook.get_operation"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.get_operation">[docs]</a>    <span class="k">def</span> <span class="nf">get_operation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Fetches the operation from Google Cloud</span>
+
 <span class="sd">        :param operation_name: Name of operation to fetch</span>
 <span class="sd">        :type operation_name: str</span>
 <span class="sd">        :return: The new, updated operation from Google Cloud</span>
@@ -355,6 +358,7 @@
 <div class="viewcode-block" id="GKEClusterHook.get_cluster"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_container_hook.GKEClusterHook.get_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">retry</span><span class="o">=</span><span class="n">DEFAULT</span><span class="p"> [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Gets details of specified cluster</span>
+
 <span class="sd">        :param name: The name of the cluster to retrieve</span>
 <span class="sd">        :type name: str</span>
 <span class="sd">        :param retry: A retry object used to retry requests. If None is specified,</span>
@@ -406,20 +410,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
index 808d22f..cf99744 100644
--- a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
@@ -178,6 +178,7 @@
 <span class="c1"># specific language governing permissions and limitations</span>
 <span class="c1"># under the License.</span>
 <span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">select</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">time</span>
@@ -194,12 +195,13 @@
 
 
 <span class="k">class</span> <span class="nc">_DataflowJob</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">project_number</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">poll_sleep</span><span class="o">=</span><span class="mi">10</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">project_number</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">poll_sleep</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
+                 <span class="n">job_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span> <span class="o">=</span> <span class="n">dataflow</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span> <span class="o">=</span> <span class="n">project_number</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span> <span class="o">=</span> <span class="n">name</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job_location</span> <span class="o">=</span> <span class="n">location</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="n">job_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_poll_sleep</span> <span class="o">=</span> <span class="n">poll_sleep</span>
 
@@ -207,7 +209,7 @@
         <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
             <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span><span class="p">,</span>
             <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_location</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
         <span class="k">for</span> <span class="n">job</span> <span class="ow">in</span> <span class="n">jobs</span><span class="p">[</span><span class="s1">&#39;jobs&#39;</span><span class="p">]:</span>
             <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span>
@@ -215,13 +217,15 @@
         <span class="k">return</span> <span class="kc">None</span>
 
     <span class="k">def</span> <span class="nf">_get_job</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span><span class="p">,</span>
+                <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_location</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
             <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job_id_from_name</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span><span class="p">,</span>
-                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span>
-            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Missing both dataflow job ID and name.&#39;</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">job</span> <span class="ow">and</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
@@ -284,36 +288,50 @@
 
     <span class="k">def</span> <span class="nf">_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fd</span><span class="p">):</span>
         <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
-            <span class="n">lines</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
-            <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
+            <span class="n">line</span> <span class="o">=</span> <span class="sa">b</span><span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">readlines</span><span class="p">())</span>
+            <span class="k">if</span> <span class="n">line</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">lines</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">lines</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+            <span class="k">return</span> <span class="n">line</span>
         <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
-            <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
+            <span class="n">line</span> <span class="o">=</span> <span class="sa">b</span><span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readlines</span><span class="p">())</span>
+            <span class="k">if</span> <span class="n">line</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
             <span class="k">return</span> <span class="n">line</span>
 
     <span class="nd">@staticmethod</span>
     <span class="k">def</span> <span class="nf">_extract_job</span><span class="p">(</span><span class="n">line</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">line</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;Submitted job: &quot;</span><span class="p">):</span>
-                <span class="k">return</span> <span class="n">line</span><span class="p">[</span><span class="mi">15</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+        <span class="c1"># Job id info: https://goo.gl/SE29y9.</span>
+        <span class="n">job_id_pattern</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span>
+            <span class="sa">b</span><span class="s1">&#39;.*console.cloud.google.com/dataflow.*/jobs/([a-z|0-9|A-Z|\-|\_]+).*&#39;</span><span class="p">)</span>
+        <span class="n">matched_job</span> <span class="o">=</span> <span class="n">job_id_pattern</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">line</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">matched_job</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">matched_job</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">reads</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span c [...]
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Start waiting for DataFlow process to complete.&quot;</span><span class="p">)</span>
-        <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">poll</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="c1"># Make sure logs are processed regardless whether the subprocess is</span>
+        <span class="c1"># terminated.</span>
+        <span class="n">process_ends</span> <span class="o">=</span> <span class="kc">False</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="n">ret</span> <span class="o">=</span> <span class="n">select</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">reads</span><span class="p">,</span> <span class="p">[],</span> <span class="p">[],</span> <span class="mi">5</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">ret</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="k">for</span> <span class="n">fd</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
                     <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">(</span><span class="n">fd</span><span class="p">)</span>
                     <span class="k">if</span> <span class="n">line</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+                        <span class="n">job_id</span> <span class="o">=</span> <span class="n">job_id</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_job</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Waiting for DataFlow process to complete.&quot;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">process_ends</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">poll</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="c1"># Mark process completion but allows its outputs to be consumed.</span>
+                <span class="n">process_ends</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">returncode</span> <span class="ow">is</span> <span class="ow">not</span> <span class="mi">0</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;DataFlow failed with return code </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">job_id</span>
 
 
 <div class="viewcode-block" id="DataFlowHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook">[docs]</a><span class="k">class</span> <span class="nc">DataFlowHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
@@ -327,7 +345,7 @@
 
 <div class="viewcode-block" id="DataFlowHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a Google Cloud Storage service object.</span>
+<span class="sd">        Returns a Google Cloud Dataflow service object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">build</span><span class="p">(</span>
@@ -338,9 +356,10 @@
         <span class="n">variables</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">)</span>
         <span class="n">cmd</span> <span class="o">=</span> <span class="n">command_prefix</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_cmd</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span>
                                                <span class="n">label_formatter</span><span class="p">)</span>
-        <span class="n">_Dataflow</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+        <span class="n">job_id</span> <span class="o">=</span> <span class="n">_Dataflow</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
         <span class="n">_DataflowJob</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span>
-                     <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+                     <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">],</span>
+                     <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
 
     <span class="nd">@staticmethod</span>
     <span class="k">def</span> <span class="nf">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">):</span>
@@ -352,10 +371,7 @@
 
     <span class="k">def</span> <span class="nf">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">job_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                             <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_dataflow_job_name</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">append_job_name</span><span class="p">)</span>
         <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;jobName&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
 
         <span class="k">def</span> <span class="nf">label_formatter</span><span class="p">(</span><span class="n">labels_dict</span><span class="p">):</span>
@@ -368,19 +384,13 @@
 
     <span class="k">def</span> <span class="nf">start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">,</span>
                                 <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_dataflow_job_name</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">append_job_name</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_start_template_dataflow</span><span class="p">(</span>
             <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">start_python_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">py_options</span><span class="p">,</span>
                               <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_dataflow_job_name</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">append_job_name</span><span class="p">)</span>
         <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;job_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
 
         <span class="k">def</span> <span class="nf">label_formatter</span><span class="p">(</span><span class="n">labels_dict</span><span class="p">):</span>
@@ -390,7 +400,25 @@
                              <span class="p">[</span><span class="s2">&quot;python&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">py_options</span> <span class="o">+</span> <span class="p">[</span><span class="n">dataflow</span><span class="p">],</span>
                              <span class="n">label_formatter</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">_build_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">):</span>
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_build_dataflow_job_name</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+        <span class="n">task_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">task_id</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;^[a-z]([-a-z0-9]*[a-z0-9])?$&quot;</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Invalid job_name (</span><span class="si">{}</span><span class="s1">); the name must consist of&#39;</span>
+                <span class="s1">&#39;only the characters [-a-z0-9], starting with a &#39;</span>
+                <span class="s1">&#39;letter and ending with a letter or number &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task_id</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
+            <span class="n">job_name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">job_name</span> <span class="o">=</span> <span class="n">task_id</span>
+
+        <span class="k">return</span> <span class="n">job_name</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_build_cmd</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">):</span>
         <span class="n">command</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--runner=DataflowRunner&quot;</span><span class="p">]</span>
         <span class="k">if</span> <span class="n">variables</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">attr</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">variables</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
@@ -402,7 +430,8 @@
                     <span class="n">command</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--&quot;</span> <span class="o">+</span> <span class="n">attr</span> <span class="o">+</span> <span class="s2">&quot;=&quot;</span> <span class="o">+</span> <span class="n">value</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">command</span>
 
-    <span class="k">def</span> <span class="nf">_start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">_start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span>
+                                 <span class="n">dataflow_template</span><span class="p">):</span>
         <span class="c1"># Builds RuntimeEnvironment from variables dictionary</span>
         <span class="c1"># https://cloud.google.com/dataflow/docs/reference/rest/v1b3/RuntimeEnvironment</span>
         <span class="n">environment</span> <span class="o">=</span> <span class="p">{}</span>
@@ -414,9 +443,11 @@
                 <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="n">parameters</span><span class="p">,</span>
                 <span class="s2">&quot;environment&quot;</span><span class="p">:</span> <span class="n">environment</span><span class="p">}</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">templates</span><span class="p">()</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span c [...]
-                                                        <span class="n">gcsPath</span><span class="o">=</span><span class="n">dataflow_template</span><span class="p">,</span>
-                                                        <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">templates</span><span class="p">()</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span>
+            <span class="n">gcsPath</span><span class="o">=</span><span class="n">dataflow_template</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span>
         <span class="n">response</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="n">variables</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">)</span>
         <span class="n">_DataflowJob</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">],</span>
@@ -452,20 +483,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
index d22dfa5..2f062a9 100644
--- a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
@@ -429,20 +429,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_function_hook.html b/_modules/airflow/contrib/hooks/gcp_function_hook.html
new file mode 100644
index 0000000..366b837
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_function_hook.html
@@ -0,0 +1,406 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_function_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_function_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_function_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">requests</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+
+<span class="c1"># Number of retries - used by googleapiclient method calls to perform retries</span>
+<span class="c1"># For requests that are &quot;retriable&quot;</span>
+<span class="n">NUM_RETRIES</span> <span class="o">=</span> <span class="mi">5</span>
+
+<span class="c1"># Time to sleep between active checks of the operation results</span>
+<span class="n">TIME_TO_SLEEP_IN_SECONDS</span> <span class="o">=</span> <span class="mi">1</span>
+
+
+<span class="c1"># noinspection PyAbstractClass</span>
+<div class="viewcode-block" id="GcfHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook">[docs]</a><span class="k">class</span> <span class="nc">GcfHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook for the Google Cloud Functions APIs.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">_conn</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GcfHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+
+<div class="viewcode-block" id="GcfHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves the connection to Cloud Functions.</span>
+
+<span class="sd">        :return: Google Cloud Function services object</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span><span class="p">:</span>
+            <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span> <span class="o">=</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;cloudfunctions&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span>
+                               <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span></div>
+
+<div class="viewcode-block" id="GcfHook.get_function"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.get_function">[docs]</a>    <span class="k">def</span> <span class="nf">get_function</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the Cloud Function with the given name.</span>
+
+<span class="sd">        :param name: name of the function</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :return: a CloudFunction object representing the function</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GcfHook.list_functions"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.list_functions">[docs]</a>    <span class="k">def</span> <span class="nf">list_functions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">full_location</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lists all Cloud Functions created in the location.</span>
+
+<span class="sd">        :param full_location: full location including the project in the form of</span>
+<span class="sd">            of /projects/&lt;PROJECT&gt;/location/&lt;LOCATION&gt;</span>
+<span class="sd">        :type full_location: str</span>
+<span class="sd">        :return: array of CloudFunction objects - representing functions in the location</span>
+<span class="sd">        :rtype: [dict]</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">list_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">parent</span><span class="o">=</span><span class="n">full_location</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">list_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;functions&quot;</span><span class="p">,</span> <span class="p">[])</span></div>
+
+<div class="viewcode-block" id="GcfHook.create_new_function"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.create_new_function">[docs]</a>    <span class="k">def</span> <span class="nf">create_new_function</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">full_location</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new function in Cloud Function in the location specified in the body.</span>
+
+<span class="sd">        :param full_location: full location including the project in the form of</span>
+<span class="sd">            of /projects/&lt;PROJECT&gt;/location/&lt;LOCATION&gt;</span>
+<span class="sd">        :type full_location: str</span>
+<span class="sd">        :param body: body required by the Cloud Functions insert API</span>
+<span class="sd">        :type body: dict</span>
+<span class="sd">        :return: response returned by the operation</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">location</span><span class="o">=</span><span class="n">full_location</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GcfHook.update_function"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.update_function">[docs]</a>    <span class="k">def</span> <span class="nf">update_function</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">body</span><span class="p">,</span> <span class="n">update_mask</span><span class="p" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Updates Cloud Functions according to the specified update mask.</span>
+
+<span class="sd">        :param name: name of the function</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param body: body required by the cloud function patch API</span>
+<span class="sd">        :type body: str</span>
+<span class="sd">        :param update_mask: update mask - array of fields that should be patched</span>
+<span class="sd">        :type update_mask: [str]</span>
+<span class="sd">        :return: response returned by the operation</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span>
+            <span class="n">updateMask</span><span class="o">=</span><span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">update_mask</span><span class="p">),</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GcfHook.upload_function_zip"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.upload_function_zip">[docs]</a>    <span class="k">def</span> <span class="nf">upload_function_zip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">zip_path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Uploads zip file with sources.</span>
+
+<span class="sd">        :param parent: Google Cloud Platform project id and region where zip file should</span>
+<span class="sd">         be uploaded in the form of /projects/&lt;PROJECT&gt;/location/&lt;LOCATION&gt;</span>
+<span class="sd">        :type parent: str</span>
+<span class="sd">        :param zip_path: path of the valid .zip file to upload</span>
+<span class="sd">        :type zip_path: str</span>
+<span class="sd">        :return: Upload URL that was returned by generateUploadUrl method</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">generateUploadUrl</span><span class=" [...]
+            <span class="n">parent</span><span class="o">=</span><span class="n">parent</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">upload_url</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;uploadUrl&#39;</span><span class="p">)</span>
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">zip_path</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
+            <span class="n">requests</span><span class="o">.</span><span class="n">put</span><span class="p">(</span>
+                <span class="n">url</span><span class="o">=</span><span class="n">upload_url</span><span class="p">,</span>
+                <span class="n">data</span><span class="o">=</span><span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(),</span>
+                <span class="c1"># Those two headers needs to be specified according to:</span>
+                <span class="c1"># https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions/generateUploadUrl</span>
+                <span class="c1"># nopep8</span>
+                <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
+                    <span class="s1">&#39;Content-type&#39;</span><span class="p">:</span> <span class="s1">&#39;application/zip&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;x-goog-content-length-range&#39;</span><span class="p">:</span> <span class="s1">&#39;0,104857600&#39;</span><span class="p">,</span>
+                <span class="p">}</span>
+            <span class="p">)</span>
+        <span class="k">return</span> <span class="n">upload_url</span></div>
+
+<div class="viewcode-block" id="GcfHook.delete_function"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_function_hook.GcfHook.delete_function">[docs]</a>    <span class="k">def</span> <span class="nf">delete_function</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes the specified Cloud Function.</span>
+
+<span class="sd">        :param name: name of the function</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :return: response returned by the operation</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">functions</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+            <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">operation_name</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_wait_for_operation_to_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Waits for the named operation to complete - checks status of the</span>
+<span class="sd">        asynchronous call.</span>
+
+<span class="sd">        :param operation_name: name of the operation</span>
+<span class="sd">        :type operation_name: str</span>
+<span class="sd">        :return: response  returned by the operation</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        :exception: AirflowException in case error is returned</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">operation_response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">name</span><span class="o">=</span><span class="n">operation_name</span><span class="p">,</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">operation_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;done&quot;</span><span class="p">):</span>
+                <span class="n">response</span> <span class="o">=</span> <span class="n">operation_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;response&quot;</span><span class="p">)</span>
+                <span class="n">error</span> <span class="o">=</span> <span class="n">operation_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;error&quot;</span><span class="p">)</span>
+                <span class="c1"># Note, according to documentation always either response or error is</span>
+                <span class="c1"># set when &quot;done&quot; == True</span>
+                <span class="k">if</span> <span class="n">error</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">error</span><span class="p">))</span>
+                <span class="k">return</span> <span class="n">response</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">TIME_TO_SLEEP_IN_SECONDS</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
index b961738..f3b1782 100644
--- a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
@@ -313,7 +313,8 @@
 <span class="sd">            apiclient.errors.HttpError: if HTTP error is returned when getting</span>
 <span class="sd">            the job</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">assert</span> <span class="n">interval</span> <span class="o">&gt;</span> <span class="mi">0</span>
+        <span class="k">if</span> <span class="n">interval</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Interval must be &gt; 0&quot;</span><span class="p">)</span>
         <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILED&#39;</span><span class="p">,</span> <span class="s1">&#39;CANCELLED&#39;</span><span class="p">]:</span>
@@ -403,7 +404,9 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Create a Model. Blocks until finished.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">assert</span> <span class="n">model</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">model</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">model</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Model name must be provided and &quot;</span>
+                             <span class="s2">&quot;could not be an empty string&quot;</span><span class="p">)</span>
         <span class="n">project</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project_id</span><span class="p">)</span>
 
         <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
@@ -414,7 +417,9 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Gets a Model. Blocks until finished.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">assert</span> <span class="n">model_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">model_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">model_name</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Model name must be provided and &quot;</span>
+                             <span class="s2">&quot;it could not be an empty string&quot;</span><span class="p">)</span>
         <span class="n">full_model_name</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/models/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="n">project_id</span><span class="p">,</span> <span class="n">model_name</span><span class="p">)</span>
         <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_mlengine</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">models</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">full_model_name</span><span class="p">)</span>
@@ -455,20 +460,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
index 1cb0cac..231392a 100644
--- a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
@@ -474,20 +474,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/gcp_sql_hook.html b/_modules/airflow/contrib/hooks/gcp_sql_hook.html
new file mode 100644
index 0000000..9428e74
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_sql_hook.html
@@ -0,0 +1,474 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_sql_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_sql_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_sql_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+
+<span class="c1"># Number of retries - used by googleapiclient method calls to perform retries</span>
+<span class="c1"># For requests that are &quot;retriable&quot;</span>
+<span class="n">NUM_RETRIES</span> <span class="o">=</span> <span class="mi">5</span>
+
+<span class="c1"># Time to sleep between active checks of the operation results</span>
+<span class="n">TIME_TO_SLEEP_IN_SECONDS</span> <span class="o">=</span> <span class="mi">1</span>
+
+
+<span class="k">class</span> <span class="nc">CloudSqlOperationStatus</span><span class="p">:</span>
+    <span class="n">PENDING</span> <span class="o">=</span> <span class="s2">&quot;PENDING&quot;</span>
+    <span class="n">RUNNING</span> <span class="o">=</span> <span class="s2">&quot;RUNNING&quot;</span>
+    <span class="n">DONE</span> <span class="o">=</span> <span class="s2">&quot;DONE&quot;</span>
+    <span class="n">UNKNOWN</span> <span class="o">=</span> <span class="s2">&quot;UNKNOWN&quot;</span>
+
+
+<span class="c1"># noinspection PyAbstractClass</span>
+<div class="viewcode-block" id="CloudSqlHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook for Google Cloud SQL APIs.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">_conn</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+
+<div class="viewcode-block" id="CloudSqlHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves connection to Cloud SQL.</span>
+
+<span class="sd">        :return: Google Cloud SQL services object.</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span><span class="p">:</span>
+            <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span> <span class="o">=</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;sqladmin&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span>
+                               <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">,</span> <span class="n">cache_discovery</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_conn</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.get_instance"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.get_instance">[docs]</a>    <span class="k">def</span> <span class="nf">get_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves a resource containing information about a Cloud SQL instance.</span>
+
+<span class="sd">        :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :return: A Cloud SQL instance resource.</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">instances</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.create_instance"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.create_instance">[docs]</a>    <span class="k">def</span> <span class="nf">create_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new Cloud SQL instance.</span>
+
+<span class="sd">        :param project_id: Project ID of the project to which the newly created</span>
+<span class="sd">            Cloud SQL instances should belong.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param body: Body required by the Cloud SQL insert API, as described in</span>
+<span class="sd">            https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/insert#request-body</span>
+<span class="sd">        :type body: dict</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">instances</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.patch_instance"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.patch_instance">[docs]</a>    <span class="k">def</span> <span class="nf">patch_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="p">,</span> <span class="n">instance</span><span clas [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Updates settings of a Cloud SQL instance.</span>
+
+<span class="sd">        Caution: This is not a partial update, so you must include values for</span>
+<span class="sd">        all the settings that you want to retain.</span>
+
+<span class="sd">        :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param body: Body required by the Cloud SQL patch API, as described in</span>
+<span class="sd">            https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/patch#request-body</span>
+<span class="sd">        :type body: dict</span>
+<span class="sd">        :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">instances</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.delete_instance"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.delete_instance">[docs]</a>    <span class="k">def</span> <span class="nf">delete_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes a Cloud SQL instance.</span>
+
+<span class="sd">        :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">instances</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project_id</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.get_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.get_database">[docs]</a>    <span class="k">def</span> <span class="nf">get_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="p">,</span> <span class="n">database</span><span class= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves a database resource from a Cloud SQL instance.</span>
+
+<span class="sd">        :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :param database: Name of the database in the instance.</span>
+<span class="sd">        :type database: str</span>
+<span class="sd">        :return: A Cloud SQL database resource, as described in</span>
+<span class="sd">            https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/databases#resource</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">databases</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+            <span class="n">database</span><span class="o">=</span><span class="n">database</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.create_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.create_database">[docs]</a>    <span class="k">def</span> <span class="nf">create_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">instance</span><span class="p">,</span> <span class="n">body</span><span clas [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new database inside a Cloud SQL instance.</span>
+
+<span class="sd">        :param project: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project: str</span>
+<span class="sd">        :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :param body: The request body, as described in</span>
+<span class="sd">            https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/databases/insert#request-body</span>
+<span class="sd">        :type body: dict</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">databases</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.patch_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.patch_database">[docs]</a>    <span class="k">def</span> <span class="nf">patch_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">instance</span><span class="p">,</span> <span class="n">database</span><span cla [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Updates a database resource inside a Cloud SQL instance.</span>
+<span class="sd">        This method supports patch semantics.</span>
+<span class="sd">        See: https://cloud.google.com/sql/docs/mysql/admin-api/how-tos/performance#patch</span>
+
+<span class="sd">        :param project: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project: str</span>
+<span class="sd">        :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :param database: Name of the database to be updated in the instance.</span>
+<span class="sd">        :type database: str</span>
+<span class="sd">        :param body: The request body, as described in</span>
+<span class="sd">            https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/databases/insert#request-body</span>
+<span class="sd">        :type body: dict</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">databases</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+            <span class="n">database</span><span class="o">=</span><span class="n">database</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">body</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="CloudSqlHook.delete_database"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_sql_hook.CloudSqlHook.delete_database">[docs]</a>    <span class="k">def</span> <span class="nf">delete_database</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">instance</span><span class="p">,</span> <span class="n">database</span><span  [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes a database from a Cloud SQL instance.</span>
+
+<span class="sd">        :param project: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project: str</span>
+<span class="sd">        :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">        :type instance: str</span>
+<span class="sd">        :param database: Name of the database to be deleted in the instance.</span>
+<span class="sd">        :type database: str</span>
+<span class="sd">        :return: True if the operation succeeded, raises an error otherwise</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">databases</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+            <span class="n">project</span><span class="o">=</span><span class="n">project</span><span class="p">,</span>
+            <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span>
+            <span class="n">database</span><span class="o">=</span><span class="n">database</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+        <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_operation_to_complete</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_wait_for_operation_to_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Waits for the named operation to complete - checks status of the</span>
+<span class="sd">        asynchronous call.</span>
+
+<span class="sd">        :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param operation_name: name of the operation</span>
+<span class="sd">        :type operation_name: str</span>
+<span class="sd">        :return: response returned by the operation</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">operation_response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">operations</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">operation</span><span class="o">=</span><span class="n">operation_name</span><span class="p">,</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="n">NUM_RETRIES</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">operation_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;status&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="n">CloudSqlOperationStatus</span><span class="o">.</span><span class="n">DONE</span><span class="p">:</span>
+                <span class="n">error</span> <span class="o">=</span> <span class="n">operation_response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;error&quot;</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">error</span><span class="p">:</span>
+                    <span class="c1"># Extracting the errors list as string and trimming square braces</span>
+                    <span class="n">error_msg</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">error</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;errors&quot;</span><span class="p">))[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">error_msg</span><span class="p">)</span>
+                <span class="c1"># No meaningful info to return from the response in case of success</span>
+                <span class="k">return</span> <span class="kc">True</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">TIME_TO_SLEEP_IN_SECONDS</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcs_hook.html b/_modules/airflow/contrib/hooks/gcs_hook.html
index c4896fb..a72ac0d 100644
--- a/_modules/airflow/contrib/hooks/gcs_hook.html
+++ b/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -185,7 +185,10 @@
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 
+<span class="kn">import</span> <span class="nn">gzip</span> <span class="k">as</span> <span class="nn">gz</span>
+<span class="kn">import</span> <span class="nn">shutil</span>
 <span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">os</span>
 
 
 <div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
@@ -332,7 +335,8 @@
         <span class="k">return</span> <span class="n">downloaded_file_bytes</span></div>
 
     <span class="c1"># pylint:disable=redefined-builtin</span>
-<div class="viewcode-block" id="GoogleCloudStorageHook.upload"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.upload">[docs]</a>    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</ [...]
+<div class="viewcode-block" id="GoogleCloudStorageHook.upload"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.upload">[docs]</a>    <span class="k">def</span> <span class="nf">upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+               <span class="n">mime_type</span><span class="o">=</span><span class="s1">&#39;application/octet-stream&#39;</span><span class="p">,</span> <span class="n">gzip</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Uploads a local file to Google Cloud Storage.</span>
 
@@ -343,15 +347,31 @@
 <span class="sd">        :param filename: The local file path to the file to be uploaded.</span>
 <span class="sd">        :type filename: string</span>
 <span class="sd">        :param mime_type: The MIME type to set when uploading the file.</span>
-<span class="sd">        :type mime_type: string</span>
+<span class="sd">        :type mime_type: str</span>
+<span class="sd">        :param gzip: Option to compress file for upload</span>
+<span class="sd">        :type gzip: bool</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">gzip</span><span class="p">:</span>
+            <span class="n">filename_gz</span> <span class="o">=</span> <span class="n">filename</span> <span class="o">+</span> <span class="s1">&#39;.gz&#39;</span>
+
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f_in</span><span class="p">:</span>
+                <span class="k">with</span> <span class="n">gz</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">filename_gz</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f_out</span><span class="p">:</span>
+                    <span class="n">shutil</span><span class="o">.</span><span class="n">copyfileobj</span><span class="p">(</span><span class="n">f_in</span><span class="p">,</span> <span class="n">f_out</span><span class="p">)</span>
+                    <span class="n">filename</span> <span class="o">=</span> <span class="n">filename_gz</span>
+
         <span class="n">media</span> <span class="o">=</span> <span class="n">MediaFileUpload</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">mime_type</span><span class="p">)</span>
+
         <span class="k">try</span><span class="p">:</span>
             <span class="n">service</span> \
                 <span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
                 <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">media_body</span><span class="o">=</span><span class="n">media</span><span class="p">)</span> \
                 <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="c1"># Clean up gzip file</span>
+            <span class="k">if</span> <span class="n">gzip</span><span class="p">:</span>
+                <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
             <span class="k">return</span> <span class="kc">True</span>
         <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
@@ -638,15 +658,16 @@
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Bucket: </span><span class="si">%s</span><span class="s1">; Location: </span><span class="si">%s</span><span class="s1">; Storage Class: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                       <span class="n">bucket_name</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">storage_class</span><span class="p">)</span>
-        <span class="k">assert</span> <span class="n">storage_class</span> <span class="ow">in</span> <span class="n">storage_classes</span><span class="p">,</span> \
-            <span class="s1">&#39;Invalid value (</span><span class="si">{}</span><span class="s1">) passed to storage_class. Value should be &#39;</span> \
-            <span class="s1">&#39;one of </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">storage_class</span><span class="p">,</span> <span class="n">storage_classes</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">storage_class</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">storage_classes</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Invalid value (</span><span class="si">{}</span><span class="s1">) passed to storage_class. Value should be &#39;</span>
+                <span class="s1">&#39;one of </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">storage_class</span><span class="p">,</span> <span class="n">storage_classes</span><span class="p">))</span>
 
-        <span class="k">assert</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> \
-            <span class="s1">&#39;Bucket names must start with a number or letter.&#39;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Bucket names must start with a number or letter.&#39;</span><span class="p">)</span>
 
-        <span class="k">assert</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span> \
-            <span class="s1">&#39;Bucket names must end with a number or letter.&#39;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Bucket names must end with a number or letter.&#39;</span><span class="p">)</span>
 
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">bucket_resource</span> <span class="o">=</span> <span class="p">{</span>
@@ -726,20 +747,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/imap_hook.html b/_modules/airflow/contrib/hooks/imap_hook.html
new file mode 100644
index 0000000..c9d9e48
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/imap_hook.html
@@ -0,0 +1,491 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.imap_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.imap_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.imap_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">email</span>
+<span class="kn">import</span> <span class="nn">imaplib</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<div class="viewcode-block" id="ImapHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.imap_hook.ImapHook">[docs]</a><span class="k">class</span> <span class="nc">ImapHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This hook connects to a mail server by using the imap protocol.</span>
+
+<span class="sd">    :param imap_conn_id: The connection id that contains the information</span>
+<span class="sd">                         used to authenticate the client.</span>
+<span class="sd">                         The default value is &#39;imap_default&#39;.</span>
+<span class="sd">    :type imap_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">imap_conn_id</span><span class="o">=</span><span class="s1">&#39;imap_default&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">ImapHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">imap_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">imap_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span> <span class="o">=</span> <span class="n">imaplib</span><span class="o">.</span><span class="n">IMAP4_SSL</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">login</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span>
+
+    <span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">logout</span><span class="p">()</span>
+
+<div class="viewcode-block" id="ImapHook.has_mail_attachment"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.imap_hook.ImapHook.has_mail_attachment">[docs]</a>    <span class="k">def</span> <span class="nf">has_mail_attachment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="o">=</span><span class="s1">&#39;INBOX&#39;</span><span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks the mail folder for mails containing attachments with the given name.</span>
+
+<span class="sd">        :param name: The name of the attachment that will be searched for.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param mail_folder: The mail folder where to look at.</span>
+<span class="sd">                            The default value is &#39;INBOX&#39;.</span>
+<span class="sd">        :type mail_folder: str</span>
+<span class="sd">        :param check_regex: Checks the name for a regular expression.</span>
+<span class="sd">                            The default value is False.</span>
+<span class="sd">        :type check_regex: bool</span>
+<span class="sd">        :returns: True if there is an attachment with the given name and False if not.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">mail_attachments</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieve_mails_attachments_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="p">,</span>
+                                                                    <span class="n">check_regex</span><span class="p">,</span>
+                                                                    <span class="n">latest_only</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">mail_attachments</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span></div>
+
+<div class="viewcode-block" id="ImapHook.retrieve_mail_attachments"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.imap_hook.ImapHook.retrieve_mail_attachments">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_mail_attachments</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="o">=</span><span class="s1">&#39;INBO [...]
+                                  <span class="n">latest_only</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieves mail&#39;s attachments in the mail folder by its name.</span>
+
+<span class="sd">        :param name: The name of the attachment that will be downloaded.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param mail_folder: The mail folder where to look at.</span>
+<span class="sd">                            The default value is &#39;INBOX&#39;.</span>
+<span class="sd">        :type mail_folder: str</span>
+<span class="sd">        :param check_regex: Checks the name for a regular expression.</span>
+<span class="sd">                            The default value is False.</span>
+<span class="sd">        :type check_regex: bool</span>
+<span class="sd">        :param latest_only: If set to True it will only retrieve</span>
+<span class="sd">                            the first matched attachment.</span>
+<span class="sd">                            The default value is False.</span>
+<span class="sd">        :type latest_only: bool</span>
+<span class="sd">        :returns: a list of tuple each containing the attachment filename and its payload.</span>
+<span class="sd">        :rtype: a list of tuple</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">mail_attachments</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieve_mails_attachments_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="p">,</span>
+                                                                    <span class="n">check_regex</span><span class="p">,</span>
+                                                                    <span class="n">latest_only</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">mail_attachments</span></div>
+
+<div class="viewcode-block" id="ImapHook.download_mail_attachments"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.imap_hook.ImapHook.download_mail_attachments">[docs]</a>    <span class="k">def</span> <span class="nf">download_mail_attachments</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">,</span> <span class="n [...]
+                                  <span class="n">check_regex</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">latest_only</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Downloads mail&#39;s attachments in the mail folder by its name</span>
+<span class="sd">        to the local directory.</span>
+
+<span class="sd">        :param name: The name of the attachment that will be downloaded.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param local_output_directory: The output directory on the local machine</span>
+<span class="sd">                                       where the files will be downloaded to.</span>
+<span class="sd">        :type local_output_directory: str</span>
+<span class="sd">        :param mail_folder: The mail folder where to look at.</span>
+<span class="sd">                            The default value is &#39;INBOX&#39;.</span>
+<span class="sd">        :type mail_folder: str</span>
+<span class="sd">        :param check_regex: Checks the name for a regular expression.</span>
+<span class="sd">                            The default value is False.</span>
+<span class="sd">        :type check_regex: bool</span>
+<span class="sd">        :param latest_only: If set to True it will only download</span>
+<span class="sd">                            the first matched attachment.</span>
+<span class="sd">                            The default value is False.</span>
+<span class="sd">        :type latest_only: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">mail_attachments</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieve_mails_attachments_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="p">,</span>
+                                                                    <span class="n">check_regex</span><span class="p">,</span> <span class="n">latest_only</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_create_files</span><span class="p">(</span><span class="n">mail_attachments</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">_retrieve_mails_attachments_by_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">mail_folder</span><span class="p">,</span> <span class="n">check_regex</span><span class="p">,</span>
+                                            <span class="n">latest_only</span><span class="p">):</span>
+        <span class="n">all_matching_attachments</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">mail_folder</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">mail_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_list_mail_ids_desc</span><span class="p">():</span>
+            <span class="n">response_mail_body</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fetch_mail_body</span><span class="p">(</span><span class="n">mail_id</span><span class="p">)</span>
+            <span class="n">matching_attachments</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_mail_body</span><span class="p">(</span><span class="n">response_mail_body</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">check_regex</span><span class="p">,</span> <span class="n">latest_only</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">matching_attachments</span><span class="p">:</span>
+                <span class="n">all_matching_attachments</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">matching_attachments</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">latest_only</span><span class="p">:</span>
+                    <span class="k">break</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">all_matching_attachments</span>
+
+    <span class="k">def</span> <span class="nf">_list_mail_ids_desc</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">result</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;All&#39;</span><span class="p">)</span>
+        <span class="n">mail_ids</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
+        <span class="k">return</span> <span class="nb">reversed</span><span class="p">(</span><span class="n">mail_ids</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_fetch_mail_body</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mail_id</span><span class="p">):</span>
+        <span class="n">result</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mail_client</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="n">mail_id</span><span class="p">,</span> <span class="s1">&#39;(RFC822)&#39;</span><span class="p">)</span>
+        <span class="n">mail_body</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>  <span class="c1"># The mail body is always in this specific location</span>
+        <span class="n">mail_body_str</span> <span class="o">=</span> <span class="n">mail_body</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">mail_body_str</span>
+
+    <span class="k">def</span> <span class="nf">_check_mail_body</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_mail_body</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">check_regex</span><span class="p">,</span> <span class="n">latest_only</span><span class="p">):</span>
+        <span class="n">mail</span> <span class="o">=</span> <span class="n">Mail</span><span class="p">(</span><span class="n">response_mail_body</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">mail</span><span class="o">.</span><span class="n">has_attachments</span><span class="p">():</span>
+            <span class="k">return</span> <span class="n">mail</span><span class="o">.</span><span class="n">get_attachments_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">check_regex</span><span class="p">,</span> <span class="n">find_first</span><span class="o">=</span><span class="n">latest_only</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_create_files</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mail_attachments</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">payload</span> <span class="ow">in</span> <span class="n">mail_attachments</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_symlink</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Can not create file because it is a symlink!&#39;</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_escaping_current_directory</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;Can not create file because it is escaping the current directory!&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_create_file</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">payload</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_is_symlink</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">islink</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_is_escaping_current_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s1">&#39;../&#39;</span> <span class="ow">in</span> <span class="n">name</span>
+
+    <span class="k">def</span> <span class="nf">_correct_path</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">local_output_directory</span> <span class="o">+</span> <span class="n">name</span> <span class="k">if</span> <span class="n">local_output_directory</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span> \
+            <span class="k">else</span> <span class="n">local_output_directory</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">name</span>
+
+    <span class="k">def</span> <span class="nf">_create_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">payload</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">):</span>
+        <span class="n">file_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_correct_path</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">local_output_directory</span><span class="p">)</span>
+
+        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
+            <span class="n">file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">payload</span><span class="p">)</span></div>
+
+
+<span class="k">class</span> <span class="nc">Mail</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This class simplifies working with mails returned by the imaplib client.</span>
+
+<span class="sd">    :param mail_body: The mail body of a mail received from imaplib client.</span>
+<span class="sd">    :type mail_body: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mail_body</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">Mail</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mail</span> <span class="o">=</span> <span class="n">email</span><span class="o">.</span><span class="n">message_from_string</span><span class="p">(</span><span class="n">mail_body</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">has_attachments</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks the mail for a attachments.</span>
+
+<span class="sd">        :returns: True if it has attachments and False if not.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">mail</span><span class="o">.</span><span class="n">get_content_maintype</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;multipart&#39;</span>
+
+    <span class="k">def</span> <span class="nf">get_attachments_by_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">check_regex</span><span class="p">,</span> <span class="n">find_first</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets all attachments by name for the mail.</span>
+
+<span class="sd">        :param name: The name of the attachment to look for.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :param check_regex: Checks the name for a regular expression.</span>
+<span class="sd">        :type check_regex: bool</span>
+<span class="sd">        :param find_first: If set to True it will only find the first match and then quit.</span>
+<span class="sd">                           The default value is False.</span>
+<span class="sd">        :type find_first: bool</span>
+<span class="sd">        :returns: a list of tuples each containing name and payload</span>
+<span class="sd">                  where the attachments name matches the given name.</span>
+<span class="sd">        :rtype: list of tuple</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">attachments</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">for</span> <span class="n">part</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">mail</span><span class="o">.</span><span class="n">walk</span><span class="p">():</span>
+            <span class="n">mail_part</span> <span class="o">=</span> <span class="n">MailPart</span><span class="p">(</span><span class="n">part</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">mail_part</span><span class="o">.</span><span class="n">is_attachment</span><span class="p">():</span>
+                <span class="n">found_attachment</span> <span class="o">=</span> <span class="n">mail_part</span><span class="o">.</span><span class="n">has_matching_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">check_regex</span> \
+                    <span class="k">else</span> <span class="n">mail_part</span><span class="o">.</span><span class="n">has_equal_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">found_attachment</span><span class="p">:</span>
+                    <span class="n">file_name</span><span class="p">,</span> <span class="n">file_payload</span> <span class="o">=</span> <span class="n">mail_part</span><span class="o">.</span><span class="n">get_file</span><span class="p">()</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Found attachment: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">file_name</span><span class="p">))</span>
+                    <span class="n">attachments</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">file_name</span><span class="p">,</span> <span class="n">file_payload</span><span class="p">))</span>
+                    <span class="k">if</span> <span class="n">find_first</span><span class="p">:</span>
+                        <span class="k">break</span>
+
+        <span class="k">return</span> <span class="n">attachments</span>
+
+
+<span class="k">class</span> <span class="nc">MailPart</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This class is a wrapper for a Mail object&#39;s part and gives it more features.</span>
+
+<span class="sd">    :param part: The mail part in a Mail object.</span>
+<span class="sd">    :type part: any</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">part</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">part</span> <span class="o">=</span> <span class="n">part</span>
+
+    <span class="k">def</span> <span class="nf">is_attachment</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if the part is a valid mail attachment.</span>
+
+<span class="sd">        :returns: True if it is an attachment and False if not.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get_content_maintype</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;multipart&#39;</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Content-D [...]
+
+    <span class="k">def</span> <span class="nf">has_matching_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if the given name matches the part&#39;s name.</span>
+
+<span class="sd">        :param name: The name to look for.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :returns: True if it matches the name (including regular expression).</span>
+<span class="sd">        :rtype: tuple</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get_filename</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">has_equal_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if the given name is equal to the part&#39;s name.</span>
+
+<span class="sd">        :param name: The name to look for.</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :returns: True if it is equal to the given name.</span>
+<span class="sd">        :rtype: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get_filename</span><span class="p">()</span> <span class="o">==</span> <span class="n">name</span>
+
+    <span class="k">def</span> <span class="nf">get_file</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the file including name and payload.</span>
+
+<span class="sd">        :returns: the part&#39;s name and payload.</span>
+<span class="sd">        :rtype: tuple</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get_filename</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">part</span><span class="o">.</span><span class="n">get_payload</span><span class="p">(</span><span class="n">decode</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/jenkins_hook.html b/_modules/airflow/contrib/hooks/jenkins_hook.html
index 1ffe07f..ccbadeb 100644
--- a/_modules/airflow/contrib/hooks/jenkins_hook.html
+++ b/_modules/airflow/contrib/hooks/jenkins_hook.html
@@ -237,20 +237,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/jira_hook.html b/_modules/airflow/contrib/hooks/jira_hook.html
index cdf8dc2..308a711 100644
--- a/_modules/airflow/contrib/hooks/jira_hook.html
+++ b/_modules/airflow/contrib/hooks/jira_hook.html
@@ -276,20 +276,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/mongo_hook.html b/_modules/airflow/contrib/hooks/mongo_hook.html
index e1c22e1..536ac27 100644
--- a/_modules/airflow/contrib/hooks/mongo_hook.html
+++ b/_modules/airflow/contrib/hooks/mongo_hook.html
@@ -308,20 +308,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/pinot_hook.html b/_modules/airflow/contrib/hooks/pinot_hook.html
index 2c03016..8e27b62 100644
--- a/_modules/airflow/contrib/hooks/pinot_hook.html
+++ b/_modules/airflow/contrib/hooks/pinot_hook.html
@@ -294,20 +294,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/qubole_hook.html b/_modules/airflow/contrib/hooks/qubole_hook.html
index 4968269..0f96d97 100644
--- a/_modules/airflow/contrib/hooks/qubole_hook.html
+++ b/_modules/airflow/contrib/hooks/qubole_hook.html
@@ -403,20 +403,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/redis_hook.html b/_modules/airflow/contrib/hooks/redis_hook.html
index e559ff0..760cf29 100644
--- a/_modules/airflow/contrib/hooks/redis_hook.html
+++ b/_modules/airflow/contrib/hooks/redis_hook.html
@@ -282,20 +282,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/redshift_hook.html b/_modules/airflow/contrib/hooks/redshift_hook.html
index e587dc2..d2c6a53 100644
--- a/_modules/airflow/contrib/hooks/redshift_hook.html
+++ b/_modules/airflow/contrib/hooks/redshift_hook.html
@@ -302,20 +302,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/sagemaker_hook.html b/_modules/airflow/contrib/hooks/sagemaker_hook.html
new file mode 100644
index 0000000..d501097
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/sagemaker_hook.html
@@ -0,0 +1,972 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.sagemaker_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.sagemaker_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.sagemaker_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">import</span> <span class="nn">tarfile</span>
+<span class="kn">import</span> <span class="nn">tempfile</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">collections</span>
+
+<span class="kn">import</span> <span class="nn">botocore.config</span>
+<span class="kn">from</span> <span class="nn">botocore.exceptions</span> <span class="k">import</span> <span class="n">ClientError</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.S3_hook</span> <span class="k">import</span> <span class="n">S3Hook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">timezone</span>
+
+
+<span class="k">class</span> <span class="nc">LogState</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="n">STARTING</span> <span class="o">=</span> <span class="mi">1</span>
+    <span class="n">WAIT_IN_PROGRESS</span> <span class="o">=</span> <span class="mi">2</span>
+    <span class="n">TAILING</span> <span class="o">=</span> <span class="mi">3</span>
+    <span class="n">JOB_COMPLETE</span> <span class="o">=</span> <span class="mi">4</span>
+    <span class="n">COMPLETE</span> <span class="o">=</span> <span class="mi">5</span>
+
+
+<span class="c1"># Position is a tuple that includes the last read timestamp and the number of items that were read</span>
+<span class="c1"># at that time. This is used to figure out which event to start with on the next read.</span>
+<span class="n">Position</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span><span class="s1">&#39;Position&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s1">&#39;timestamp&#39;</span><span class="p">,</span> <span class="s1">&#39;skip&#39;</span><span class="p">])</span>
+
+
+<span class="k">def</span> <span class="nf">argmin</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span> <span class="n">f</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Return the index, i, in arr that minimizes f(arr[i])&quot;&quot;&quot;</span>
+    <span class="n">m</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="n">i</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">arr</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">item</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">m</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">f</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">m</span><span class="p">:</span>
+                <span class="n">m</span> <span class="o">=</span> <span class="n">f</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+                <span class="n">i</span> <span class="o">=</span> <span class="n">idx</span>
+    <span class="k">return</span> <span class="n">i</span>
+
+
+<span class="k">def</span> <span class="nf">secondary_training_status_changed</span><span class="p">(</span><span class="n">current_job_description</span><span class="p">,</span> <span class="n">prev_job_description</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Returns true if training job&#39;s secondary status message has changed.</span>
+
+<span class="sd">    :param current_job_description: Current job description, returned from DescribeTrainingJob call.</span>
+<span class="sd">    :type current_job_description: dict</span>
+<span class="sd">    :param prev_job_description: Previous job description, returned from DescribeTrainingJob call.</span>
+<span class="sd">    :type prev_job_description: dict</span>
+
+<span class="sd">    :return: Whether the secondary status message of a training job changed or not.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">current_secondary_status_transitions</span> <span class="o">=</span> <span class="n">current_job_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">current_secondary_status_transitions</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">current_secondary_status_transitions</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+        <span class="k">return</span> <span class="kc">False</span>
+
+    <span class="n">prev_job_secondary_status_transitions</span> <span class="o">=</span> <span class="n">prev_job_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">)</span> \
+        <span class="k">if</span> <span class="n">prev_job_description</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="kc">None</span>
+
+    <span class="n">last_message</span> <span class="o">=</span> <span class="n">prev_job_secondary_status_transitions</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s1">&#39;StatusMessage&#39;</span><span class="p">]</span> \
+        <span class="k">if</span> <span class="n">prev_job_secondary_status_transitions</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> \
+        <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">prev_job_secondary_status_transitions</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span>
+
+    <span class="n">message</span> <span class="o">=</span> <span class="n">current_job_description</span><span class="p">[</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s1">&#39;StatusMessage&#39;</span><span class="p">]</span>
+
+    <span class="k">return</span> <span class="n">message</span> <span class="o">!=</span> <span class="n">last_message</span>
+
+
+<span class="k">def</span> <span class="nf">secondary_training_status_message</span><span class="p">(</span><span class="n">job_description</span><span class="p">,</span> <span class="n">prev_description</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Returns a string contains start time and the secondary training job status message.</span>
+
+<span class="sd">    :param job_description: Returned response from DescribeTrainingJob call</span>
+<span class="sd">    :type job_description: dict</span>
+<span class="sd">    :param prev_description: Previous job description from DescribeTrainingJob call</span>
+<span class="sd">    :type prev_description: dict</span>
+
+<span class="sd">    :return: Job status string to be printed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">if</span> <span class="n">job_description</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">job_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">None</span>\
+            <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">job_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+        <span class="k">return</span> <span class="s1">&#39;&#39;</span>
+
+    <span class="n">prev_description_secondary_transitions</span> <span class="o">=</span> <span class="n">prev_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">)</span>\
+        <span class="k">if</span> <span class="n">prev_description</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="kc">None</span>
+    <span class="n">prev_transitions_num</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">prev_description</span><span class="p">[</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">])</span>\
+        <span class="k">if</span> <span class="n">prev_description_secondary_transitions</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="mi">0</span>
+    <span class="n">current_transitions</span> <span class="o">=</span> <span class="n">job_description</span><span class="p">[</span><span class="s1">&#39;SecondaryStatusTransitions&#39;</span><span class="p">]</span>
+
+    <span class="n">transitions_to_print</span> <span class="o">=</span> <span class="n">current_transitions</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">:]</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">current_transitions</span><span class="p">)</span> <span class="o">==</span> <span class="n">prev_transitions_num</span> <span class="k">else</span> \
+        <span class="n">current_transitions</span><span class="p">[</span><span class="n">prev_transitions_num</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">current_transitions</span><span class="p">):]</span>
+
+    <span class="n">status_strs</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="k">for</span> <span class="n">transition</span> <span class="ow">in</span> <span class="n">transitions_to_print</span><span class="p">:</span>
+        <span class="n">message</span> <span class="o">=</span> <span class="n">transition</span><span class="p">[</span><span class="s1">&#39;StatusMessage&#39;</span><span class="p">]</span>
+        <span class="n">time_str</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">convert_to_utc</span><span class="p">(</span><span class="n">job_description</span><span class="p">[</span><span class="s1">&#39;LastModifiedTime&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</s [...]
+        <span class="n">status_strs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1"> </span><span class="si">{}</span><span class="s1"> - </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">time_str</span><span class="p">,</span> <span class="n">transition</span><span class="p">[</ [...]
+
+    <span class="k">return</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">status_strs</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="SageMakerHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook">[docs]</a><span class="k">class</span> <span class="nc">SageMakerHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Amazon SageMaker.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">non_terminal_states</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;InProgress&#39;</span><span class="p">,</span> <span class="s1">&#39;Stopping&#39;</span><span class="p">}</span>
+    <span class="n">endpoint_non_terminal_states</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;Creating&#39;</span><span class="p">,</span> <span class="s1">&#39;Updating&#39;</span><span class="p">,</span> <span class="s1">&#39;SystemUpdating&#39;</span><span class="p">,</span>
+                                    <span class="s1">&#39;RollingBack&#39;</span><span class="p">,</span> <span class="s1">&#39;Deleting&#39;</span><span class="p">}</span>
+    <span class="n">failed_states</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;Failed&#39;</span><span class="p">}</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SageMakerHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span> <span class="o">=</span> <span class="n">S3Hook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+
+<div class="viewcode-block" id="SageMakerHook.tar_and_s3_upload"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.tar_and_s3_upload">[docs]</a>    <span class="k">def</span> <span class="nf">tar_and_s3_upload</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket</span><span class=" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Tar the local file or directory and upload to s3</span>
+
+<span class="sd">        :param path: local file or directory</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        :param key: s3 key</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket: s3 bucket</span>
+<span class="sd">        :type bucket: str</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">with</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">TemporaryFile</span><span class="p">()</span> <span class="k">as</span> <span class="n">temp_file</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
+                <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class= [...]
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="n">path</span><span class="p">]</span>
+            <span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">mode</span><span class="o">=</span><span class="s1">&#39;w:gz&#39;</span><span class="p">,</span> <span class="n">fileobj</span><span class="o">=</span><span class="n">temp_file</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar_file</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
+                    <span class="n">tar_file</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">arcname</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+            <span class="n">temp_file</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">load_file_obj</span><span class="p">(</span><span class="n">temp_file</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">replace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.configure_s3_resources"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.configure_s3_resources">[docs]</a>    <span class="k">def</span> <span class="nf">configure_s3_resources</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Extract the S3 operations from the configuration and execute them.</span>
+
+<span class="sd">        :param config: config of SageMaker operation</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :return: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">s3_operations</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;S3Operations&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">s3_operations</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">create_bucket_ops</span> <span class="o">=</span> <span class="n">s3_operations</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;S3CreateBucket&#39;</span><span class="p">,</span> <span class="p">[])</span>
+            <span class="n">upload_ops</span> <span class="o">=</span> <span class="n">s3_operations</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;S3Upload&#39;</span><span class="p">,</span> <span class="p">[])</span>
+            <span class="k">for</span> <span class="n">op</span> <span class="ow">in</span> <span class="n">create_bucket_ops</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">create_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="o">=</span><span class="n">op</span><span class="p">[</span><span class="s1">&#39;Bucket&#39;</span><span class="p">])</span>
+            <span class="k">for</span> <span class="n">op</span> <span class="ow">in</span> <span class="n">upload_ops</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">op</span><span class="p">[</span><span class="s1">&#39;Tar&#39;</span><span class="p">]:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">tar_and_s3_upload</span><span class="p">(</span><span class="n">op</span><span class="p">[</span><span class="s1">&#39;Path&#39;</span><span class="p">],</span> <span class="n">op</span><span class="p">[</span><span class="s1">&#39;Key&#39;</span><span class="p">],</span>
+                                           <span class="n">op</span><span class="p">[</span><span class="s1">&#39;Bucket&#39;</span><span class="p">])</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">load_file</span><span class="p">(</span><span class="n">op</span><span class="p">[</span><span class="s1">&#39;Path&#39;</span><span class="p">],</span> <span class="n">op</span><span class="p">[</span><span class="s1">&#39;Key&#39;</span><span class="p">],</span>
+                                           <span class="n">op</span><span class="p">[</span><span class="s1">&#39;Bucket&#39;</span><span class="p">])</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.check_s3_url"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.check_s3_url">[docs]</a>    <span class="k">def</span> <span class="nf">check_s3_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s3url</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if an S3 URL exists</span>
+
+<span class="sd">        :param s3url: S3 url</span>
+<span class="sd">        :type s3url:str</span>
+<span class="sd">        :return: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">bucket</span><span class="p">,</span> <span class="n">key</span> <span class="o">=</span> <span class="n">S3Hook</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">check_for_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s2">&quot;The input S3 Bucket </span><span class="si">{}</span><span class="s2"> does not exist &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bucket</span><span class="p">))</span>
+        <span class="k">if</span> <span class="n">key</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket</span><span class="p">)</span>\
+           <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
+                <span class="n">prefix</span><span class="o">=</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;/&#39;</span><span class="p">):</span>
+            <span class="c1"># check if s3 key exists in the case user provides a single file</span>
+            <span class="c1"># or if s3 prefix exists in the case user provides multiple files in</span>
+            <span class="c1"># a prefix</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The input S3 Key &quot;</span>
+                                   <span class="s2">&quot;or Prefix </span><span class="si">{}</span><span class="s2"> does not exist in the Bucket </span><span class="si">{}</span><span class="s2">&quot;</span>
+                                   <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">s3url</span><span class="p">,</span> <span class="n">bucket</span><span class="p">))</span>
+        <span class="k">return</span> <span class="kc">True</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.check_training_config"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.check_training_config">[docs]</a>    <span class="k">def</span> <span class="nf">check_training_config</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">training_config</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a training configuration is valid</span>
+
+<span class="sd">        :param training_config: training_config</span>
+<span class="sd">        :type training_config: dict</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">for</span> <span class="n">channel</span> <span class="ow">in</span> <span class="n">training_config</span><span class="p">[</span><span class="s1">&#39;InputDataConfig&#39;</span><span class="p">]:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_s3_url</span><span class="p">(</span><span class="n">channel</span><span class="p">[</span><span class="s1">&#39;DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3Uri&#39;</span><span class="p">])</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.check_tuning_config"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.check_tuning_config">[docs]</a>    <span class="k">def</span> <span class="nf">check_tuning_config</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tuning_config</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if a tuning configuration is valid</span>
+
+<span class="sd">        :param tuning_config: tuning_config</span>
+<span class="sd">        :type tuning_config: dict</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">for</span> <span class="n">channel</span> <span class="ow">in</span> <span class="n">tuning_config</span><span class="p">[</span><span class="s1">&#39;TrainingJobDefinition&#39;</span><span class="p">][</span><span class="s1">&#39;InputDataConfig&#39;</span><span class="p">]:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_s3_url</span><span class="p">(</span><span class="n">channel</span><span class="p">[</span><span class="s1">&#39;DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3Uri&#39;</span><span class="p">])</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Establish an AWS connection for SageMaker</span>
+
+<span class="sd">        :return: a boto3 SageMaker client</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;sagemaker&#39;</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.get_log_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.get_log_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_log_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Establish an AWS connection for retrieving logs during training</span>
+
+<span class="sd">        :return: a boto3 CloudWatchLog client</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">config</span> <span class="o">=</span> <span class="n">botocore</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">Config</span><span class="p">(</span><span class="n">retries</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;max_attempts&#39;</span><span class="p">:</span> <span class="mi">15</span><span class="p">})</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;logs&#39;</span><span class="p">,</span> <span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.log_stream"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.log_stream">[docs]</a>    <span class="k">def</span> <span class="nf">log_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">log_group</span><span class="p">,</span> <span class="n">stream_name</span><span class="p">,</span> <span class="n">start_time</span><span class="o">= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        A generator for log items in a single stream. This will yield all the</span>
+<span class="sd">        items that are available at the current moment.</span>
+
+<span class="sd">        :param log_group: The name of the log group.</span>
+<span class="sd">        :type log_group: str</span>
+<span class="sd">        :param stream_name: The name of the specific stream.</span>
+<span class="sd">        :type stream_name: str</span>
+<span class="sd">        :param start_time: The time stamp value to start reading the logs from (default: 0).</span>
+<span class="sd">        :type start_time: int</span>
+<span class="sd">        :param skip: The number of log entries to skip at the start (default: 0).</span>
+<span class="sd">            This is for when there are multiple entries at the same timestamp.</span>
+<span class="sd">        :type skip: int</span>
+<span class="sd">        :return:A CloudWatch log event with the following key-value pairs:</span>
+<span class="sd">            &#39;timestamp&#39; (int): The time in milliseconds of the event.</span>
+<span class="sd">            &#39;message&#39; (str): The log event data.</span>
+<span class="sd">            &#39;ingestionTime&#39; (int): The time in milliseconds the event was ingested.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">next_token</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="n">event_count</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">while</span> <span class="n">event_count</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">next_token</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">token_arg</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;nextToken&#39;</span><span class="p">:</span> <span class="n">next_token</span><span class="p">}</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">token_arg</span> <span class="o">=</span> <span class="p">{}</span>
+
+            <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_log_conn</span><span class="p">()</span><span class="o">.</span><span class="n">get_log_events</span><span class="p">(</span><span class="n">logGroupName</span><span class="o">=</span><span class="n">log_group</span><span class="p">,</span>
+                                                          <span class="n">logStreamName</span><span class="o">=</span><span class="n">stream_name</span><span class="p">,</span>
+                                                          <span class="n">startTime</span><span class="o">=</span><span class="n">start_time</span><span class="p">,</span>
+                                                          <span class="n">startFromHead</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                                                          <span class="o">**</span><span class="n">token_arg</span><span class="p">)</span>
+            <span class="n">next_token</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;nextForwardToken&#39;</span><span class="p">]</span>
+            <span class="n">events</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;events&#39;</span><span class="p">]</span>
+            <span class="n">event_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">events</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">event_count</span> <span class="o">&gt;</span> <span class="n">skip</span><span class="p">:</span>
+                <span class="n">events</span> <span class="o">=</span> <span class="n">events</span><span class="p">[</span><span class="n">skip</span><span class="p">:]</span>
+                <span class="n">skip</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">skip</span> <span class="o">=</span> <span class="n">skip</span> <span class="o">-</span> <span class="n">event_count</span>
+                <span class="n">events</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="k">for</span> <span class="n">ev</span> <span class="ow">in</span> <span class="n">events</span><span class="p">:</span>
+                <span class="k">yield</span> <span class="n">ev</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.multi_stream_iter"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.multi_stream_iter">[docs]</a>    <span class="k">def</span> <span class="nf">multi_stream_iter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">log_group</span><span class="p">,</span> <span class="n">streams</span><span class="p">,</span> <span class="n">positions</span>< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Iterate over the available events coming from a set of log streams in a single log group</span>
+<span class="sd">        interleaving the events from each stream so they&#39;re yielded in timestamp order.</span>
+
+<span class="sd">        :param log_group: The name of the log group.</span>
+<span class="sd">        :type log_group: str</span>
+<span class="sd">        :param streams: A list of the log stream names. The position of the stream in this list is</span>
+<span class="sd">            the stream number.</span>
+<span class="sd">        :type streams: list</span>
+<span class="sd">        :param positions: A list of pairs of (timestamp, skip) which represents the last record</span>
+<span class="sd">            read from each stream.</span>
+<span class="sd">        :type positions: list</span>
+<span class="sd">        :return: A tuple of (stream number, cloudwatch log event).</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">positions</span> <span class="o">=</span> <span class="n">positions</span> <span class="ow">or</span> <span class="p">{</span><span class="n">s</span><span class="p">:</span> <span class="n">Position</span><span class="p">(</span><span class="n">timestamp</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">skip</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="k">for</span> <spa [...]
+        <span class="n">event_iters</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">log_stream</span><span class="p">(</span><span class="n">log_group</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">positions</span><span class="p">[</span><span class="n">s</span><span class="p">]</span><span class="o">.</span><span class="n">timestamp</span><span class="p">,</span>  [...]
+                       <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">streams</span><span class="p">]</span>
+        <span class="n">events</span> <span class="o">=</span> <span class="p">[</span><span class="nb">next</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="k">if</span> <span class="n">s</span> <span class="k">else</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">event_iters</span><span class="p">]</span>
+
+        <span class="k">while</span> <span class="nb">any</span><span class="p">(</span><span class="n">events</span><span class="p">):</span>
+            <span class="n">i</span> <span class="o">=</span> <span class="n">argmin</span><span class="p">(</span><span class="n">events</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;timestamp&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">x</span> <span class="k">else</span> <span class="mi">9999999999</span><span class="p" [...]
+            <span class="k">yield</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">events</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">events</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="n">event_iters</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
+            <span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
+                <span class="n">events</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_training_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_training_job">[docs]</a>    <span class="k">def</span> <span class="nf">create_training_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">,</span> <span class="n">wait_for_completion</span><span class="o">=</span><span class="kc">Tr [...]
+                            <span class="n">check_interval</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a training job</span>
+
+<span class="sd">        :param config: the config for training</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :param wait_for_completion: if the program should keep running until job finishes</span>
+<span class="sd">        :type wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: A response to training job creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">check_training_config</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_training_job</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">print_log</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_training_status_with_log</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;TrainingJobName&#39;</span><span class="p">],</span>
+                                                <span class="bp">self</span><span class="o">.</span><span class="n">non_terminal_states</span><span class="p">,</span>
+                                                <span class="bp">self</span><span class="o">.</span><span class="n">failed_states</span><span class="p">,</span>
+                                                <span class="n">wait_for_completion</span><span class="p">,</span>
+                                                <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span>
+                                                <span class="p">)</span>
+        <span class="k">elif</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="n">describe_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_status</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;TrainingJobName&#39;</span><span class="p">],</span>
+                                                  <span class="s1">&#39;TrainingJobStatus&#39;</span><span class="p">,</span>
+                                                  <span class="bp">self</span><span class="o">.</span><span class="n">describe_training_job</span><span class="p">,</span>
+                                                  <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span>
+                                                  <span class="p">)</span>
+
+            <span class="n">billable_time</span> <span class="o">=</span> \
+                <span class="p">(</span><span class="n">describe_response</span><span class="p">[</span><span class="s1">&#39;TrainingEndTime&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="n">describe_response</span><span class="p">[</span><span class="s1">&#39;TrainingStartTime&#39;</span><span class="p">])</span> <span class="o">*</span> \
+                <span class="n">describe_response</span><span class="p">[</span><span class="s1">&#39;ResourceConfig&#39;</span><span class="p">][</span><span class="s1">&#39;InstanceCount&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Billable seconds:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">billable_time</span><span class="o">.</span><span class="n">total_seconds</span><s [...]
+
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_tuning_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_tuning_job">[docs]</a>    <span class="k">def</span> <span class="nf">create_tuning_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">,</span> <span class="n">wait_for_completion</span><span class="o">=</span><span class="kc">True</sp [...]
+                          <span class="n">check_interval</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a tuning job</span>
+
+<span class="sd">        :param config: the config for tuning</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :param wait_for_completion: if the program should keep running until job finishes</span>
+<span class="sd">        :param wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: A response to tuning job creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">check_tuning_config</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_hyper_parameter_tuning_job</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_status</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;HyperParameterTuningJobName&#39;</span><span class="p">],</span>
+                              <span class="s1">&#39;HyperParameterTuningJobStatus&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">describe_tuning_job</span><span class="p">,</span>
+                              <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span>
+                              <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_transform_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_transform_job">[docs]</a>    <span class="k">def</span> <span class="nf">create_transform_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">,</span> <span class="n">wait_for_completion</span><span class="o">=</span><span class="kc" [...]
+                             <span class="n">check_interval</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a transform job</span>
+
+<span class="sd">        :param config: the config for transform job</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :param wait_for_completion: if the program should keep running until job finishes</span>
+<span class="sd">        :type wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: A response to transform job creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">check_s3_url</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;TransformInput&#39;</span><span class="p">][</span><span class="s1">&#39;DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3DataSource&#39;</span><span class="p">][</span><span class="s1">&#39;S3Uri&#39;</span><span class="p">])</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_transform_job</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_status</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;TransformJobName&#39;</span><span class="p">],</span>
+                              <span class="s1">&#39;TransformJobStatus&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">describe_transform_job</span><span class="p">,</span>
+                              <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span>
+                              <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_model"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_model">[docs]</a>    <span class="k">def</span> <span class="nf">create_model</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create a model job</span>
+
+<span class="sd">        :param config: the config for model</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :return: A response to model creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_model</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_endpoint_config"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_endpoint_config">[docs]</a>    <span class="k">def</span> <span class="nf">create_endpoint_config</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create an endpoint config</span>
+
+<span class="sd">        :param config: the config for endpoint-config</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :return: A response to endpoint config creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_endpoint_config</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.create_endpoint"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.create_endpoint">[docs]</a>    <span class="k">def</span> <span class="nf">create_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">,</span> <span class="n">wait_for_completion</span><span class="o">=</span><span class="kc">True</span><sp [...]
+                        <span class="n">check_interval</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Create an endpoint</span>
+
+<span class="sd">        :param config: the config for endpoint</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :param wait_for_completion: if the program should keep running until job finishes</span>
+<span class="sd">        :type wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: A response to endpoint creation</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_endpoint</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_status</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;EndpointName&#39;</span><span class="p">],</span>
+                              <span class="s1">&#39;EndpointStatus&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">describe_endpoint</span><span class="p">,</span>
+                              <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="p">,</span>
+                              <span class="n">non_terminal_states</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">endpoint_non_terminal_states</span>
+                              <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.update_endpoint"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.update_endpoint">[docs]</a>    <span class="k">def</span> <span class="nf">update_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">config</span><span class="p">,</span> <span class="n">wait_for_completion</span><span class="o">=</span><span class="kc">True</span><sp [...]
+                        <span class="n">check_interval</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Update an endpoint</span>
+
+<span class="sd">        :param config: the config for endpoint</span>
+<span class="sd">        :type config: dict</span>
+<span class="sd">        :param wait_for_completion: if the program should keep running until job finishes</span>
+<span class="sd">        :type wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: A response to endpoint update</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">update_endpoint</span><span class="p">(</span><span class="o">**</span><span class="n">config</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">check_status</span><span class="p">(</span><span class="n">config</span><span class="p">[</span><span class="s1">&#39;EndpointName&#39;</span><span class="p">],</span>
+                              <span class="s1">&#39;EndpointStatus&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">describe_endpoint</span><span class="p">,</span>
+                              <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="p">,</span>
+                              <span class="n">non_terminal_states</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">endpoint_non_terminal_states</span>
+                              <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_training_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_training_job">[docs]</a>    <span class="k">def</span> <span class="nf">describe_training_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the training job info associated with the name</span>
+
+<span class="sd">        :param name: the name of the training job</span>
+<span class="sd">        :type name: str</span>
+<span class="sd">        :return: A dict contains all the training job info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_training_job</span><span class="p">(</span><span class="n">TrainingJobName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_training_job_with_log"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_training_job_with_log">[docs]</a>    <span class="k">def</span> <span class="nf">describe_training_job_with_log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">positions</span><span class="p">,< [...]
+                                       <span class="n">instance_count</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">last_description</span><span class="p">,</span>
+                                       <span class="n">last_describe_job_call</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the training job info associated with job_name and print CloudWatch logs</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">log_group</span> <span class="o">=</span> <span class="s1">&#39;/aws/sagemaker/TrainingJobs&#39;</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">stream_names</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">instance_count</span><span class="p">:</span>
+            <span class="c1"># Log streams are created whenever a container starts writing to stdout/err, so this list</span>
+            <span class="c1"># may be dynamic until we have a stream for every instance.</span>
+            <span class="n">logs_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_log_conn</span><span class="p">()</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">streams</span> <span class="o">=</span> <span class="n">logs_conn</span><span class="o">.</span><span class="n">describe_log_streams</span><span class="p">(</span>
+                    <span class="n">logGroupName</span><span class="o">=</span><span class="n">log_group</span><span class="p">,</span>
+                    <span class="n">logStreamNamePrefix</span><span class="o">=</span><span class="n">job_name</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span>
+                    <span class="n">orderBy</span><span class="o">=</span><span class="s1">&#39;LogStreamName&#39;</span><span class="p">,</span>
+                    <span class="n">limit</span><span class="o">=</span><span class="n">instance_count</span>
+                <span class="p">)</span>
+                <span class="n">stream_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="p">[</span><span class="s1">&#39;logStreamName&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">streams</span><span class="p">[</span><span class="s1">&#39;logStreams&#39;</span><span class="p">]]</span>
+                <span class="n">positions</span><span class="o">.</span><span class="n">update</span><span class="p">([(</span><span class="n">s</span><span class="p">,</span> <span class="n">Position</span><span class="p">(</span><span class="n">timestamp</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">skip</span><span class="o">=</span><span class="mi">0</span><span class="p">))</span>
+                                  <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">stream_names</span> <span class="k">if</span> <span class="n">s</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">positions</span><span class="p">])</span>
+            <span class="k">except</span> <span class="n">logs_conn</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ResourceNotFoundException</span><span class="p">:</span>
+                <span class="c1"># On the very first training job run on an account, there&#39;s no log group until</span>
+                <span class="c1"># the container starts logging, so ignore any errors thrown about that</span>
+                <span class="k">pass</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">stream_names</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">event</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">multi_stream_iter</span><span class="p">(</span><span class="n">log_group</span><span class="p">,</span> <span class="n">stream_names</span><span class="p">,</span> <span class="n">positions</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">event</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">])</span>
+                <span class="n">ts</span><span class="p">,</span> <span class="n">count</span> <span class="o">=</span> <span class="n">positions</span><span class="p">[</span><span class="n">stream_names</span><span class="p">[</span><span class="n">idx</span><span class="p">]]</span>
+                <span class="k">if</span> <span class="n">event</span><span class="p">[</span><span class="s1">&#39;timestamp&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">ts</span><span class="p">:</span>
+                    <span class="n">positions</span><span class="p">[</span><span class="n">stream_names</span><span class="p">[</span><span class="n">idx</span><span class="p">]]</span> <span class="o">=</span> <span class="n">Position</span><span class="p">(</span><span class="n">timestamp</span><span class="o">=</span><span class="n">ts</span><span class="p">,</span> <span class="n">skip</span><span class="o">=</span><span class="n">count</span> <span class="o">+</span> <span class="m [...]
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">positions</span><span class="p">[</span><span class="n">stream_names</span><span class="p">[</span><span class="n">idx</span><span class="p">]]</span> <span class="o">=</span> <span class="n">Position</span><span class="p">(</span><span class="n">timestamp</span><span class="o">=</span><span class="n">event</span><span class="p">[</span><span class="s1">&#39;timestamp&#39;</span><span class="p">],</span> <span class="n">skip</span><span class="o">=</sp [...]
+
+        <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="n">LogState</span><span class="o">.</span><span class="n">COMPLETE</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">state</span><span class="p">,</span> <span class="n">last_description</span><span class="p">,</span> <span class="n">last_describe_job_call</span>
+
+        <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="n">LogState</span><span class="o">.</span><span class="n">JOB_COMPLETE</span><span class="p">:</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">LogState</span><span class="o">.</span><span class="n">COMPLETE</span>
+        <span class="k">elif</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">-</span> <span class="n">last_describe_job_call</span> <span class="o">&gt;=</span> <span class="mi">30</span><span class="p">:</span>
+            <span class="n">description</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">describe_training_job</span><span class="p">(</span><span class="n">job_name</span><span class="p">)</span>
+            <span class="n">last_describe_job_call</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="n">secondary_training_status_changed</span><span class="p">(</span><span class="n">description</span><span class="p">,</span> <span class="n">last_description</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">secondary_training_status_message</span><span class="p">(</span><span class="n">description</span><span class="p">,</span> <span class="n">last_description</span><span class="p">))</span>
+                <span class="n">last_description</span> <span class="o">=</span> <span class="n">description</span>
+
+            <span class="n">status</span> <span class="o">=</span> <span class="n">description</span><span class="p">[</span><span class="s1">&#39;TrainingJobStatus&#39;</span><span class="p">]</span>
+
+            <span class="k">if</span> <span class="n">status</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">non_terminal_states</span><span class="p">:</span>
+                <span class="n">state</span> <span class="o">=</span> <span class="n">LogState</span><span class="o">.</span><span class="n">JOB_COMPLETE</span>
+        <span class="k">return</span> <span class="n">state</span><span class="p">,</span> <span class="n">last_description</span><span class="p">,</span> <span class="n">last_describe_job_call</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_tuning_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_tuning_job">[docs]</a>    <span class="k">def</span> <span class="nf">describe_tuning_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the tuning job info associated with the name</span>
+
+<span class="sd">        :param name: the name of the tuning job</span>
+<span class="sd">        :type name: string</span>
+<span class="sd">        :return: A dict contains all the tuning job info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_hyper_parameter_tuning_job</span><span class="p">(</span><span class="n">HyperParameterTuningJobName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_model"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_model">[docs]</a>    <span class="k">def</span> <span class="nf">describe_model</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the SageMaker model info associated with the name</span>
+
+<span class="sd">        :param name: the name of the SageMaker model</span>
+<span class="sd">        :type name: string</span>
+<span class="sd">        :return: A dict contains all the model info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_model</span><span class="p">(</span><span class="n">ModelName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_transform_job"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_transform_job">[docs]</a>    <span class="k">def</span> <span class="nf">describe_transform_job</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the transform job info associated with the name</span>
+
+<span class="sd">        :param name: the name of the transform job</span>
+<span class="sd">        :type name: string</span>
+<span class="sd">        :return: A dict contains all the transform job info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_transform_job</span><span class="p">(</span><span class="n">TransformJobName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_endpoint_config"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_endpoint_config">[docs]</a>    <span class="k">def</span> <span class="nf">describe_endpoint_config</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return the endpoint config info associated with the name</span>
+
+<span class="sd">        :param name: the name of the endpoint config</span>
+<span class="sd">        :type name: string</span>
+<span class="sd">        :return: A dict contains all the endpoint config info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_endpoint_config</span><span class="p">(</span><span class="n">EndpointConfigName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.describe_endpoint"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.describe_endpoint">[docs]</a>    <span class="k">def</span> <span class="nf">describe_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param name: the name of the endpoint</span>
+<span class="sd">        :type name: string</span>
+<span class="sd">        :return: A dict contains all the endpoint info</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_endpoint</span><span class="p">(</span><span class="n">EndpointName</span><span class="o">=</span><span class="n">name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.check_status"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.check_status">[docs]</a>    <span class="k">def</span> <span class="nf">check_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span>
+                     <span class="n">describe_function</span><span class="p">,</span> <span class="n">check_interval</span><span class="p">,</span>
+                     <span class="n">max_ingestion_time</span><span class="p">,</span>
+                     <span class="n">non_terminal_states</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check status of a SageMaker job</span>
+
+<span class="sd">        :param job_name: name of the job to check status</span>
+<span class="sd">        :type job_name: str</span>
+<span class="sd">        :param key: the key of the response dict</span>
+<span class="sd">            that points to the state</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param describe_function: the function used to retrieve the status</span>
+<span class="sd">        :type describe_function: python callable</span>
+<span class="sd">        :param args: the arguments for the function</span>
+<span class="sd">        :param check_interval: the time interval in seconds which the operator</span>
+<span class="sd">            will check the status of any SageMaker job</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :param non_terminal_states: the set of nonterminal states</span>
+<span class="sd">        :type non_terminal_states: set</span>
+<span class="sd">        :return: response of describe call after job is done</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">non_terminal_states</span><span class="p">:</span>
+            <span class="n">non_terminal_states</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">non_terminal_states</span>
+
+        <span class="n">sec</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="n">running</span> <span class="o">=</span> <span class="kc">True</span>
+
+        <span class="k">while</span> <span class="n">running</span><span class="p">:</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">check_interval</span><span class="p">)</span>
+            <span class="n">sec</span> <span class="o">=</span> <span class="n">sec</span> <span class="o">+</span> <span class="n">check_interval</span>
+
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">response</span> <span class="o">=</span> <span class="n">describe_function</span><span class="p">(</span><span class="n">job_name</span><span class="p">)</span>
+                <span class="n">status</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Job still running for </span><span class="si">%s</span><span class="s1"> seconds... &#39;</span>
+                              <span class="s1">&#39;current status is </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">sec</span><span class="p">,</span> <span class="n">status</span><span class="p">))</span>
+            <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Could not get status of the SageMaker job&#39;</span><span class="p">)</span>
+            <span class="k">except</span> <span class="n">ClientError</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;AWS request failed, check logs for more info&#39;</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">status</span> <span class="ow">in</span> <span class="n">non_terminal_states</span><span class="p">:</span>
+                <span class="n">running</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="k">elif</span> <span class="n">status</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">failed_states</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;SageMaker job failed because </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;FailureReason&#39;</span><span class="p">])</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">running</span> <span class="o">=</span> <span class="kc">False</span>
+
+            <span class="k">if</span> <span class="n">max_ingestion_time</span> <span class="ow">and</span> <span class="n">sec</span> <span class="o">&gt;</span> <span class="n">max_ingestion_time</span><span class="p">:</span>
+                <span class="c1"># ensure that the job gets killed if the max ingestion time is exceeded</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;SageMaker job took more than </span><span class="si">%s</span><span class="s1"> seconds&#39;</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;SageMaker Job Compeleted&#39;</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">describe_function</span><span class="p">(</span><span class="n">job_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="SageMakerHook.check_training_status_with_log"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sagemaker_hook.SageMakerHook.check_training_status_with_log">[docs]</a>    <span class="k">def</span> <span class="nf">check_training_status_with_log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">non_terminal_states</span><span cl [...]
+                                       <span class="n">wait_for_completion</span><span class="p">,</span> <span class="n">check_interval</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Display the logs for a given training job, optionally tailing them until the</span>
+<span class="sd">        job is complete.</span>
+
+<span class="sd">        :param job_name: name of the training job to check status and display logs for</span>
+<span class="sd">        :type job_name: str</span>
+<span class="sd">        :param non_terminal_states: the set of non_terminal states</span>
+<span class="sd">        :type non_terminal_states: set</span>
+<span class="sd">        :param failed_states: the set of failed states</span>
+<span class="sd">        :type failed_states: set</span>
+<span class="sd">        :param wait_for_completion: Whether to keep looking for new log entries</span>
+<span class="sd">            until the job completes</span>
+<span class="sd">        :type wait_for_completion: bool</span>
+<span class="sd">        :param check_interval: The interval in seconds between polling for new log entries and job completion</span>
+<span class="sd">        :type check_interval: int</span>
+<span class="sd">        :param max_ingestion_time: the maximum ingestion time in seconds. Any</span>
+<span class="sd">            SageMaker jobs that run longer than this will fail. Setting this to</span>
+<span class="sd">            None implies no timeout for any SageMaker job.</span>
+<span class="sd">        :type max_ingestion_time: int</span>
+<span class="sd">        :return: None</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">sec</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="n">description</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">describe_training_job</span><span class="p">(</span><span class="n">job_name</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">secondary_training_status_message</span><span class="p">(</span><span class="n">description</span><span class="p">,</span> <span class="kc">None</span><span class="p">))</span>
+        <span class="n">instance_count</span> <span class="o">=</span> <span class="n">description</span><span class="p">[</span><span class="s1">&#39;ResourceConfig&#39;</span><span class="p">][</span><span class="s1">&#39;InstanceCount&#39;</span><span class="p">]</span>
+        <span class="n">status</span> <span class="o">=</span> <span class="n">description</span><span class="p">[</span><span class="s1">&#39;TrainingJobStatus&#39;</span><span class="p">]</span>
+
+        <span class="n">stream_names</span> <span class="o">=</span> <span class="p">[]</span>  <span class="c1"># The list of log streams</span>
+        <span class="n">positions</span> <span class="o">=</span> <span class="p">{}</span>     <span class="c1"># The current position in each stream, map of stream name -&gt; position</span>
+
+        <span class="n">job_already_completed</span> <span class="o">=</span> <span class="n">status</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">non_terminal_states</span>
+
+        <span class="n">state</span> <span class="o">=</span> <span class="n">LogState</span><span class="o">.</span><span class="n">TAILING</span> <span class="k">if</span> <span class="n">wait_for_completion</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">job_already_completed</span> <span class="k">else</span> <span class="n">LogState</span><span class="o">.</span><span class="n">COMPLETE</span>
+
+        <span class="c1"># The loop below implements a state machine that alternates between checking the job status and</span>
+        <span class="c1"># reading whatever is available in the logs at this point. Note, that if we were called with</span>
+        <span class="c1"># wait_for_completion == False, we never check the job status.</span>
+        <span class="c1">#</span>
+        <span class="c1"># If wait_for_completion == TRUE and job is not completed, the initial state is TAILING</span>
+        <span class="c1"># If wait_for_completion == FALSE, the initial state is COMPLETE</span>
+        <span class="c1"># (doesn&#39;t matter if the job really is complete).</span>
+        <span class="c1">#</span>
+        <span class="c1"># The state table:</span>
+        <span class="c1">#</span>
+        <span class="c1"># STATE               ACTIONS                        CONDITION             NEW STATE</span>
+        <span class="c1"># ----------------    ----------------               -----------------     ----------------</span>
+        <span class="c1"># TAILING             Read logs, Pause, Get status   Job complete          JOB_COMPLETE</span>
+        <span class="c1">#                                                    Else                  TAILING</span>
+        <span class="c1"># JOB_COMPLETE        Read logs, Pause               Any                   COMPLETE</span>
+        <span class="c1"># COMPLETE            Read logs, Exit                                      N/A</span>
+        <span class="c1">#</span>
+        <span class="c1"># Notes:</span>
+        <span class="c1"># - The JOB_COMPLETE state forces us to do an extra pause and read any items that</span>
+        <span class="c1"># got to Cloudwatch after the job was marked complete.</span>
+        <span class="n">last_describe_job_call</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
+        <span class="n">last_description</span> <span class="o">=</span> <span class="n">description</span>
+
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">check_interval</span><span class="p">)</span>
+            <span class="n">sec</span> <span class="o">=</span> <span class="n">sec</span> <span class="o">+</span> <span class="n">check_interval</span>
+
+            <span class="n">state</span><span class="p">,</span> <span class="n">last_description</span><span class="p">,</span> <span class="n">last_describe_job_call</span> <span class="o">=</span> \
+                <span class="bp">self</span><span class="o">.</span><span class="n">describe_training_job_with_log</span><span class="p">(</span><span class="n">job_name</span><span class="p">,</span> <span class="n">positions</span><span class="p">,</span> <span class="n">stream_names</span><span class="p">,</span>
+                                                    <span class="n">instance_count</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">last_description</span><span class="p">,</span>
+                                                    <span class="n">last_describe_job_call</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="n">LogState</span><span class="o">.</span><span class="n">COMPLETE</span><span class="p">:</span>
+                <span class="k">break</span>
+
+            <span class="k">if</span> <span class="n">max_ingestion_time</span> <span class="ow">and</span> <span class="n">sec</span> <span class="o">&gt;</span> <span class="n">max_ingestion_time</span><span class="p">:</span>
+                <span class="c1"># ensure that the job gets killed if the max ingestion time is exceeded</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;SageMaker job took more than </span><span class="si">%s</span><span class="s1"> seconds&#39;</span><span class="p">,</span> <span class="n">max_ingestion_time</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">wait_for_completion</span><span class="p">:</span>
+            <span class="n">status</span> <span class="o">=</span> <span class="n">last_description</span><span class="p">[</span><span class="s1">&#39;TrainingJobStatus&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">status</span> <span class="ow">in</span> <span class="n">failed_states</span><span class="p">:</span>
+                <span class="n">reason</span> <span class="o">=</span> <span class="n">last_description</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;FailureReason&#39;</span><span class="p">,</span> <span class="s1">&#39;(No reason provided)&#39;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Error training </span><span class="si">{}</span><span class="s1">: </span><span class="si">{}</span><span class="s1"> Reason: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">job_name</span><span class="p">,</span> <span class="n">status</span><span class= [...]
+            <span class="n">billable_time</span> <span class="o">=</span> <span class="p">(</span><span class="n">last_description</span><span class="p">[</span><span class="s1">&#39;TrainingEndTime&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="n">last_description</span><span class="p">[</span><span class="s1">&#39;TrainingStartTime&#39;</span><span class="p">])</span> \
+                <span class="o">*</span> <span class="n">instance_count</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Billable seconds:</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">billable_time</span><span class="o">.</span><span class="n">total_seconds</span><s [...]
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/segment_hook.html b/_modules/airflow/contrib/hooks/segment_hook.html
index ccb8fd0..fb4396f 100644
--- a/_modules/airflow/contrib/hooks/segment_hook.html
+++ b/_modules/airflow/contrib/hooks/segment_hook.html
@@ -281,20 +281,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/sftp_hook.html b/_modules/airflow/contrib/hooks/sftp_hook.html
index efc5485..84a9fe8 100644
--- a/_modules/airflow/contrib/hooks/sftp_hook.html
+++ b/_modules/airflow/contrib/hooks/sftp_hook.html
@@ -182,11 +182,14 @@
 <span class="kn">import</span> <span class="nn">pysftp</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">datetime</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.ssh_hook</span> <span class="k">import</span> <span class="n">SSHHook</span>
 
 
-<div class="viewcode-block" id="SFTPHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook">[docs]</a><span class="k">class</span> <span class="nc">SFTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+<div class="viewcode-block" id="SFTPHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook">[docs]</a><span class="k">class</span> <span class="nc">SFTPHook</span><span class="p">(</span><span class="n">SSHHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This hook is inherited from SSH hook. Please refer to SSH hook for the input</span>
+<span class="sd">    arguments.</span>
+
 <span class="sd">    Interact with SFTP. Aims to be interchangeable with FTPHook.</span>
 
 <span class="sd">    Pitfalls: - In contrast with FTPHook describe_directory only returns size, type and</span>
@@ -200,32 +203,74 @@
 <span class="sd">    Errors that may occur throughout but should be handled downstream.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;sftp_default&#39;</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;sftp_default&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;ssh_conn_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SFTPHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">private_key_pass</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="c1"># Fail for unverified hosts, unless this is explicitly allowed</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">extra_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+                <span class="k">if</span> <span class="s1">&#39;private_key_pass&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">private_key_pass</span> <span class="o">=</span> <span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+                <span class="c1"># For backward compatibility</span>
+                <span class="c1"># TODO: remove in Airflow 2.1</span>
+                <span class="kn">import</span> <span class="nn">warnings</span>
+                <span class="k">if</span> <span class="s1">&#39;ignore_hostkey_verification&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                    <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                        <span class="s1">&#39;Extra option `ignore_hostkey_verification` is deprecated.&#39;</span>
+                        <span class="s1">&#39;Please use `no_host_key_check` instead.&#39;</span>
+                        <span class="s1">&#39;This option will be removed in Airflow 2.1&#39;</span><span class="p">,</span>
+                        <span class="ne">DeprecationWarning</span><span class="p">,</span>
+                        <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
+                    <span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span>
+                        <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;ignore_hostkey_verification&#39;</span><span class="p">]</span>
+                    <span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
+
+                <span class="k">if</span> <span class="s1">&#39;no_host_key_check&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span>
+                        <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;no_host_key_check&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;true&#39;</span>
+
+                <span class="k">if</span> <span class="s1">&#39;private_key&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                    <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                        <span class="s1">&#39;Extra option `private_key` is deprecated.&#39;</span>
+                        <span class="s1">&#39;Please use `key_file` instead.&#39;</span>
+                        <span class="s1">&#39;This option will be removed in Airflow 2.1&#39;</span><span class="p">,</span>
+                        <span class="ne">DeprecationWarning</span><span class="p">,</span>
+                        <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
+                    <span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;private_key&#39;</span><span class="p">)</span>
 
 <div class="viewcode-block" id="SFTPHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns an SFTP connection object</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
             <span class="n">cnopts</span> <span class="o">=</span> <span class="n">pysftp</span><span class="o">.</span><span class="n">CnOpts</span><span class="p">()</span>
-            <span class="k">if</span> <span class="p">(</span><span class="s1">&#39;ignore_hostkey_verification&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span> <span class="ow">and</span>
-                    <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;ignore_hostkey_verification&#39;</span><span class="p">]):</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span><span class="p">:</span>
                 <span class="n">cnopts</span><span class="o">.</span><span class="n">hostkeys</span> <span class="o">=</span> <span class="kc">None</span>
+            <span class="n">cnopts</span><span class="o">.</span><span class="n">compression</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">compress</span>
             <span class="n">conn_params</span> <span class="o">=</span> <span class="p">{</span>
-                <span class="s1">&#39;host&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
-                <span class="s1">&#39;port&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
-                <span class="s1">&#39;username&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+                <span class="s1">&#39;host&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
+                <span class="s1">&#39;port&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                <span class="s1">&#39;username&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
                 <span class="s1">&#39;cnopts&#39;</span><span class="p">:</span> <span class="n">cnopts</span>
             <span class="p">}</span>
-            <span class="k">if</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;password&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span>
-            <span class="k">if</span> <span class="s1">&#39;private_key&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
-                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="s1">&#39;private_key_pass&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
-                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;password&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">:</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">private_key_pass</span><span class="p">:</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">private_key_pass</span>
+
             <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">pysftp</span><span class="o">.</span><span class="n">Connection</span><span class="p">(</span><span class="o">**</span><span class="n">conn_params</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
 
@@ -358,20 +403,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/slack_webhook_hook.html b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
index 8112c68..4ac5d9b 100644
--- a/_modules/airflow/contrib/hooks/slack_webhook_hook.html
+++ b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
@@ -318,20 +318,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/snowflake_hook.html b/_modules/airflow/contrib/hooks/snowflake_hook.html
index aa15463..757efeb 100644
--- a/_modules/airflow/contrib/hooks/snowflake_hook.html
+++ b/_modules/airflow/contrib/hooks/snowflake_hook.html
@@ -287,20 +287,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/spark_jdbc_hook.html b/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
index f6fe261..1af0775 100644
--- a/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
@@ -435,20 +435,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/spark_sql_hook.html b/_modules/airflow/contrib/hooks/spark_sql_hook.html
index ba78c7b..95e9e4b 100644
--- a/_modules/airflow/contrib/hooks/spark_sql_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_sql_hook.html
@@ -351,20 +351,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/spark_submit_hook.html b/_modules/airflow/contrib/hooks/spark_submit_hook.html
index 9e47eef..db35e88 100644
--- a/_modules/airflow/contrib/hooks/spark_submit_hook.html
+++ b/_modules/airflow/contrib/hooks/spark_submit_hook.html
@@ -756,20 +756,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/sqoop_hook.html b/_modules/airflow/contrib/hooks/sqoop_hook.html
index 9c13d5f..b6acb04 100644
--- a/_modules/airflow/contrib/hooks/sqoop_hook.html
+++ b/_modules/airflow/contrib/hooks/sqoop_hook.html
@@ -541,20 +541,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/ssh_hook.html b/_modules/airflow/contrib/hooks/ssh_hook.html
index 453721f..3123f1d 100644
--- a/_modules/airflow/contrib/hooks/ssh_hook.html
+++ b/_modules/airflow/contrib/hooks/ssh_hook.html
@@ -180,11 +180,12 @@
 
 <span class="kn">import</span> <span class="nn">getpass</span>
 <span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">warnings</span>
 
 <span class="kn">import</span> <span class="nn">paramiko</span>
 <span class="kn">from</span> <span class="nn">paramiko.config</span> <span class="k">import</span> <span class="n">SSH_PORT</span>
+<span class="kn">from</span> <span class="nn">sshtunnel</span> <span class="k">import</span> <span class="n">SSHTunnelForwarder</span>
 
-<span class="kn">from</span> <span class="nn">contextlib</span> <span class="k">import</span> <span class="n">contextmanager</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
@@ -223,7 +224,7 @@
                  <span class="n">username</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">password</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">key_file</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                 <span class="n">port</span><span class="o">=</span><span class="n">SSH_PORT</span><span class="p">,</span>
+                 <span class="n">port</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
                  <span class="n">keepalive_interval</span><span class="o">=</span><span class="mi">30</span>
                  <span class="p">):</span>
@@ -233,165 +234,170 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">password</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">key_file</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">port</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span> <span class="o">=</span> <span class="n">keepalive_interval</span>
+
         <span class="c1"># Default values, overridable from Connection</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="c1"># Placeholder for deprecated __enter__</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">port</span>
 
-    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Creating SSH client for conn_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
-            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
-                <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span>
-                <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="n">extra_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;key_file&quot;</span><span class="p">)</span>
-
-                    <span class="k">if</span> <span class="s2">&quot;timeout&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;timeout&quot;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
-
-                    <span class="k">if</span> <span class="s2">&quot;compress&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
-                            <span class="ow">and</span> <span class="nb">str</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;compress&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="kc">False</span>
-                    <span class="k">if</span> <span class="s2">&quot;no_host_key_check&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
-                            <span class="ow">and</span> \
-                            <span class="nb">str</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;no_host_key_check&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">False</span>
-
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Missing required param: remote_host&quot;</span><span class="p">)</span>
-
-            <span class="c1"># Auto detecting username values from system</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
-                    <span class="s2">&quot;username to ssh to host: </span><span class="si">%s</span><span class="s2"> is not specified for connection id&quot;</span>
-                    <span class="s2">&quot; </span><span class="si">%s</span><span class="s2">. Using system&#39;s default provided by getpass.getuser()&quot;</span><span class="p">,</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span>
-                <span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">()</span>
-
-            <span class="n">host_proxy</span> <span class="o">=</span> <span class="kc">None</span>
-            <span class="n">user_ssh_config_filename</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s1">&#39;~/.ssh/config&#39;</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">user_ssh_config_filename</span><span class="p">):</span>
-                <span class="n">ssh_conf</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">SSHConfig</span><span class="p">()</span>
-                <span class="n">ssh_conf</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">user_ssh_config_filename</span><span class="p">))</span>
-                <span class="n">host_info</span> <span class="o">=</span> <span class="n">ssh_conf</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">host_info</span> <span class="ow">and</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxycommand&#39;</span><span class="p">):</span>
-                    <span class="n">host_proxy</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">ProxyCommand</span><span class="p">(</span><span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxycommand&#39;</span><span class="p">))</span>
-
-                <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">):</span>
-                    <span class="k">if</span> <span class="n">host_info</span> <span class="ow">and</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;identityfile&#39;</span><span class="p">):</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;identityfile&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
-
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">client</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">SSHClient</span><span class="p">()</span>
-                <span class="n">client</span><span class="o">.</span><span class="n">load_system_host_keys</span><span class="p">()</span>
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span><span class="p">:</span>
-                    <span class="c1"># Default is RejectPolicy</span>
-                    <span class="n">client</span><span class="o">.</span><span class="n">set_missing_host_key_policy</span><span class="p">(</span><span class="n">paramiko</span><span class="o">.</span><span class="n">AutoAddPolicy</span><span class="p">())</span>
-
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
-                    <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">hostname</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
-                                   <span class="n">username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
-                                   <span class="n">password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
-                                   <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">,</span>
-                                   <span class="n">compress</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">compress</span><span class="p">,</span>
-                                   <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
-                                   <span class="n">sock</span><span class="o">=</span><span class="n">host_proxy</span><span class="p">)</span>
-                <span class="k">else</span><span class="p">:</span>
-                    <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">hostname</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
-                                   <span class="n">username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
-                                   <span class="n">key_filename</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">,</span>
-                                   <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">,</span>
-                                   <span class="n">compress</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">compress</span><span class="p">,</span>
-                                   <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
-                                   <span class="n">sock</span><span class="o">=</span><span class="n">host_proxy</span><span class="p">)</span>
-
-                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span><span class="p">:</span>
-                    <span class="n">client</span><span class="o">.</span><span class="n">get_transport</span><span class="p">()</span><span class="o">.</span><span class="n">set_keepalive</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span><span class="p">)</span>
-
-                <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
-            <span class="k">except</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">AuthenticationException</span> <span class="k">as</span> <span class="n">auth_error</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
-                    <span class="s2">&quot;Auth failed while connecting to host: </span><span class="si">%s</span><span class="s2">, error: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">auth_error</span>
-                <span class="p">)</span>
-            <span class="k">except</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">SSHException</span> <span class="k">as</span> <span class="n">ssh_error</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
-                    <span class="s2">&quot;Failed connecting to host: </span><span class="si">%s</span><span class="s2">, error: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">ssh_error</span>
-                <span class="p">)</span>
-            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">error</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
-                    <span class="s2">&quot;Error connecting to host: </span><span class="si">%s</span><span class="s2">, error: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">error</span>
-                <span class="p">)</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span>
-
-<div class="viewcode-block" id="SSHHook.create_tunnel"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ssh_hook.SSHHook.create_tunnel">[docs]</a>    <span class="nd">@contextmanager</span>
-    <span class="k">def</span> <span class="nf">create_tunnel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_port</span><span class="p">,</span> <span class="n">remote_port</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">remote_host</span><span class="o">=</span><span class="s2">&quot;localhost&quot;</span><span class="p">):</span>
+        <span class="c1"># Use connection to override defaults</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span>
+            <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">extra_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">extra_options</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;key_file&quot;</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="s2">&quot;timeout&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;timeout&quot;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="s2">&quot;compress&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span>\
+                        <span class="ow">and</span> <span class="nb">str</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;compress&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">compress</span> <span class="o">=</span> <span class="kc">False</span>
+                <span class="k">if</span> <span class="s2">&quot;no_host_key_check&quot;</span> <span class="ow">in</span> <span class="n">extra_options</span>\
+                        <span class="ow">and</span>\
+                        <span class="nb">str</span><span class="p">(</span><span class="n">extra_options</span><span class="p">[</span><span class="s2">&quot;no_host_key_check&quot;</span><span class="p">])</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Missing required param: remote_host&quot;</span><span class="p">)</span>
+
+        <span class="c1"># Auto detecting username values from system</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                <span class="s2">&quot;username to ssh to host: </span><span class="si">%s</span><span class="s2"> is not specified for connection id&quot;</span>
+                <span class="s2">&quot; </span><span class="si">%s</span><span class="s2">. Using system&#39;s default provided by getpass.getuser()&quot;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span>
+            <span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">()</span>
+
+        <span class="n">user_ssh_config_filename</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s1">&#39;~/.ssh/config&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">user_ssh_config_filename</span><span class="p">):</span>
+            <span class="n">ssh_conf</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">SSHConfig</span><span class="p">()</span>
+            <span class="n">ssh_conf</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">user_ssh_config_filename</span><span class="p">))</span>
+            <span class="n">host_info</span> <span class="o">=</span> <span class="n">ssh_conf</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">host_info</span> <span class="ow">and</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxycommand&#39;</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">ProxyCommand</span><span class="p">(</span><span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;proxycommand&#39;</span><span class="p">))</span>
+
+            <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">):</span>
+                <span class="k">if</span> <span class="n">host_info</span> <span class="ow">and</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;identityfile&#39;</span><span class="p">):</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">key_file</span> <span class="o">=</span> <span class="n">host_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;identityfile&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="ow">or</span> <span class="n">SSH_PORT</span>
+
+<div class="viewcode-block" id="SSHHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ssh_hook.SSHHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Creates a tunnel between two hosts. Like ssh -L &lt;LOCAL_PORT&gt;:host:&lt;REMOTE_PORT&gt;.</span>
-<span class="sd">        Remember to close() the returned &quot;tunnel&quot; object in order to clean up</span>
-<span class="sd">        after yourself when you are done with the tunnel.</span>
+<span class="sd">        Opens a ssh connection to the remote host.</span>
 
-<span class="sd">        :param local_port:</span>
-<span class="sd">        :type local_port: int</span>
-<span class="sd">        :param remote_port:</span>
-<span class="sd">        :type remote_port: int</span>
-<span class="sd">        :param remote_host:</span>
-<span class="sd">        :type remote_host: str</span>
-<span class="sd">        :return:</span>
+<span class="sd">        :return paramiko.SSHClient object</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
-        <span class="kn">import</span> <span class="nn">subprocess</span>
-        <span class="c1"># this will ensure the connection to the ssh.remote_host from where the tunnel</span>
-        <span class="c1"># is getting created</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-
-        <span class="n">tunnel_host</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">:</span><span class="si">{1}</span><span class="s2">:</span><span class="si">{2}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">local_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span [...]
-
-        <span class="n">ssh_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;ssh&quot;</span><span class="p">,</span> <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2">@</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span> <span class="bp" [...]
-                   <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;ControlMaster=no&quot;</span><span class="p">,</span>
-                   <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;UserKnownHostsFile=/dev/null&quot;</span><span class="p">,</span>
-                   <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;StrictHostKeyChecking=no&quot;</span><span class="p">]</span>
-
-        <span class="n">ssh_tunnel_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;-L&quot;</span><span class="p">,</span> <span class="n">tunnel_host</span><span class="p">,</span>
-                          <span class="s2">&quot;echo -n ready &amp;&amp; cat&quot;</span>
-                          <span class="p">]</span>
-
-        <span class="n">ssh_cmd</span> <span class="o">+=</span> <span class="n">ssh_tunnel_cmd</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Creating tunnel with cmd: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">ssh_cmd</span><span class="p">)</span>
-
-        <span class="n">proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">ssh_cmd</span><span class="p">,</span>
-                                <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                                <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
-                                <span class="n">close_fds</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-        <span class="n">ready</span> <span class="o">=</span> <span class="n">proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
-        <span class="k">assert</span> <span class="n">ready</span> <span class="o">==</span> <span class="sa">b</span><span class="s2">&quot;ready&quot;</span><span class="p">,</span> \
-            <span class="s2">&quot;Did not get &#39;ready&#39; from remote, got &#39;</span><span class="si">{0}</span><span class="s2">&#39; instead&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ready</span><span class="p">)</span>
-        <span class="k">yield</span>
-        <span class="n">proc</span><span class="o">.</span><span class="n">communicate</span><span class="p">()</span>
-        <span class="k">assert</span> <span class="n">proc</span><span class="o">.</span><span class="n">returncode</span> <span class="o">==</span> <span class="mi">0</span><span class="p">,</span> \
-            <span class="s2">&quot;Tunnel process did unclean exit (returncode </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">proc</span><span class="o">.</span><span class="n">returncode</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Creating SSH client for conn_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ssh_conn_id</span><span class="p">)</span>
+        <span class="n">client</span> <span class="o">=</span> <span class="n">paramiko</span><span class="o">.</span><span class="n">SSHClient</span><span class="p">()</span>
+        <span class="n">client</span><span class="o">.</span><span class="n">load_system_host_keys</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_host_key_check</span><span class="p">:</span>
+            <span class="c1"># Default is RejectPolicy</span>
+            <span class="n">client</span><span class="o">.</span><span class="n">set_missing_host_key_policy</span><span class="p">(</span><span class="n">paramiko</span><span class="o">.</span><span class="n">AutoAddPolicy</span><span class="p">())</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
+            <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">hostname</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
+                           <span class="n">username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
+                           <span class="n">password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                           <span class="n">key_filename</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">,</span>
+                           <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">,</span>
+                           <span class="n">compress</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">compress</span><span class="p">,</span>
+                           <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                           <span class="n">sock</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">hostname</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
+                           <span class="n">username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
+                           <span class="n">key_filename</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">,</span>
+                           <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">,</span>
+                           <span class="n">compress</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">compress</span><span class="p">,</span>
+                           <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                           <span class="n">sock</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span><span class="p">:</span>
+            <span class="n">client</span><span class="o">.</span><span class="n">get_transport</span><span class="p">()</span><span class="o">.</span><span class="n">set_keepalive</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">keepalive_interval</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
+        <span class="k">return</span> <span class="n">client</span></div>
 
     <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;The contextmanager of SSHHook is deprecated.&#39;</span>
+                      <span class="s1">&#39;Please use get_conn() as a contextmanager instead.&#39;</span>
+                      <span class="s1">&#39;This method will be removed in Airflow 2.0&#39;</span><span class="p">,</span>
+                      <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span>
 
     <span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="SSHHook.get_tunnel"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ssh_hook.SSHHook.get_tunnel">[docs]</a>    <span class="k">def</span> <span class="nf">get_tunnel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="o">=</span><span class="s2">&quot;localhost&quot;</span><span class="p">,</spa [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a tunnel between two hosts. Like ssh -L &lt;LOCAL_PORT&gt;:host:&lt;REMOTE_PORT&gt;.</span>
+
+<span class="sd">        :param remote_port: The remote port to create a tunnel to</span>
+<span class="sd">        :type remote_port: int</span>
+<span class="sd">        :param remote_host: The remote host to create a tunnel to (default localhost)</span>
+<span class="sd">        :type remote_host: str</span>
+<span class="sd">        :param local_port:  The local port to attach the tunnel to</span>
+<span class="sd">        :type local_port: int</span>
+
+<span class="sd">        :return: sshtunnel.SSHTunnelForwarder object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">local_port</span><span class="p">:</span>
+            <span class="n">local_bind_address</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;localhost&#39;</span><span class="p">,</span> <span class="n">local_port</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">local_bind_address</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;localhost&#39;</span><span class="p">,)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
+            <span class="n">client</span> <span class="o">=</span> <span class="n">SSHTunnelForwarder</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
+                                        <span class="n">ssh_port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                                        <span class="n">ssh_username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
+                                        <span class="n">ssh_password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                                        <span class="n">ssh_pkey</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">,</span>
+                                        <span class="n">ssh_proxy</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span><span class="p">,</span>
+                                        <span class="n">local_bind_address</span><span class="o">=</span><span class="n">local_bind_address</span><span class="p">,</span>
+                                        <span class="n">remote_bind_address</span><span class="o">=</span><span class="p">(</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span class="p">),</span>
+                                        <span class="n">logger</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">client</span> <span class="o">=</span> <span class="n">SSHTunnelForwarder</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">remote_host</span><span class="p">,</span>
+                                        <span class="n">ssh_port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                                        <span class="n">ssh_username</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">,</span>
+                                        <span class="n">ssh_pkey</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key_file</span><span class="p">,</span>
+                                        <span class="n">ssh_proxy</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host_proxy</span><span class="p">,</span>
+                                        <span class="n">local_bind_address</span><span class="o">=</span><span class="n">local_bind_address</span><span class="p">,</span>
+                                        <span class="n">remote_bind_address</span><span class="o">=</span><span class="p">(</span><span class="n">remote_host</span><span class="p">,</span> <span class="n">remote_port</span><span class="p">),</span>
+                                        <span class="n">host_pkey_directories</span><span class="o">=</span><span class="p">[],</span>
+                                        <span class="n">logger</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">client</span></div>
+
+    <span class="k">def</span> <span class="nf">create_tunnel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">local_port</span><span class="p">,</span> <span class="n">remote_port</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">remote_host</span><span class="o">=</span><span class="s2">&quot;localhost&quot;</span><span class="p">):</span>
+        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;SSHHook.create_tunnel is deprecated, Please&#39;</span>
+                      <span class="s1">&#39;use get_tunnel() instead. But please note that the&#39;</span>
+                      <span class="s1">&#39;order of the parameters have changed&#39;</span>
+                      <span class="s1">&#39;This method will be removed in Airflow 2.0&#39;</span><span class="p">,</span>
+                      <span class="n">category</span><span class="o">=</span><span class="ne">DeprecationWarning</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_tunnel</span><span class="p">(</span><span class="n">remote_port</span><span class="p">,</span> <span class="n">remote_host</span><span class="p">,</span> <span class="n">local_port</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
@@ -422,20 +428,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/vertica_hook.html b/_modules/airflow/contrib/hooks/vertica_hook.html
index f60fa92..8193e44 100644
--- a/_modules/airflow/contrib/hooks/vertica_hook.html
+++ b/_modules/airflow/contrib/hooks/vertica_hook.html
@@ -242,20 +242,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/wasb_hook.html b/_modules/airflow/contrib/hooks/wasb_hook.html
index e98b5cf..13007c9 100644
--- a/_modules/airflow/contrib/hooks/wasb_hook.html
+++ b/_modules/airflow/contrib/hooks/wasb_hook.html
@@ -179,6 +179,7 @@
 <span class="c1"># under the License.</span>
 <span class="c1">#</span>
 
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
 
 <span class="kn">from</span> <span class="nn">azure.storage.blob</span> <span class="k">import</span> <span class="n">BlockBlobService</span>
@@ -308,7 +309,47 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_blob_to_text</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span>
                                                 <span class="n">blob_name</span><span class="p">,</span>
-                                                <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span><span class="o">.</span><span class="n">content</span></div></div>
+                                                <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span><span class="o">.</span><span class="n">content</span></div>
+
+<div class="viewcode-block" id="WasbHook.delete_file"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.wasb_hook.WasbHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span> <span class="n">is_prefix</span><span class="o">=</s [...]
+                    <span class="n">ignore_if_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete a file from Azure Blob Storage.</span>
+
+<span class="sd">        :param container_name: Name of the container.</span>
+<span class="sd">        :type container_name: str</span>
+<span class="sd">        :param blob_name: Name of the blob.</span>
+<span class="sd">        :type blob_name: str</span>
+<span class="sd">        :param is_prefix: If blob_name is a prefix, delete all matching files</span>
+<span class="sd">        :type is_prefix: bool</span>
+<span class="sd">        :param ignore_if_missing: if True, then return success even if the</span>
+<span class="sd">        blob does not exist.</span>
+<span class="sd">        :type ignore_if_missing: bool</span>
+<span class="sd">        :param kwargs: Optional keyword arguments that</span>
+<span class="sd">            `BlockBlobService.create_blob_from_path()` takes.</span>
+<span class="sd">        :type kwargs: object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">is_prefix</span><span class="p">:</span>
+            <span class="n">blobs_to_delete</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="n">blob</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">blob</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">list_blobs</span><span class="p">(</span>
+                    <span class="n">container_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span>
+                <span class="p">)</span>
+            <span class="p">]</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_for_blob</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">):</span>
+            <span class="n">blobs_to_delete</span> <span class="o">=</span> <span class="p">[</span><span class="n">blob_name</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">blobs_to_delete</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">ignore_if_missing</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">blobs_to_delete</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Blob(s) not found: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">blob_name</span><span class="p">))</span>
+
+        <span class="k">for</span> <span class="n">blob_uri</span> <span class="ow">in</span> <span class="n">blobs_to_delete</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Deleting blob: &quot;</span> <span class="o">+</span> <span class="n">blob_uri</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">delete_blob</span><span class="p">(</span><span class="n">container_name</span><span class="p">,</span>
+                                        <span class="n">blob_uri</span><span class="p">,</span>
+                                        <span class="n">delete_snapshots</span><span class="o">=</span><span class="s1">&#39;include&#39;</span><span class="p">,</span>
+                                        <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -339,20 +380,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/hooks/winrm_hook.html b/_modules/airflow/contrib/hooks/winrm_hook.html
index c89917c..5496cb2 100644
--- a/_modules/airflow/contrib/hooks/winrm_hook.html
+++ b/_modules/airflow/contrib/hooks/winrm_hook.html
@@ -326,20 +326,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/kubernetes/secret.html b/_modules/airflow/contrib/kubernetes/secret.html
index 4d77038..6f75ac3 100644
--- a/_modules/airflow/contrib/kubernetes/secret.html
+++ b/_modules/airflow/contrib/kubernetes/secret.html
@@ -230,20 +230,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/awsbatch_operator.html b/_modules/airflow/contrib/operators/awsbatch_operator.html
index 9f65bb3..2917d61 100644
--- a/_modules/airflow/contrib/operators/awsbatch_operator.html
+++ b/_modules/airflow/contrib/operators/awsbatch_operator.html
@@ -203,18 +203,20 @@
 <span class="sd">    :type job_definition: str</span>
 <span class="sd">    :param job_queue: the queue name on AWS Batch</span>
 <span class="sd">    :type job_queue: str</span>
-<span class="sd">    :param: overrides: the same parameter that boto3 will receive on</span>
-<span class="sd">            containerOverrides (templated):</span>
-<span class="sd">            http://boto3.readthedocs.io/en/latest/reference/services/batch.html#submit_job</span>
-<span class="sd">    :type: overrides: dict</span>
-<span class="sd">    :param max_retries: exponential backoff retries while waiter is not merged, 4200 = 48 hours</span>
+<span class="sd">    :param overrides: the same parameter that boto3 will receive on</span>
+<span class="sd">        containerOverrides (templated).</span>
+<span class="sd">        http://boto3.readthedocs.io/en/latest/reference/services/batch.html#submit_job</span>
+<span class="sd">    :type overrides: dict</span>
+<span class="sd">    :param max_retries: exponential backoff retries while waiter is not merged,</span>
+<span class="sd">        4200 = 48 hours</span>
 <span class="sd">    :type max_retries: int</span>
 <span class="sd">    :param aws_conn_id: connection id of AWS credentials / region name. If None,</span>
-<span class="sd">            credential boto3 strategy will be used</span>
-<span class="sd">            (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
+<span class="sd">        credential boto3 strategy will be used</span>
+<span class="sd">        (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
 <span class="sd">    :type aws_conn_id: str</span>
 <span class="sd">    :param region_name: region name to use in AWS Hook.</span>
 <span class="sd">        Override the region_name in connection (if provided)</span>
+<span class="sd">    :type region_name: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#c3dae0&#39;</span>
@@ -240,7 +242,7 @@
 
         <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="AWSBatchOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.awsbatch_operator.AWSBatchOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Running AWS Batch Job - Job definition: </span><span class="si">%s</span><span class="s1"> - on queue </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">job_definition</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_queue</span>
@@ -271,7 +273,7 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;AWS Batch Job has been successfully executed: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
         <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;AWS Batch Job has failed executed&#39;</span><span class="p">)</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">e</span><span class="p">)</span></div>
 
     <span class="k">def</span> <span class="nf">_wait_for_task_ended</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -300,7 +302,7 @@
                 <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;jobs&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;SUCCEEDED&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILED&#39;</span><span class="p">]:</span>
                     <span class="n">retry</span> <span class="o">=</span> <span class="kc">False</span>
 
-                <span class="n">sleep</span><span class="p">(</span> <span class="mi">1</span> <span class="o">+</span> <span class="nb">pow</span><span class="p">(</span><span class="n">retries</span> <span class="o">*</span> <span class="mf">0.1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
+                <span class="n">sleep</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="nb">pow</span><span class="p">(</span><span class="n">retries</span> <span class="o">*</span> <span class="mf">0.1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
                 <span class="n">retries</span> <span class="o">+=</span> <span class="mi">1</span>
 
     <span class="k">def</span> <span class="nf">_check_success_task</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -330,12 +332,12 @@
             <span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span>
         <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="AWSBatchOperator.on_kill"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.awsbatch_operator.AWSBatchOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">terminate_job</span><span class="p">(</span>
             <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">jobId</span><span class="p">,</span>
             <span class="n">reason</span><span class="o">=</span><span class="s1">&#39;Task killed by the user&#39;</span><span class="p">)</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">response</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">response</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -366,20 +368,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_check_operator.html b/_modules/airflow/contrib/operators/bigquery_check_operator.html
index 9202dec..217dbeb 100644
--- a/_modules/airflow/contrib/operators/bigquery_check_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_check_operator.html
@@ -216,21 +216,25 @@
 <span class="sd">    :type sql: string</span>
 <span class="sd">    :param bigquery_conn_id: reference to the BigQuery database</span>
 <span class="sd">    :type bigquery_conn_id: string</span>
+<span class="sd">    :param use_legacy_sql: Whether to use legacy SQL (true)</span>
+<span class="sd">        or standard SQL (false).</span>
+<span class="sd">    :type use_legacy_sql: boolean</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">sql</span><span class="p">,</span>
-            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
-            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">sql</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span [...]
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">)</span></div>
 
 
 <div class="viewcode-block" id="BigQueryValueCheckOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_check_operator.BigQueryValueCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryValueCheckOperator</span><span class="p">(</span><span class="n">ValueCheckOperator</span><span class="p">):</span>
@@ -239,20 +243,27 @@
 
 <span class="sd">    :param sql: the sql to be executed</span>
 <span class="sd">    :type sql: string</span>
+<span class="sd">    :param use_legacy_sql: Whether to use legacy SQL (true)</span>
+<span class="sd">        or standard SQL (false).</span>
+<span class="sd">    :type use_legacy_sql: boolean</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span>
+                 <span class="n">pass_value</span><span class="p">,</span>
+                 <span class="n">tolerance</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryValueCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
             <span class="n">sql</span><span class="o">=</span><span class="n">sql</span><span class="p">,</span> <span class="n">pass_value</span><span class="o">=</span><span class="n">pass_value</span><span class="p">,</span> <span class="n">tolerance</span><span class="o">=</span><span class="n">tolerance</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">)</span></div>
 
 
 <div class="viewcode-block" id="BigQueryIntervalCheckOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_check_operator.BigQueryIntervalCheckOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryIntervalCheckOperator</span><span class="p">(</span><span class="n">IntervalCheckOperator</span><span class="p">):</span>
@@ -274,22 +285,25 @@
 <span class="sd">        example &#39;COUNT(*)&#39;: 1.5 would require a 50 percent or less difference</span>
 <span class="sd">        between the current day, and the prior days_back.</span>
 <span class="sd">    :type metrics_threshold: dict</span>
+<span class="sd">    :param use_legacy_sql: Whether to use legacy SQL (true)</span>
+<span class="sd">        or standard SQL (false).</span>
+<span class="sd">    :type use_legacy_sql: boolean</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="p">,</span>
-            <span class="n">date_filter_column</span><span class="o">=</span><span class="s1">&#39;ds&#39;</span><span class="p">,</span> <span class="n">days_back</span><span class="o">=-</span><span class="mi">7</span><span class="p">,</span>
-            <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="p">,</span> <span class="n">date_filter_column</span><span class="o">=</span><span class="s1">&#39;ds&#39;</span><span class="p">,</span>
+                 <span class="n">days_back</span><span class="o">=-</span><span class="mi">7</span><span class="p">,</span> <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryIntervalCheckOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
             <span class="n">table</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">metrics_thresholds</span><span class="o">=</span><span class="n">metrics_thresholds</span><span class="p">,</span>
             <span class="n">date_filter_column</span><span class="o">=</span><span class="n">date_filter_column</span><span class="p">,</span> <span class="n">days_back</span><span class="o">=</span><span class="n">days_back</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
 
     <span class="k">def</span> <span class="nf">get_db_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
@@ -320,20 +334,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_get_data.html b/_modules/airflow/contrib/operators/bigquery_get_data.html
index abff695..7e3da45 100644
--- a/_modules/airflow/contrib/operators/bigquery_get_data.html
+++ b/_modules/airflow/contrib/operators/bigquery_get_data.html
@@ -249,7 +249,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryGetDataOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_get_data.BigQueryGetDataOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Fetching Data from:&#39;</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dataset: </span><span class="si">%s</span><span class="s1"> ; Table: </span><span class="si">%s</span><span class="s1"> ; Max Results: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                       <span class="bp">self</span><span class="o">.</span><span class="n">dataset_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">max_results</span><span class="p">)</span>
@@ -274,7 +274,7 @@
                 <span class="n">single_row</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">fields</span><span class="p">[</span><span class="s1">&#39;v&#39;</span><span class="p">])</span>
             <span class="n">table_data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">single_row</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">table_data</span></div>
+        <span class="k">return</span> <span class="n">table_data</span></div></div>
 </pre></div>
 
            </div>
@@ -305,20 +305,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
index f4a00d9..3ee4a10 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -242,18 +242,19 @@
 <span class="sd">    :param query_params: a dictionary containing query parameter types and</span>
 <span class="sd">        values, passed to BigQuery.</span>
 <span class="sd">    :type query_params: dict</span>
+<span class="sd">    :param labels: a dictionary containing labels for the job/query,</span>
+<span class="sd">        passed to BigQuery</span>
+<span class="sd">    :type labels: dict</span>
 <span class="sd">    :param priority: Specifies a priority for the query.</span>
 <span class="sd">        Possible values include INTERACTIVE and BATCH.</span>
 <span class="sd">        The default value is INTERACTIVE.</span>
 <span class="sd">    :type priority: string</span>
 <span class="sd">    :param time_partitioning: configure optional time partitioning fields i.e.</span>
-<span class="sd">        partition by field, type and</span>
-<span class="sd">        expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
-<span class="sd">        conjunction with dataset.table$partition.</span>
+<span class="sd">        partition by field, type and expiration as per API specifications.</span>
 <span class="sd">    :type time_partitioning: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bql&#39;</span><span class="p">,</span> <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_dataset_table&#39;</span><span class="p">,</span> <span class="s1">&#39;labels&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,</span> <span class="p">)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4f0e8&#39;</span>
 
@@ -264,7 +265,7 @@
                  <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
                  <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                 <span class="n">flatten_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">flatten_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">udf_config</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
@@ -274,6 +275,7 @@
                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                  <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
                  <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">,</span>
                  <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{},</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
@@ -294,6 +296,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">maximum_bytes_billed</span> <span class="o">=</span> <span class="n">maximum_bytes_billed</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">schema_update_options</span> <span class="o">=</span> <span class="n">schema_update_options</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">query_params</span> <span class="o">=</span> <span class="n">query_params</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="n">priority</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">time_partitioning</span>
@@ -312,7 +315,7 @@
             <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1"> missing 1 required positional &#39;</span>
                             <span class="s1">&#39;argument: `sql`&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
             <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span>
@@ -332,16 +335,17 @@
             <span class="n">maximum_bytes_billed</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">maximum_bytes_billed</span><span class="p">,</span>
             <span class="n">create_disposition</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">,</span>
             <span class="n">query_params</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">query_params</span><span class="p">,</span>
+            <span class="n">labels</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">labels</span><span class="p">,</span>
             <span class="n">schema_update_options</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">schema_update_options</span><span class="p">,</span>
             <span class="n">priority</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span>
             <span class="n">time_partitioning</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span>
-        <span class="p">)</span>
+        <span class="p">)</span></div>
 
-    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryOperator.on_kill"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Canceling running query due to execution timeout&#39;</span><span class="p">)</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span><span class="o">.</span><span class="n">cancel_query</span><span class="p">()</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">bq_cursor</span><span class="o">.</span><span class="n">cancel_query</span><span class="p">()</span></div></div>
 
 
 <div class="viewcode-block" id="BigQueryCreateEmptyTableOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryCreateEmptyTableOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryCreateEmptyTableOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -389,49 +393,52 @@
 <span class="sd">        work, the service account making the request must have domain-wide</span>
 <span class="sd">        delegation enabled.</span>
 <span class="sd">    :type delegate_to: string</span>
-
-<span class="sd">    **Example (with schema JSON in GCS)**: ::</span>
-
-<span class="sd">        CreateTable = BigQueryCreateEmptyTableOperator(</span>
-<span class="sd">            task_id=&#39;BigQueryCreateEmptyTableOperator_task&#39;,</span>
-<span class="sd">            dataset_id=&#39;ODS&#39;,</span>
-<span class="sd">            table_id=&#39;Employees&#39;,</span>
-<span class="sd">            project_id=&#39;internal-gcp-project&#39;,</span>
-<span class="sd">            gcs_schema_object=&#39;gs://schema-bucket/employee_schema.json&#39;,</span>
-<span class="sd">            bigquery_conn_id=&#39;airflow-service-account&#39;,</span>
-<span class="sd">            google_cloud_storage_conn_id=&#39;airflow-service-account&#39;</span>
-<span class="sd">        )</span>
-
-<span class="sd">    **Corresponding Schema file** (``employee_schema.json``): ::</span>
-
-<span class="sd">        [</span>
-<span class="sd">          {</span>
-<span class="sd">            &quot;mode&quot;: &quot;NULLABLE&quot;,</span>
-<span class="sd">            &quot;name&quot;: &quot;emp_name&quot;,</span>
-<span class="sd">            &quot;type&quot;: &quot;STRING&quot;</span>
-<span class="sd">          },</span>
-<span class="sd">          {</span>
-<span class="sd">            &quot;mode&quot;: &quot;REQUIRED&quot;,</span>
-<span class="sd">            &quot;name&quot;: &quot;salary&quot;,</span>
-<span class="sd">            &quot;type&quot;: &quot;INTEGER&quot;</span>
-<span class="sd">          }</span>
-<span class="sd">        ]</span>
-
-<span class="sd">    **Example (with schema in the DAG)**: ::</span>
-
-<span class="sd">        CreateTable = BigQueryCreateEmptyTableOperator(</span>
-<span class="sd">            task_id=&#39;BigQueryCreateEmptyTableOperator_task&#39;,</span>
-<span class="sd">            dataset_id=&#39;ODS&#39;,</span>
-<span class="sd">            table_id=&#39;Employees&#39;,</span>
-<span class="sd">            project_id=&#39;internal-gcp-project&#39;,</span>
-<span class="sd">            schema_fields=[{&quot;name&quot;: &quot;emp_name&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;mode&quot;: &quot;REQUIRED&quot;},</span>
-<span class="sd">                           {&quot;name&quot;: &quot;salary&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;mode&quot;: &quot;NULLABLE&quot;}],</span>
-<span class="sd">            bigquery_conn_id=&#39;airflow-service-account&#39;,</span>
-<span class="sd">            google_cloud_storage_conn_id=&#39;airflow-service-account&#39;</span>
-<span class="sd">        )</span>
+<span class="sd">    :param labels: a dictionary containing labels for the table, passed to BigQuery</span>
+
+<span class="sd">        **Example (with schema JSON in GCS)**: ::</span>
+
+<span class="sd">            CreateTable = BigQueryCreateEmptyTableOperator(</span>
+<span class="sd">                task_id=&#39;BigQueryCreateEmptyTableOperator_task&#39;,</span>
+<span class="sd">                dataset_id=&#39;ODS&#39;,</span>
+<span class="sd">                table_id=&#39;Employees&#39;,</span>
+<span class="sd">                project_id=&#39;internal-gcp-project&#39;,</span>
+<span class="sd">                gcs_schema_object=&#39;gs://schema-bucket/employee_schema.json&#39;,</span>
+<span class="sd">                bigquery_conn_id=&#39;airflow-service-account&#39;,</span>
+<span class="sd">                google_cloud_storage_conn_id=&#39;airflow-service-account&#39;</span>
+<span class="sd">            )</span>
+
+<span class="sd">        **Corresponding Schema file** (``employee_schema.json``): ::</span>
+
+<span class="sd">            [</span>
+<span class="sd">              {</span>
+<span class="sd">                &quot;mode&quot;: &quot;NULLABLE&quot;,</span>
+<span class="sd">                &quot;name&quot;: &quot;emp_name&quot;,</span>
+<span class="sd">                &quot;type&quot;: &quot;STRING&quot;</span>
+<span class="sd">              },</span>
+<span class="sd">              {</span>
+<span class="sd">                &quot;mode&quot;: &quot;REQUIRED&quot;,</span>
+<span class="sd">                &quot;name&quot;: &quot;salary&quot;,</span>
+<span class="sd">                &quot;type&quot;: &quot;INTEGER&quot;</span>
+<span class="sd">              }</span>
+<span class="sd">            ]</span>
+
+<span class="sd">        **Example (with schema in the DAG)**: ::</span>
+
+<span class="sd">            CreateTable = BigQueryCreateEmptyTableOperator(</span>
+<span class="sd">                task_id=&#39;BigQueryCreateEmptyTableOperator_task&#39;,</span>
+<span class="sd">                dataset_id=&#39;ODS&#39;,</span>
+<span class="sd">                table_id=&#39;Employees&#39;,</span>
+<span class="sd">                project_id=&#39;internal-gcp-project&#39;,</span>
+<span class="sd">                schema_fields=[{&quot;name&quot;: &quot;emp_name&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;mode&quot;: &quot;REQUIRED&quot;},</span>
+<span class="sd">                               {&quot;name&quot;: &quot;salary&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;mode&quot;: &quot;NULLABLE&quot;}],</span>
+<span class="sd">                bigquery_conn_id=&#39;airflow-service-account&#39;,</span>
+<span class="sd">                google_cloud_storage_conn_id=&#39;airflow-service-account&#39;</span>
+<span class="sd">            )</span>
+<span class="sd">    :type labels: dict</span>
 
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;dataset_id&#39;</span><span class="p">,</span> <span class="s1">&#39;table_id&#39;</span><span class="p">,</span> <span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;gcs_schema_object&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;dataset_id&#39;</span><span class="p">,</span> <span class="s1">&#39;table_id&#39;</span><span class="p">,</span> <span class="s1">&#39;project_id&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;gcs_schema_object&#39;</span><span class="p">,</span> <span class="s1">&#39;labels&#39;</span><span class="p">)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
 
     <span class="nd">@apply_defaults</span>
@@ -445,6 +452,7 @@
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
                  <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCreateEmptyTableOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -458,8 +466,9 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span> <span class="o">=</span> <span class="n">google_cloud_storage_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span> <span class="o">=</span> <span class="n">time_partitioning</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryCreateEmptyTableOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryCreateEmptyTableOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">bq_hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
                                <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
 
@@ -484,8 +493,9 @@
             <span class="n">dataset_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dataset_id</span><span class="p">,</span>
             <span class="n">table_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">table_id</span><span class="p">,</span>
             <span class="n">schema_fields</span><span class="o">=</span><span class="n">schema_fields</span><span class="p">,</span>
-            <span class="n">time_partitioning</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span>
-        <span class="p">)</span></div>
+            <span class="n">time_partitioning</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">time_partitioning</span><span class="p">,</span>
+            <span class="n">labels</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">labels</span>
+        <span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="BigQueryCreateExternalTableOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryCreateExternalTableOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryCreateExternalTableOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -557,9 +567,11 @@
 <span class="sd">    :type delegate_to: string</span>
 <span class="sd">    :param src_fmt_configs: configure optional fields specific to the source format</span>
 <span class="sd">    :type src_fmt_configs: dict</span>
+<span class="sd">    :param labels a dictionary containing labels for the table, passed to BigQuery</span>
+<span class="sd">    :type labels: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span> <span class="s1">&#39;source_objects&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;schema_object&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
+                       <span class="s1">&#39;schema_object&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">,</span> <span class="s1">&#39;labels&#39;</span><span class="p">)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
 
     <span class="nd">@apply_defaults</span>
@@ -581,6 +593,7 @@
                  <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{},</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
 
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCreateExternalTableOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -607,8 +620,9 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="n">src_fmt_configs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryCreateExternalTableOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryCreateExternalTableOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">bq_hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
                                <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
 
@@ -640,8 +654,61 @@
             <span class="n">quote_character</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">quote_character</span><span class="p">,</span>
             <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">allow_quoted_newlines</span><span class="p">,</span>
             <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">allow_jagged_rows</span><span class="p">,</span>
-            <span class="n">src_fmt_configs</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">src_fmt_configs</span>
-        <span class="p">)</span></div>
+            <span class="n">src_fmt_configs</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">src_fmt_configs</span><span class="p">,</span>
+            <span class="n">labels</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">labels</span>
+        <span class="p">)</span></div></div>
+
+
+<div class="viewcode-block" id="BigQueryDeleteDatasetOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryDeleteDatasetOperator">[docs]</a><span class="k">class</span> <span class="nc">BigQueryDeleteDatasetOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;&quot;</span>
+<span class="sd">    This operator deletes an existing dataset from your Project in Big query.</span>
+<span class="sd">    https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/delete</span>
+<span class="sd">    :param project_id: The project id of the dataset.</span>
+<span class="sd">    :type project_id: string</span>
+<span class="sd">    :param dataset_id: The dataset to be deleted.</span>
+<span class="sd">    :type dataset_id: string</span>
+
+<span class="sd">    **Example**: ::</span>
+
+<span class="sd">        delete_temp_data = BigQueryDeleteDatasetOperator(</span>
+<span class="sd">                                        dataset_id = &#39;temp-dataset&#39;,</span>
+<span class="sd">                                        project_id = &#39;temp-project&#39;,</span>
+<span class="sd">                                        bigquery_conn_id=&#39;_my_gcp_conn_&#39;,</span>
+<span class="sd">                                        task_id=&#39;Deletetemp&#39;,</span>
+<span class="sd">                                        dag=dag)</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;dataset_id&#39;</span><span class="p">,</span> <span class="s1">&#39;project_id&#39;</span><span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f00004&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">dataset_id</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataset_id</span> <span class="o">=</span> <span class="n">dataset_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dataset id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataset_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Project id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryDeleteDatasetOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="BigQueryDeleteDatasetOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_operator.BigQueryDeleteDatasetOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">bq_hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
+                               <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">bq_hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+
+        <span class="n">cursor</span><span class="o">.</span><span class="n">delete_dataset</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">dataset_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dataset_id</span>
+        <span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -672,20 +739,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html b/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
index 8b3a424..0211360 100644
--- a/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
@@ -218,13 +218,13 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">ignore_if_missing</span> <span class="o">=</span> <span class="n">ignore_if_missing</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryTableDeleteOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_table_delete_operator.BigQueryTableDeleteOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleting: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">deletion_dataset_table</span><span class="p">)</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
-        <span class="n">cursor</span><span class="o">.</span><span class="n">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignore_if_missing</span><span class="p">)</span></div>
+        <span class="n">cursor</span><span class="o">.</span><span class="n">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ignore_if_missing</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -255,20 +255,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_to_bigquery.html b/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
index da4edcd..fb16a0c 100644
--- a/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
@@ -210,9 +210,12 @@
 <span class="sd">        For this to work, the service account making the request must have domain-wide</span>
 <span class="sd">        delegation enabled.</span>
 <span class="sd">    :type delegate_to: string</span>
+<span class="sd">    :param labels: a dictionary containing labels for the job/query,</span>
+<span class="sd">        passed to BigQuery</span>
+<span class="sd">    :type labels: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_tables&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">)</span>
+                       <span class="s1">&#39;destination_project_dataset_table&#39;</span><span class="p">,</span> <span class="s1">&#39;labels&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e6f0e4&#39;</span>
 
@@ -224,6 +227,7 @@
                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToBigQueryOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -233,8 +237,9 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span> <span class="o">=</span> <span class="n">create_disposition</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryToBigQueryOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_to_bigquery.BigQueryToBigQueryOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Executing copy of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span>
@@ -247,7 +252,8 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_tables</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">write_disposition</span><span class="p">,</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">)</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">create_disposition</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">labels</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -278,20 +284,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
index 9052db6..87a2a29 100644
--- a/_modules/airflow/contrib/operators/bigquery_to_gcs.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -215,8 +215,12 @@
 <span class="sd">        For this to work, the service account making the request must have domain-wide</span>
 <span class="sd">        delegation enabled.</span>
 <span class="sd">    :type delegate_to: string</span>
+<span class="sd">    :param labels: a dictionary containing labels for the job/query,</span>
+<span class="sd">        passed to BigQuery</span>
+<span class="sd">    :type labels: dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span> <span class="s1">&#39;destination_cloud_storage_uris&#39;</span><span class="p">)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;destination_cloud_storage_uris&#39;</span><span class="p">,</span> <span class="s1">&#39;labels&#39;</span><span class="p">)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e4e6f0&#39;</span>
 
@@ -230,6 +234,7 @@
                  <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryToCloudStorageOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -241,8 +246,9 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">print_header</span> <span class="o">=</span> <span class="n">print_header</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bigquery_conn_id</span> <span class="o">=</span> <span class="n">bigquery_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="BigQueryToCloudStorageOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing extract of </span><span class="si">%s</span><span class="s1"> into: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                       <span class="bp">self</span><span class="o">.</span><span class="n">source_project_dataset_table</span><span class="p">,</span>
                       <span class="bp">self</span><span class="o">.</span><span class="n">destination_cloud_storage_uris</span><span class="p">)</span>
@@ -256,7 +262,8 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">compression</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">export_format</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">field_delimiter</span><span class="p">,</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">print_header</span><span class="p">)</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">print_header</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">labels</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -287,20 +294,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/cassandra_to_gcs.html b/_modules/airflow/contrib/operators/cassandra_to_gcs.html
index a53bc3d..73b5b34 100644
--- a/_modules/airflow/contrib/operators/cassandra_to_gcs.html
+++ b/_modules/airflow/contrib/operators/cassandra_to_gcs.html
@@ -287,7 +287,7 @@
         <span class="s1">&#39;VarcharType&#39;</span><span class="p">:</span> <span class="s1">&#39;STRING&#39;</span><span class="p">,</span>
     <span class="p">}</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="CassandraToGoogleCloudStorageOperator.execute"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.cassandra_to_gcs.CassandraToGoogleCloudStorageOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">cursor</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_query_cassandra</span><span class="p">()</span>
         <span class="n">files_to_upload</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_write_local_data_files</span><span class="p">(</span><span class="n">cursor</span><span class="p">)</span>
 
@@ -306,7 +306,7 @@
             <span class="n">file_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
         <span class="c1"># Close all sessions and connection associated with this Cassandra cluster</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">shutdown_cluster</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">shutdown_cluster</span><span class="p">()</span></div>
 
     <span class="k">def</span> <span class="nf">_query_cassandra</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -544,20 +544,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/databricks_operator.html b/_modules/airflow/contrib/operators/databricks_operator.html
index f401636..51c13d7 100644
--- a/_modules/airflow/contrib/operators/databricks_operator.html
+++ b/_modules/airflow/contrib/operators/databricks_operator.html
@@ -307,6 +307,9 @@
 <span class="sd">    :param databricks_retry_limit: Amount of times retry if the Databricks backend is</span>
 <span class="sd">        unreachable. Its value must be greater than or equal to 1.</span>
 <span class="sd">    :type databricks_retry_limit: int</span>
+<span class="sd">    :param databricks_retry_delay: Number of seconds to wait between retries (it</span>
+<span class="sd">            might be a floating point number).</span>
+<span class="sd">    :type databricks_retry_delay: float</span>
 <span class="sd">    :param do_xcom_push: Whether we should push run_id and run_page_url to xcom.</span>
 <span class="sd">    :type do_xcom_push: boolean</span>
 <span class="sd">    &quot;&quot;&quot;</span>
@@ -329,6 +332,7 @@
             <span class="n">databricks_conn_id</span><span class="o">=</span><span class="s1">&#39;databricks_default&#39;</span><span class="p">,</span>
             <span class="n">polling_period_seconds</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span>
             <span class="n">databricks_retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span>
+            <span class="n">databricks_retry_delay</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
             <span class="n">do_xcom_push</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -339,6 +343,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span> <span class="o">=</span> <span class="n">databricks_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span> <span class="o">=</span> <span class="n">polling_period_seconds</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_limit</span> <span class="o">=</span> <span class="n">databricks_retry_limit</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_delay</span> <span class="o">=</span> <span class="n">databricks_retry_delay</span>
         <span class="k">if</span> <span class="n">spark_jar_task</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">[</span><span class="s1">&#39;spark_jar_task&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">spark_jar_task</span>
         <span class="k">if</span> <span class="n">notebook_task</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
@@ -393,9 +398,10 @@
     <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">DatabricksHook</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span><span class="p">,</span>
-            <span class="n">retry_limit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_limit</span><span class="p">)</span>
+            <span class="n">retry_limit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_limit</span><span class="p">,</span>
+            <span class="n">retry_delay</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_retry_delay</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DatabricksSubmitRunOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.databricks_operator.DatabricksSubmitRunOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">submit_run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">json</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">do_xcom_push</span><span class="p">:</span>
@@ -421,15 +427,15 @@
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1"> in run state: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">run_state</span><span clas [...]
                 <span class="bp">self</span><span class="o">.</span><span class="n">_log_run_page_url</span><span class="p">(</span><span class="n">run_page_url</span><span class="p">)</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sleeping for </span><span class="si">%s</span><span class="s1"> seconds.&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span><span class="p">)</span>
-                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span><span class="p">)</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">polling_period_seconds</span><span class="p">)</span></div>
 
-    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="DatabricksSubmitRunOperator.on_kill"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.databricks_operator.DatabricksSubmitRunOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
         <span class="n">hook</span><span class="o">.</span><span class="n">cancel_run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Task: </span><span class="si">%s</span><span class="s1"> with run_id: </span><span class="si">%s</span><span class="s1"> was requested to be cancelled.&#39;</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span>
-        <span class="p">)</span></div>
+        <span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -460,20 +466,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/dataflow_operator.html b/_modules/airflow/contrib/operators/dataflow_operator.html
index 09cc5c1..59107e2 100644
--- a/_modules/airflow/contrib/operators/dataflow_operator.html
+++ b/_modules/airflow/contrib/operators/dataflow_operator.html
@@ -177,7 +177,7 @@
 <span class="c1"># KIND, either express or implied.  See the License for the</span>
 <span class="c1"># specific language governing permissions and limitations</span>
 <span class="c1"># under the License.</span>
-
+<span class="kn">import</span> <span class="nn">os</span>
 <span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">uuid</span>
 <span class="kn">import</span> <span class="nn">copy</span>
@@ -291,7 +291,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span> <span class="o">=</span> <span class="n">poll_sleep</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_class</span> <span class="o">=</span> <span class="n">job_class</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataFlowJavaOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataFlowJavaOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">bucket_helper</span> <span class="o">=</span> <span class="n">GoogleCloudBucketHelper</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">jar</span> <span class="o">=</span> <span class="n">bucket_helper</span><span class="o">.</span><span class="n">google_cloud_to_local</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">jar</span><span class="p">)</span>
@@ -303,7 +303,7 @@
         <span class="n">dataflow_options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
 
         <span class="n">hook</span><span class="o">.</span><span class="n">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">dataflow_options</span><span class="p">,</span>
-                                 <span class="bp">self</span><span class="o">.</span><span class="n">jar</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_class</span><span class="p">)</span></div>
+                                 <span class="bp">self</span><span class="o">.</span><span class="n">jar</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_class</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataflowTemplateOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataflowTemplateOperator">[docs]</a><span class="k">class</span> <span class="nc">DataflowTemplateOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -403,16 +403,48 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">template</span> <span class="o">=</span> <span class="n">template</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">parameters</span> <span class="o">=</span> <span class="n">parameters</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataflowTemplateOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataflowTemplateOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataFlowHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">,</span>
                             <span class="n">poll_sleep</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span><span class="p">)</span>
 
         <span class="n">hook</span><span class="o">.</span><span class="n">start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataflow_default_options</span><span class="p">,</span>
-                                     <span class="bp">self</span><span class="o">.</span><span class="n">parameters</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">template</span><span class="p">)</span></div>
+                                     <span class="bp">self</span><span class="o">.</span><span class="n">parameters</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">template</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataFlowPythonOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataflow_operator.DataFlowPythonOperator">[docs]</a><span class="k">class</span> <span class="nc">DataFlowPythonOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Create a new DataFlowPythonOperator. Note that both</span>
+<span class="sd">    dataflow_default_options and options will be merged to specify pipeline</span>
+<span class="sd">    execution parameter, and dataflow_default_options is expected to save</span>
+<span class="sd">    high-level options, for instances, project and zone information, which</span>
+<span class="sd">    apply to all dataflow operators in the DAG.</span>
+
+<span class="sd">    .. seealso::</span>
+<span class="sd">        For more detail on job submission have a look at the reference:</span>
+<span class="sd">        https://cloud.google.com/dataflow/pipelines/specifying-exec-params</span>
+
+<span class="sd">    :param py_file: Reference to the python dataflow pipleline file.py, e.g.,</span>
+<span class="sd">        /some/local/file/path/to/your/python/pipeline/file.</span>
+<span class="sd">    :type py_file: string</span>
+<span class="sd">    :param py_options: Additional python options.</span>
+<span class="sd">    :type pyt_options: list of strings, e.g., [&quot;-m&quot;, &quot;-v&quot;].</span>
+<span class="sd">    :param dataflow_default_options: Map of default job options.</span>
+<span class="sd">    :type dataflow_default_options: dict</span>
+<span class="sd">    :param options: Map of job specific options.</span>
+<span class="sd">    :type options: dict</span>
+<span class="sd">    :param gcp_conn_id: The connection ID to use connecting to Google Cloud</span>
+<span class="sd">        Platform.</span>
+<span class="sd">    :type gcp_conn_id: string</span>
+<span class="sd">    :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">        For this to work, the service account making the request must have</span>
+<span class="sd">        domain-wide  delegation enabled.</span>
+<span class="sd">    :type delegate_to: string</span>
+<span class="sd">    :param poll_sleep: The time in seconds to sleep between polling Google</span>
+<span class="sd">        Cloud Platform for the dataflow job status while the job is in the</span>
+<span class="sd">        JOB_STATE_RUNNING state.</span>
+<span class="sd">    :type poll_sleep: int</span>
+<span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;options&#39;</span><span class="p">,</span> <span class="s1">&#39;dataflow_default_options&#39;</span><span class="p">]</span>
 
@@ -428,38 +460,7 @@
             <span class="n">poll_sleep</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span>
             <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Create a new DataFlowPythonOperator. Note that both</span>
-<span class="sd">        dataflow_default_options and options will be merged to specify pipeline</span>
-<span class="sd">        execution parameter, and dataflow_default_options is expected to save</span>
-<span class="sd">        high-level options, for instances, project and zone information, which</span>
-<span class="sd">        apply to all dataflow operators in the DAG.</span>
-
-<span class="sd">        .. seealso::</span>
-<span class="sd">            For more detail on job submission have a look at the reference:</span>
-<span class="sd">            https://cloud.google.com/dataflow/pipelines/specifying-exec-params</span>
 
-<span class="sd">        :param py_file: Reference to the python dataflow pipleline file.py, e.g.,</span>
-<span class="sd">            /some/local/file/path/to/your/python/pipeline/file.</span>
-<span class="sd">        :type py_file: string</span>
-<span class="sd">        :param py_options: Additional python options.</span>
-<span class="sd">        :type pyt_options: list of strings, e.g., [&quot;-m&quot;, &quot;-v&quot;].</span>
-<span class="sd">        :param dataflow_default_options: Map of default job options.</span>
-<span class="sd">        :type dataflow_default_options: dict</span>
-<span class="sd">        :param options: Map of job specific options.</span>
-<span class="sd">        :type options: dict</span>
-<span class="sd">        :param gcp_conn_id: The connection ID to use connecting to Google Cloud</span>
-<span class="sd">            Platform.</span>
-<span class="sd">        :type gcp_conn_id: string</span>
-<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
-<span class="sd">            For this to work, the service account making the request must have</span>
-<span class="sd">            domain-wide  delegation enabled.</span>
-<span class="sd">        :type delegate_to: string</span>
-<span class="sd">        :param poll_sleep: The time in seconds to sleep between polling Google</span>
-<span class="sd">            Cloud Platform for the dataflow job status while the job is in the</span>
-<span class="sd">            JOB_STATE_RUNNING state.</span>
-<span class="sd">        :type poll_sleep: int</span>
-<span class="sd">        &quot;&quot;&quot;</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">DataFlowPythonOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">py_file</span> <span class="o">=</span> <span class="n">py_file</span>
@@ -519,21 +520,21 @@
         <span class="c1"># Extracts bucket_id and object_id by first removing &#39;gs://&#39; prefix and</span>
         <span class="c1"># then split the remaining by path delimiter &#39;/&#39;.</span>
         <span class="n">path_components</span> <span class="o">=</span> <span class="n">file_name</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">GCS_PREFIX_LENGTH</span><span class="p">:]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">path_components</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">path_components</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-                <span class="s1">&#39;Invalid Google Cloud Storage (GCS) object path: </span><span class="si">{}</span><span class="s1">.&#39;</span>
+                <span class="s1">&#39;Invalid Google Cloud Storage (GCS) object path: </span><span class="si">{}</span><span class="s1">&#39;</span>
                 <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">file_name</span><span class="p">))</span>
 
         <span class="n">bucket_id</span> <span class="o">=</span> <span class="n">path_components</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
         <span class="n">object_id</span> <span class="o">=</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">path_components</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
         <span class="n">local_file</span> <span class="o">=</span> <span class="s1">&#39;/tmp/dataflow</span><span class="si">{}</span><span class="s1">-</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">] [...]
                                                  <span class="n">path_components</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
-        <span class="n">file_size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_gcs_hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="n">bucket_id</span><span class="p">,</span> <span class="n">object_id</span><span class="p">,</span> <span class="n">local_file</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_gcs_hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="n">bucket_id</span><span class="p">,</span> <span class="n">object_id</span><span class="p">,</span> <span class="n">local_file</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">file_size</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">local_file</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">local_file</span>
         <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-            <span class="s1">&#39;Failed to download Google Cloud Storage GCS object: </span><span class="si">{}</span><span class="s1">&#39;</span>
+            <span class="s1">&#39;Failed to download Google Cloud Storage (GCS) object: </span><span class="si">{}</span><span class="s1">&#39;</span>
             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">file_name</span><span class="p">))</span>
 </pre></div>
 
@@ -565,20 +566,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/dataproc_operator.html b/_modules/airflow/contrib/operators/dataproc_operator.html
index 6bc5d70..ec9caec 100644
--- a/_modules/airflow/contrib/operators/dataproc_operator.html
+++ b/_modules/airflow/contrib/operators/dataproc_operator.html
@@ -212,8 +212,9 @@
 <span class="sd">    :type cluster_name: string</span>
 <span class="sd">    :param project_id: The ID of the google cloud project in which</span>
 <span class="sd">        to create the cluster. (templated)</span>
-<span class="sd">    :type project_id: string</span>
-<span class="sd">    :param num_workers: The # of workers to spin up</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param num_workers: The # of workers to spin up. If set to zero will</span>
+<span class="sd">        spin up cluster in a single node mode</span>
 <span class="sd">    :type num_workers: int</span>
 <span class="sd">    :param storage_bucket: The storage bucket to use, setting to None lets dataproc</span>
 <span class="sd">        generate a custom one for you</span>
@@ -229,6 +230,9 @@
 <span class="sd">    :type metadata: dict</span>
 <span class="sd">    :param image_version: the version of software inside the Dataproc cluster</span>
 <span class="sd">    :type image_version: string</span>
+<span class="sd">    :param custom_image: custom Dataproc image for more info see</span>
+<span class="sd">        https://cloud.google.com/dataproc/docs/guides/dataproc-images</span>
+<span class="sd">    :type: custom_image: string</span>
 <span class="sd">    :param properties: dict of properties to set on</span>
 <span class="sd">        config files (e.g. spark-defaults.conf), see</span>
 <span class="sd">        https://cloud.google.com/dataproc/docs/reference/rest/v1/ \</span>
@@ -236,10 +240,20 @@
 <span class="sd">    :type properties: dict</span>
 <span class="sd">    :param master_machine_type: Compute engine machine type to use for the master node</span>
 <span class="sd">    :type master_machine_type: string</span>
+<span class="sd">    :param master_disk_type: Type of the boot disk for the master node</span>
+<span class="sd">        (default is ``pd-standard``).</span>
+<span class="sd">        Valid values: ``pd-ssd`` (Persistent Disk Solid State Drive) or</span>
+<span class="sd">        ``pd-standard`` (Persistent Disk Hard Disk Drive).</span>
+<span class="sd">    :type master_disk_type: string</span>
 <span class="sd">    :param master_disk_size: Disk size for the master node</span>
 <span class="sd">    :type master_disk_size: int</span>
 <span class="sd">    :param worker_machine_type: Compute engine machine type to use for the worker nodes</span>
 <span class="sd">    :type worker_machine_type: string</span>
+<span class="sd">    :param worker_disk_type: Type of the boot disk for the worker node</span>
+<span class="sd">        (default is ``pd-standard``).</span>
+<span class="sd">        Valid values: ``pd-ssd`` (Persistent Disk Solid State Drive) or</span>
+<span class="sd">        ``pd-standard`` (Persistent Disk Hard Disk Drive).</span>
+<span class="sd">    :type worker_disk_type: string</span>
 <span class="sd">    :param worker_disk_size: Disk size for the worker nodes</span>
 <span class="sd">    :type worker_disk_size: int</span>
 <span class="sd">    :param num_preemptible_workers: The # of preemptible worker nodes to spin up</span>
@@ -299,11 +313,14 @@
                  <span class="n">init_actions_uris</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">init_action_timeout</span><span class="o">=</span><span class="s2">&quot;10m&quot;</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">custom_image</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">image_version</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">properties</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
                  <span class="n">master_machine_type</span><span class="o">=</span><span class="s1">&#39;n1-standard-4&#39;</span><span class="p">,</span>
+                 <span class="n">master_disk_type</span><span class="o">=</span><span class="s1">&#39;pd-standard&#39;</span><span class="p">,</span>
                  <span class="n">master_disk_size</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
                  <span class="n">worker_machine_type</span><span class="o">=</span><span class="s1">&#39;n1-standard-4&#39;</span><span class="p">,</span>
+                 <span class="n">worker_disk_type</span><span class="o">=</span><span class="s1">&#39;pd-standard&#39;</span><span class="p">,</span>
                  <span class="n">worker_disk_size</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span>
                  <span class="n">num_preemptible_workers</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
                  <span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
@@ -329,11 +346,14 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">init_actions_uris</span> <span class="o">=</span> <span class="n">init_actions_uris</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">init_action_timeout</span> <span class="o">=</span> <span class="n">init_action_timeout</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">metadata</span> <span class="o">=</span> <span class="n">metadata</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">custom_image</span> <span class="o">=</span> <span class="n">custom_image</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span> <span class="o">=</span> <span class="n">image_version</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">properties</span> <span class="o">=</span> <span class="n">properties</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">properties</span> <span class="o">=</span> <span class="n">properties</span> <span class="ow">or</span> <span class="nb">dict</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">master_machine_type</span> <span class="o">=</span> <span class="n">master_machine_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_type</span> <span class="o">=</span> <span class="n">master_disk_type</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_size</span> <span class="o">=</span> <span class="n">master_disk_size</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">worker_machine_type</span> <span class="o">=</span> <span class="n">worker_machine_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_type</span> <span class="o">=</span> <span class="n">worker_disk_type</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span> <span class="o">=</span> <span class="n">worker_disk_size</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">zone</span> <span class="o">=</span> <span class="n">zone</span>
@@ -347,6 +367,19 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">idle_delete_ttl</span> <span class="o">=</span> <span class="n">idle_delete_ttl</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">auto_delete_time</span> <span class="o">=</span> <span class="n">auto_delete_time</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">auto_delete_ttl</span> <span class="o">=</span> <span class="n">auto_delete_ttl</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">single_node</span> <span class="o">=</span> <span class="n">num_workers</span> <span class="o">==</span> <span class="mi">0</span>
+
+        <span class="k">assert</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">custom_image</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span><span class="p">),</span> \
+            <span class="s2">&quot;custom_image and image_version can&#39;t be both set&quot;</span>
+
+        <span class="k">assert</span> <span class="p">(</span>
+            <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">single_node</span> <span class="ow">or</span> <span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">single_node</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_preemptible_workers</span> <span class="o">==</span> <span class="mi">0</span>
+            <span class="p">)</span>
+        <span class="p">),</span> <span class="s2">&quot;num_workers == 0 means single node mode - no preemptibles allowed&quot;</span>
+
+        <span class="k">assert</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">custom_image</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span><span class="p">),</span> \
+            <span class="s2">&quot;custom_image and image_version can&#39;t be both set&quot;</span>
 
     <span class="k">def</span> <span class="nf">_get_cluster_list_for_project</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">):</span>
         <span class="n">result</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
@@ -433,6 +466,7 @@
                     <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
                     <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">master_type_uri</span><span class="p">,</span>
                     <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s1">&#39;bootDiskType&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_type</span><span class="p">,</span>
                         <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">master_disk_size</span>
                     <span class="p">}</span>
                 <span class="p">},</span>
@@ -440,6 +474,7 @@
                     <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_workers</span><span class="p">,</span>
                     <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">worker_type_uri</span><span class="p">,</span>
                     <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s1">&#39;bootDiskType&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_type</span><span class="p">,</span>
                         <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span>
                     <span class="p">}</span>
                 <span class="p">},</span>
@@ -453,6 +488,7 @@
                 <span class="s1">&#39;numInstances&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">num_preemptible_workers</span><span class="p">,</span>
                 <span class="s1">&#39;machineTypeUri&#39;</span><span class="p">:</span> <span class="n">worker_type_uri</span><span class="p">,</span>
                 <span class="s1">&#39;diskConfig&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;bootDiskType&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_type</span><span class="p">,</span>
                     <span class="s1">&#39;bootDiskSizeGb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">worker_disk_size</span>
                 <span class="p">},</span>
                 <span class="s1">&#39;isPreemptible&#39;</span><span class="p">:</span> <span class="kc">True</span>
@@ -482,6 +518,17 @@
             <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;gceClusterConfig&#39;</span><span class="p">][</span><span class="s1">&#39;tags&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tags</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span><span class="p">:</span>
             <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;softwareConfig&#39;</span><span class="p">][</span><span class="s1">&#39;imageVersion&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_version</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">custom_image</span><span class="p">:</span>
+            <span class="n">custom_image_url</span> <span class="o">=</span> <span class="s1">&#39;https://www.googleapis.com/compute/beta/projects/&#39;</span> \
+                               <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">/global/images/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                                            <span class="bp">self</span><span class="o">.</span><span class="n">custom_image</span><span class="p">)</span>
+            <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;masterConfig&#39;</span><span class="p">][</span><span class="s1">&#39;imageUri&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">custom_image_url</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">single_node</span><span class="p">:</span>
+                <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;workerConfig&#39;</span><span class="p">][</span><span class="s1">&#39;imageUri&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">custom_image_url</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">single_node</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">properties</span><span class="p">[</span><span class="s2">&quot;dataproc:dataproc.allow.zero.workers&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;true&quot;</span>
+
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">properties</span><span class="p">:</span>
             <span class="n">cluster_data</span><span class="p">[</span><span class="s1">&#39;config&#39;</span><span class="p">][</span><span class="s1">&#39;softwareConfig&#39;</span><span class="p">][</span><span class="s1">&#39;properties&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">properties</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">idle_delete_ttl</span><span class="p">:</span>
@@ -510,7 +557,7 @@
                 <span class="bp">self</span><span class="o">.</span><span class="n">service_account_scopes</span>
         <span class="k">return</span> <span class="n">cluster_data</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataprocClusterCreateOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataprocClusterCreateOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating cluster: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
             <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
@@ -546,7 +593,7 @@
             <span class="k">else</span><span class="p">:</span>
                 <span class="k">raise</span> <span class="n">e</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataprocClusterScaleOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataprocClusterScaleOperator">[docs]</a><span class="k">class</span> <span class="nc">DataprocClusterScaleOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -556,14 +603,14 @@
 
 <span class="sd">    **Example**: ::</span>
 
-<span class="sd">    t1 = DataprocClusterScaleOperator(</span>
-<span class="sd">            task_id=&#39;dataproc_scale&#39;,</span>
-<span class="sd">            project_id=&#39;my-project&#39;,</span>
-<span class="sd">            cluster_name=&#39;cluster-1&#39;,</span>
-<span class="sd">            num_workers=10,</span>
-<span class="sd">            num_preemptible_workers=10,</span>
-<span class="sd">            graceful_decommission_timeout=&#39;1h&#39;</span>
-<span class="sd">            dag=dag)</span>
+<span class="sd">        t1 = DataprocClusterScaleOperator(</span>
+<span class="sd">                task_id=&#39;dataproc_scale&#39;,</span>
+<span class="sd">                project_id=&#39;my-project&#39;,</span>
+<span class="sd">                cluster_name=&#39;cluster-1&#39;,</span>
+<span class="sd">                num_workers=10,</span>
+<span class="sd">                num_preemptible_workers=10,</span>
+<span class="sd">                graceful_decommission_timeout=&#39;1h&#39;,</span>
+<span class="sd">                dag=dag)</span>
 
 <span class="sd">    .. seealso::</span>
 <span class="sd">        For more detail on about scaling clusters have a look at the reference:</span>
@@ -672,7 +719,7 @@
             <span class="s2">&quot; should be expressed in day, hours, minutes or seconds. &quot;</span>
             <span class="s2">&quot; i.e. 1d, 4h, 10m, 30s&quot;</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataprocClusterScaleOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataprocClusterScaleOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Scaling cluster: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
             <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
@@ -694,7 +741,7 @@
         <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Cluster scale operation name: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataprocClusterDeleteOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataprocClusterDeleteOperator">[docs]</a><span class="k">class</span> <span class="nc">DataprocClusterDeleteOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -750,7 +797,7 @@
                     <span class="k">return</span>
             <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataprocClusterDeleteOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataprocClusterDeleteOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleting cluster: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">)</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
             <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
@@ -765,7 +812,7 @@
         <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="n">operation_name</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Cluster delete operation name: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_done</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">operation_name</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcPigOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPigOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcPigOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -863,7 +910,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_pig_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcPigOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPigOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;pigJob&quot;</span><span class="p">,</span>
@@ -877,7 +924,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcHiveOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHiveOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcHiveOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -943,7 +990,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_hive_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcHiveOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHiveOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
 
@@ -958,7 +1005,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcSparkSqlOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkSqlOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcSparkSqlOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -1025,7 +1072,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_spark_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcSparkSqlOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkSqlOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
 
@@ -1040,7 +1087,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcSparkOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcSparkOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -1118,7 +1165,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_spark_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcSparkOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcSparkOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;sparkJob&quot;</span><span class="p">,</span>
@@ -1131,7 +1178,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcHadoopOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHadoopOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcHadoopOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -1209,7 +1256,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_hadoop_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcHadoopOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcHadoopOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
                             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">job</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster_name</span><span class="p">,</span> <span class="s2">&quot;hadoopJob&quot;</span><span class="p">,</span>
@@ -1222,7 +1269,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataProcPySparkOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPySparkOperator">[docs]</a><span class="k">class</span> <span class="nc">DataProcPySparkOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -1327,7 +1374,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_jars</span> <span class="o">=</span> <span class="n">dataproc_pyspark_jars</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DataProcPySparkOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.dataproc_operator.DataProcPySparkOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DataProcHook</span><span class="p">(</span>
             <span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
             <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span>
@@ -1353,7 +1400,7 @@
         <span class="n">job</span><span class="o">.</span><span class="n">add_python_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pyfiles</span><span class="p">)</span>
         <span class="n">job</span><span class="o">.</span><span class="n">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job_name</span><span class="p">)</span>
 
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="o">.</span><span class="n">build</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">)</span></div></div>
 
 
 <div class="viewcode-block" id="DataprocWorkflowTemplateBaseOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.dataproc_operator.DataprocWorkflowTemplateBaseOperator">[docs]</a><span class="k">class</span> <span class="nc">DataprocWorkflowTemplateBaseOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -1376,8 +1423,8 @@
             <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta2&#39;</span>
         <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">start</span><span class="p">())</span>
+<div class="viewcode-block" id="DataprocWorkflowTemplateBaseOperator.execute"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.dataproc_operator.DataprocWorkflowTemplateBaseOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">start</span><span class="p">())</span></div>
 
     <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;plese start a workflow operation&#39;</span><span class="p">)</span></div>
@@ -1498,20 +1545,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/datastore_export_operator.html b/_modules/airflow/contrib/operators/datastore_export_operator.html
index 915c753..2237184 100644
--- a/_modules/airflow/contrib/operators/datastore_export_operator.html
+++ b/_modules/airflow/contrib/operators/datastore_export_operator.html
@@ -245,7 +245,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">overwrite_existing</span> <span class="o">=</span> <span class="n">overwrite_existing</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span> <span class="o">=</span> <span class="n">xcom_push</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DatastoreExportOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.datastore_export_operator.DatastoreExportOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Exporting data to Cloud Storage bucket &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">overwrite_existing</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">namespace</span><span class="p">:</span>
@@ -268,7 +268,7 @@
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Operation failed: result=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">result</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">result</span></div>
+            <span class="k">return</span> <span class="n">result</span></div></div>
 </pre></div>
 
            </div>
@@ -299,20 +299,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/datastore_import_operator.html b/_modules/airflow/contrib/operators/datastore_import_operator.html
index c7d84b4..8feddfb 100644
--- a/_modules/airflow/contrib/operators/datastore_import_operator.html
+++ b/_modules/airflow/contrib/operators/datastore_import_operator.html
@@ -239,7 +239,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">polling_interval_in_seconds</span> <span class="o">=</span> <span class="n">polling_interval_in_seconds</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span> <span class="o">=</span> <span class="n">xcom_push</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DatastoreImportOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.datastore_import_operator.DatastoreImportOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Importing data from Cloud Storage bucket </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">)</span>
         <span class="n">ds_hook</span> <span class="o">=</span> <span class="n">DatastoreHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">datastore_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
         <span class="n">result</span> <span class="o">=</span> <span class="n">ds_hook</span><span class="o">.</span><span class="n">import_from_storage_bucket</span><span class="p">(</span><span class="n">bucket</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span>
@@ -256,7 +256,7 @@
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Operation failed: result=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">result</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">result</span></div>
+            <span class="k">return</span> <span class="n">result</span></div></div>
 </pre></div>
 
            </div>
@@ -287,20 +287,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/discord_webhook_operator.html b/_modules/airflow/contrib/operators/discord_webhook_operator.html
index 3122f2a..c480587 100644
--- a/_modules/airflow/contrib/operators/discord_webhook_operator.html
+++ b/_modules/airflow/contrib/operators/discord_webhook_operator.html
@@ -287,20 +287,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/druid_operator.html b/_modules/airflow/contrib/operators/druid_operator.html
index dd9de81..7941dc6 100644
--- a/_modules/airflow/contrib/operators/druid_operator.html
+++ b/_modules/airflow/contrib/operators/druid_operator.html
@@ -214,13 +214,13 @@
             <span class="n">separators</span><span class="o">=</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">,</span> <span class="s1">&#39;: &#39;</span><span class="p">)</span>
         <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="DruidOperator.execute"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.druid_operator.DruidOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">DruidHook</span><span class="p">(</span>
             <span class="n">druid_ingest_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">,</span>
             <span class="n">max_ingestion_time</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">max_ingestion_time</span>
         <span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Sumitting </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">index_spec_str</span><span class="p">)</span>
-        <span class="n">hook</span><span class="o">.</span><span class="n">submit_indexing_job</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">index_spec_str</span><span class="p">)</span></div>
+        <span class="n">hook</span><span class="o">.</span><span class="n">submit_indexing_job</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">index_spec_str</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -251,20 +251,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/ecs_operator.html b/_modules/airflow/contrib/operators/ecs_operator.html
index becc9fb..e188d1c 100644
--- a/_modules/airflow/contrib/operators/ecs_operator.html
+++ b/_modules/airflow/contrib/operators/ecs_operator.html
@@ -178,6 +178,7 @@
 <span class="c1"># specific language governing permissions and limitations</span>
 <span class="c1"># under the License.</span>
 <span class="kn">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">re</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
@@ -194,17 +195,18 @@
 <span class="sd">    :type task_definition: str</span>
 <span class="sd">    :param cluster: the cluster name on EC2 Container Service</span>
 <span class="sd">    :type cluster: str</span>
-<span class="sd">    :param: overrides: the same parameter that boto3 will receive (templated):</span>
-<span class="sd">            http://boto3.readthedocs.org/en/latest/reference/services/ecs.html#ECS.Client.run_task</span>
-<span class="sd">    :type: overrides: dict</span>
+<span class="sd">    :param overrides: the same parameter that boto3 will receive (templated):</span>
+<span class="sd">        http://boto3.readthedocs.org/en/latest/reference/services/ecs.html#ECS.Client.run_task</span>
+<span class="sd">    :type overrides: dict</span>
 <span class="sd">    :param aws_conn_id: connection id of AWS credentials / region name. If None,</span>
-<span class="sd">            credential boto3 strategy will be used</span>
-<span class="sd">            (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
+<span class="sd">        credential boto3 strategy will be used</span>
+<span class="sd">        (http://boto3.readthedocs.io/en/latest/guide/configuration.html).</span>
 <span class="sd">    :type aws_conn_id: str</span>
 <span class="sd">    :param region_name: region name to use in AWS Hook.</span>
 <span class="sd">        Override the region_name in connection (if provided)</span>
+<span class="sd">    :type region_name: str</span>
 <span class="sd">    :param launch_type: the launch type on which to run your task (&#39;EC2&#39; or &#39;FARGATE&#39;)</span>
-<span class="sd">    :type: launch_type: str</span>
+<span class="sd">    :type launch_type: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0ede4&#39;</span>
@@ -226,7 +228,7 @@
 
         <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="ECSOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.ecs_operator.ECSOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Running ECS Task - Task definition: </span><span class="si">%s</span><span class="s1"> - on cluster </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">task_definition</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cluster</span>
@@ -255,7 +257,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">_wait_for_task_ended</span><span class="p">()</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">_check_success_task</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECS Task has been successfully executed: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;ECS Task has been successfully executed: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span></div>
 
     <span class="k">def</span> <span class="nf">_wait_for_task_ended</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">waiter</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">get_waiter</span><span class="p">(</span><span class="s1">&#39;tasks_stopped&#39;</span><span class="p">)</span>
@@ -276,6 +278,15 @@
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
 
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;tasks&#39;</span><span class="p">]:</span>
+            <span class="c1"># This is a `stoppedReason` that indicates a task has not</span>
+            <span class="c1"># successfully finished, but there is no other indication of failure</span>
+            <span class="c1"># in the response.</span>
+            <span class="c1"># See, https://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-errors.html # noqa E501</span>
+            <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="sa">r</span><span class="s1">&#39;Host EC2 \(instance .+?\) (stopped|terminated)\.&#39;</span><span class="p">,</span>
+                        <span class="n">task</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;stoppedReason&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;The task was stopped because the host instance terminated: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span>
+                    <span class="nb">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;stoppedReason&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)))</span>
             <span class="n">containers</span> <span class="o">=</span> <span class="n">task</span><span class="p">[</span><span class="s1">&#39;containers&#39;</span><span class="p">]</span>
             <span class="k">for</span> <span class="n">container</span> <span class="ow">in</span> <span class="n">containers</span><span class="p">:</span>
                 <span class="k">if</span> <span class="n">container</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;lastStatus&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;STOPPED&#39;</span> <span class="ow">and</span> \
@@ -294,12 +305,12 @@
             <span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span>
         <span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="ECSOperator.on_kill"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.ecs_operator.ECSOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">stop_task</span><span class="p">(</span>
             <span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cluster</span><span class="p">,</span>
             <span class="n">task</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">arn</span><span class="p">,</span>
             <span class="n">reason</span><span class="o">=</span><span class="s1">&#39;Task killed by the user&#39;</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">response</span><span class="p">)</span></div>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">response</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -330,20 +341,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/emr_add_steps_operator.html b/_modules/airflow/contrib/operators/emr_add_steps_operator.html
index acb9a63..981d542 100644
--- a/_modules/airflow/contrib/operators/emr_add_steps_operator.html
+++ b/_modules/airflow/contrib/operators/emr_add_steps_operator.html
@@ -211,7 +211,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">steps</span> <span class="o">=</span> <span class="n">steps</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="EmrAddStepsOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_add_steps_operator.EmrAddStepsOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Adding steps to </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span>
@@ -221,7 +221,7 @@
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Adding steps failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Steps </span><span class="si">%s</span><span class="s1"> added to JobFlow&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;StepIds&#39;</span><span class="p">])</span>
-            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;StepIds&#39;</span><span class="p">]</span></div>
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;StepIds&#39;</span><span class="p">]</span></div></div>
 </pre></div>
 
            </div>
@@ -252,20 +252,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html b/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
index 21d48ff..fa067fa 100644
--- a/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
+++ b/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
@@ -215,7 +215,7 @@
             <span class="n">job_flow_overrides</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_overrides</span> <span class="o">=</span> <span class="n">job_flow_overrides</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="EmrCreateJobFlowOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_create_job_flow_operator.EmrCreateJobFlowOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">,</span> <span class="n">emr_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">emr_conn_id</span><span class="p">)</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
@@ -228,7 +228,7 @@
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;JobFlow creation failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> created&#39;</span><span class="p">,</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;JobFlowId&#39;</span><span class="p">])</span>
-            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;JobFlowId&#39;</span><span class="p">]</span></div>
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;JobFlowId&#39;</span><span class="p">]</span></div></div>
 </pre></div>
 
            </div>
@@ -259,20 +259,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html b/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
index 82141a7..a325633 100644
--- a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
+++ b/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
@@ -206,7 +206,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span> <span class="o">=</span> <span class="n">job_flow_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="EmrTerminateJobFlowOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_terminate_job_flow_operator.EmrTerminateJobFlowOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Terminating JobFlow </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span>
@@ -215,7 +215,7 @@
         <span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;ResponseMetadata&#39;</span><span class="p">][</span><span class="s1">&#39;HTTPStatusCode&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;JobFlow termination failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> terminated&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> terminated&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -246,20 +246,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/file_to_gcs.html b/_modules/airflow/contrib/operators/file_to_gcs.html
index 0e67133..b763c19 100644
--- a/_modules/airflow/contrib/operators/file_to_gcs.html
+++ b/_modules/airflow/contrib/operators/file_to_gcs.html
@@ -186,7 +186,8 @@
 
 <div class="viewcode-block" id="FileToGoogleCloudStorageOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.file_to_gcs.FileToGoogleCloudStorageOperator">[docs]</a><span class="k">class</span> <span class="nc">FileToGoogleCloudStorageOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Uploads a file to Google Cloud Storage</span>
+<span class="sd">    Uploads a file to Google Cloud Storage.</span>
+<span class="sd">    Optionally can compress the file for upload.</span>
 
 <span class="sd">    :param src: Path to the local file. (templated)</span>
 <span class="sd">    :type src: string</span>
@@ -199,7 +200,9 @@
 <span class="sd">    :param mime_type: The mime-type string</span>
 <span class="sd">    :type mime_type: string</span>
 <span class="sd">    :param delegate_to: The account to impersonate, if any</span>
-<span class="sd">    :type delegate_to: string</span>
+<span class="sd">    :type delegate_to: str</span>
+<span class="sd">    :param gzip: Allows for file to be compressed and uploaded as gzip</span>
+<span class="sd">    :type gzip: bool</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;src&#39;</span><span class="p">,</span> <span class="s1">&#39;dst&#39;</span><span class="p">,</span> <span class="s1">&#39;bucket&#39;</span><span class="p">)</span>
 
@@ -211,6 +214,7 @@
                  <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
                  <span class="n">mime_type</span><span class="o">=</span><span class="s1">&#39;application/octet-stream&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">gzip</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="o">*</span><span class="n">args</span><span class="p">,</span>
                  <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">FileToGoogleCloudStorageOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
@@ -220,6 +224,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span> <span class="o">=</span> <span class="n">google_cloud_storage_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mime_type</span> <span class="o">=</span> <span class="n">mime_type</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gzip</span> <span class="o">=</span> <span class="n">gzip</span>
 
 <div class="viewcode-block" id="FileToGoogleCloudStorageOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.file_to_gcs.FileToGoogleCloudStorageOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -233,7 +238,9 @@
             <span class="n">bucket</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span>
             <span class="nb">object</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dst</span><span class="p">,</span>
             <span class="n">mime_type</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mime_type</span><span class="p">,</span>
-            <span class="n">filename</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">src</span><span class="p">)</span></div></div>
+            <span class="n">filename</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">src</span><span class="p">,</span>
+            <span class="n">gzip</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gzip</span><span class="p">,</span>
+        <span class="p">)</span></div></div>
 </pre></div>
 
            </div>
@@ -264,20 +271,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/file_to_wasb.html b/_modules/airflow/contrib/operators/file_to_wasb.html
index 8a060ef..31d44c5 100644
--- a/_modules/airflow/contrib/operators/file_to_wasb.html
+++ b/_modules/airflow/contrib/operators/file_to_wasb.html
@@ -253,20 +253,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/gcp_compute_operator.html b/_modules/airflow/contrib/operators/gcp_compute_operator.html
new file mode 100644
index 0000000..8aa8505
--- /dev/null
+++ b/_modules/airflow/contrib/operators/gcp_compute_operator.html
@@ -0,0 +1,394 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.gcp_compute_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.gcp_compute_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.gcp_compute_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_compute_hook</span> <span class="k">import</span> <span class="n">GceHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.utils.gcp_field_validator</span> <span class="k">import</span> <span class="n">GcpBodyFieldValidator</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+
+<span class="k">class</span> <span class="nc">GceBaseOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Abstract base operator for Google Compute Engine operators to inherit from.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">zone</span><span class="p">,</span>
+                 <span class="n">resource_id</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zone</span> <span class="o">=</span> <span class="n">zone</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">full_location</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/zones/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                                           <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">resource_id</span> <span class="o">=</span> <span class="n">resource_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span> <span class="o">=</span> <span class="n">GceHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class [...]
+        <span class="nb">super</span><span class="p">(</span><span class="n">GceBaseOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;project_id&#39; is missing&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;zone&#39; is missing&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">resource_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;resource_id&#39; is missing&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">pass</span>
+
+
+<div class="viewcode-block" id="GceInstanceStartOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceInstanceStartOperator">[docs]</a><span class="k">class</span> <span class="nc">GceInstanceStartOperator</span><span class="p">(</span><span class="n">GceBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Start an instance in Google Compute Engine.</span>
+
+<span class="sd">    :param project_id: Google Cloud Platform project where the Compute Engine</span>
+<span class="sd">        instance exists.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param zone: Google Cloud Platform zone where the instance exists.</span>
+<span class="sd">    :type zone: str</span>
+<span class="sd">    :param resource_id: Name of the Compute Engine instance resource.</span>
+<span class="sd">    :type resource_id: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;zone&#39;</span><span class="p">,</span> <span class="s1">&#39;resource_id&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">zone</span><span class="p">,</span>
+                 <span class="n">resource_id</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GceInstanceStartOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">zone</span><span class="o">=</span><span class="n">zone</span><span class="p">,</span> <span class="n">resource_id</span><span class="o">=</span><span class="n">resource_id</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="GceInstanceStartOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceInstanceStartOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">start_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">resourc [...]
+
+
+<div class="viewcode-block" id="GceInstanceStopOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceInstanceStopOperator">[docs]</a><span class="k">class</span> <span class="nc">GceInstanceStopOperator</span><span class="p">(</span><span class="n">GceBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Stop an instance in Google Compute Engine.</span>
+
+<span class="sd">    :param project_id: Google Cloud Platform project where the Compute Engine</span>
+<span class="sd">        instance exists.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param zone: Google Cloud Platform zone where the instance exists.</span>
+<span class="sd">    :type zone: str</span>
+<span class="sd">    :param resource_id: Name of the Compute Engine instance resource.</span>
+<span class="sd">    :type resource_id: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;zone&#39;</span><span class="p">,</span> <span class="s1">&#39;resource_id&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">zone</span><span class="p">,</span>
+                 <span class="n">resource_id</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GceInstanceStopOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">zone</span><span class="o">=</span><span class="n">zone</span><span class="p">,</span> <span class="n">resource_id</span><span class="o">=</span><span class="n">resource_id</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="GceInstanceStopOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceInstanceStopOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">stop_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">resource [...]
+
+
+<span class="n">SET_MACHINE_TYPE_VALIDATION_SPECIFICATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;machineType&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="s2">&quot;^.+$&quot;</span><span class="p">),</span>
+<span class="p">]</span>
+
+
+<div class="viewcode-block" id="GceSetMachineTypeOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceSetMachineTypeOperator">[docs]</a><span class="k">class</span> <span class="nc">GceSetMachineTypeOperator</span><span class="p">(</span><span class="n">GceBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Changes the machine type for a stopped instance to the machine type specified in</span>
+<span class="sd">    the request.</span>
+
+<span class="sd">    :param project_id: Google Cloud Platform project where the Compute Engine</span>
+<span class="sd">        instance exists.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param zone: Google Cloud Platform zone where the instance exists.</span>
+<span class="sd">    :type zone: str</span>
+<span class="sd">    :param resource_id: Name of the Compute Engine instance resource.</span>
+<span class="sd">    :type resource_id: str</span>
+<span class="sd">    :param body: Body required by the Compute Engine setMachineType API, as described in</span>
+<span class="sd">        https://cloud.google.com/compute/docs/reference/rest/v1/instances/setMachineType#request-body</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;zone&#39;</span><span class="p">,</span> <span class="s1">&#39;resource_id&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">zone</span><span class="p">,</span>
+                 <span class="n">resource_id</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="n">validate_body</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">if</span> <span class="n">validate_body</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span> <span class="o">=</span> <span class="n">GcpBodyFieldValidator</span><span class="p">(</span>
+                <span class="n">SET_MACHINE_TYPE_VALIDATION_SPECIFICATION</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GceSetMachineTypeOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">zone</span><span class="o">=</span><span class="n">zone</span><span class="p">,</span> <span class="n">resource_id</span><span class="o">=</span><span class="n">resource_id</span><span class="p">,</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_all_body_fields</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+<div class="viewcode-block" id="GceSetMachineTypeOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_compute_operator.GceSetMachineTypeOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_all_body_fields</span><span class="p">()</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">set_machine_type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">zone</span><span class="p">,</span>
+                                           <span class="bp">self</span><span class="o">.</span><span class="n">resource_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/gcp_container_operator.html b/_modules/airflow/contrib/operators/gcp_container_operator.html
index 7b1235d..cb8b9f1 100644
--- a/_modules/airflow/contrib/operators/gcp_container_operator.html
+++ b/_modules/airflow/contrib/operators/gcp_container_operator.html
@@ -241,11 +241,11 @@
                 <span class="s1">&#39;One of (project_id, name, location) is missing or incorrect&#39;</span><span class="p">)</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Operator has incorrect or missing input.&#39;</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="GKEClusterDeleteOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_container_operator.GKEClusterDeleteOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_check_input</span><span class="p">()</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">GKEClusterHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span>
         <span class="n">delete_result</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">delete_cluster</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">delete_result</span></div>
+        <span class="k">return</span> <span class="n">delete_result</span></div></div>
 
 
 <div class="viewcode-block" id="GKEClusterCreateOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_container_operator.GKEClusterCreateOperator">[docs]</a><span class="k">class</span> <span class="nc">GKEClusterCreateOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -326,11 +326,11 @@
             <span class="s1">&#39;body[</span><span class="se">\&#39;</span><span class="s1">initial_node_count</span><span class="se">\&#39;</span><span class="s1">]) is missing or incorrect&#39;</span><span class="p">)</span>
         <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Operator has incorrect or missing input.&#39;</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+<div class="viewcode-block" id="GKEClusterCreateOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_container_operator.GKEClusterCreateOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_check_input</span><span class="p">()</span>
         <span class="n">hook</span> <span class="o">=</span> <span class="n">GKEClusterHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span>
         <span class="n">create_op</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">create_cluster</span><span class="p">(</span><span class="n">cluster</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">create_op</span></div>
+        <span class="k">return</span> <span class="n">create_op</span></div></div>
 </pre></div>
 
            </div>
@@ -361,20 +361,13 @@
 
   
 
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'',
-            LANGUAGE:'None',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
 
   
 
diff --git a/_modules/airflow/contrib/operators/gcp_function_operator.html b/_modules/airflow/contrib/operators/gcp_function_operator.html
new file mode 100644
index 0000000..b84716a
--- /dev/null
+++ b/_modules/airflow/contrib/operators/gcp_function_operator.html
@@ -0,0 +1,522 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.gcp_function_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.gcp_function_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.gcp_function_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
+<span class="kn">from</span> <span class="nn">googleapiclient.errors</span> <span class="k">import</span> <span class="n">HttpError</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.utils.gcp_field_validator</span> <span class="k">import</span> <span class="n">GcpBodyFieldValidator</span><span class="p">,</span> \
+    <span class="n">GcpFieldValidationException</span>
+<span class="kn">from</span> <span class="nn">airflow.version</span> <span class="k">import</span> <span class="n">version</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_function_hook</span> <span class="k">import</span> <span class="n">GcfHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+
+<span class="k">def</span> <span class="nf">_validate_available_memory_in_mb</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
+    <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">GcpFieldValidationException</span><span class="p">(</span><span class="s2">&quot;The available memory has to be greater than 0&quot;</span><span class="p">)</span>
+
+
+<span class="k">def</span> <span class="nf">_validate_max_instances</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
+    <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">GcpFieldValidationException</span><span class="p">(</span>
+            <span class="s2">&quot;The max instances parameter has to be greater than 0&quot;</span><span class="p">)</span>
+
+
+<span class="n">CLOUD_FUNCTION_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="s2">&quot;^.+$&quot;</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;description&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="s2">&quot;^.+$&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;entryPoint&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;runtime&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;timeout&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;availableMemoryMb&quot;</span><span class="p">,</span> <span class="n">custom_validation</span><span class="o">=</span><span class="n">_validate_available_memory_in_mb</span><span class="p">,</span>
+         <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;labels&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;environmentVariables&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;network&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;maxInstances&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">custom_validation</span><span class="o">=</span><span class="n">_validate_max_instances</span><span class="p">),</span>
+
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;source_code&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;union&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sourceArchiveUrl&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sourceRepositoryUrl&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta2&#39;</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sourceRepository&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;url&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">)</span>
+        <span class="p">]),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sourceUploadUrl&quot;</span><span class="p">)</span>
+    <span class="p">]),</span>
+
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;trigger&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;union&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;httpsTrigger&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="c1"># This dict should be empty at input (url is added at output)</span>
+        <span class="p">]),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;eventTrigger&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;eventType&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;resource&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;service&quot;</span><span class="p">,</span> <span class="n">regexp</span><span class="o">=</span><span class="sa">r</span><span class="s1">&#39;^.+$&#39;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;failurePolicy&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+                <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;retry&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+            <span class="p">])</span>
+        <span class="p">])</span>
+    <span class="p">]),</span>
+<span class="p">]</span>
+
+
+<div class="viewcode-block" id="GcfFunctionDeployOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_function_operator.GcfFunctionDeployOperator">[docs]</a><span class="k">class</span> <span class="nc">GcfFunctionDeployOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Creates a function in Google Cloud Functions.</span>
+
+<span class="sd">    :param project_id: Google Cloud Platform Project ID where the function should</span>
+<span class="sd">        be created.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param location: Google Cloud Platform region where the function should be created.</span>
+<span class="sd">    :type location: str</span>
+<span class="sd">    :param body: Body of the Cloud Functions definition. The body must be a</span>
+<span class="sd">        Cloud Functions dictionary as described in:</span>
+<span class="sd">        https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions</span>
+<span class="sd">        . Different API versions require different variants of the Cloud Functions</span>
+<span class="sd">        dictionary.</span>
+<span class="sd">    :type body: dict or google.cloud.functions.v1.CloudFunction</span>
+<span class="sd">    :param gcp_conn_id: The connection ID to use to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (for example v1 or v1beta1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    :param zip_path: Path to zip file containing source code of the function. If the path</span>
+<span class="sd">        is set, the sourceUploadUrl should not be specified in the body or it should</span>
+<span class="sd">        be empty. Then the zip file will be uploaded using the upload URL generated</span>
+<span class="sd">        via generateUploadUrl from the Cloud Functions API.</span>
+<span class="sd">    :type zip_path: str</span>
+<span class="sd">    :param validate_body: If set to False, body validation is not performed.</span>
+<span class="sd">    :type validate_body: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">location</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="n">zip_path</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">validate_body</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="n">location</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">full_location</span> <span class="o">=</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/locations/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                                                               <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span> <span class="o">=</span> <span class="n">zip_path</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zip_path_preprocessor</span> <span class="o">=</span> <span class="n">ZipPathPreprocessor</span><span class="p">(</span><span class="n">body</span><span class="p">,</span> <span class="n">zip_path</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="k">if</span> <span class="n">validate_body</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span> <span class="o">=</span> <span class="n">GcpBodyFieldValidator</span><span class="p">(</span><span class="n">CLOUD_FUNCTION_VALIDATION</span><span class="p">,</span>
+                                                          <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span> <span class="o">=</span> <span class="n">GcfHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">GcfFunctionDeployOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;project_id&#39; is missing&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">location</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;location&#39; is missing&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;body&#39; is missing&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zip_path_preprocessor</span><span class="o">.</span><span class="n">preprocess_body</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">_validate_all_body_fields</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_field_validator</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_create_new_function</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">create_new_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">full_location</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_update_function</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">update_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</ [...]
+
+    <span class="k">def</span> <span class="nf">_check_if_function_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;name&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">GcpFieldValidationException</span><span class="p">(</span><span class="s2">&quot;The &#39;name&#39; field should be present in &quot;</span>
+                                              <span class="s2">&quot;body: &#39;</span><span class="si">{}</span><span class="s2">&#39;.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">))</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">get_function</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">status</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span>
+            <span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">404</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span> <span class="n">e</span>
+        <span class="k">return</span> <span class="kc">True</span>
+
+    <span class="k">def</span> <span class="nf">_upload_source_code</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">upload_function_zip</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">full_location</span><span class="p">,</span>
+                                              <span class="n">zip_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_set_airflow_version_label</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="s1">&#39;labels&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span>
+            <span class="p">{</span><span class="s1">&#39;airflow-version&#39;</span><span class="p">:</span> <span class="s1">&#39;v&#39;</span> <span class="o">+</span> <span class="n">version</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1" [...]
+
+<div class="viewcode-block" id="GcfFunctionDeployOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_function_operator.GcfFunctionDeployOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">zip_path_preprocessor</span><span class="o">.</span><span class="n">should_upload_function</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">[</span><span class="n">SOURCE_UPLOAD_URL</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_upload_source_code</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_all_body_fields</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_set_airflow_version_label</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_function_exists</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_create_new_function</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_update_function</span><span class="p">()</span></div></div>
+
+
+<span class="n">SOURCE_ARCHIVE_URL</span> <span class="o">=</span> <span class="s1">&#39;sourceArchiveUrl&#39;</span>
+<span class="n">SOURCE_UPLOAD_URL</span> <span class="o">=</span> <span class="s1">&#39;sourceUploadUrl&#39;</span>
+<span class="n">SOURCE_REPOSITORY</span> <span class="o">=</span> <span class="s1">&#39;sourceRepository&#39;</span>
+<span class="n">ZIP_PATH</span> <span class="o">=</span> <span class="s1">&#39;zip_path&#39;</span>
+
+
+<span class="k">class</span> <span class="nc">ZipPathPreprocessor</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Pre-processes zip path parameter.</span>
+
+<span class="sd">    Responsible for checking if the zip path parameter is correctly specified in</span>
+<span class="sd">    relation with source_code body fields. Non empty zip path parameter is special because</span>
+<span class="sd">    it is mutually exclusive with sourceArchiveUrl and sourceRepository body fields.</span>
+<span class="sd">    It is also mutually exclusive with non-empty sourceUploadUrl.</span>
+<span class="sd">    The pre-process modifies sourceUploadUrl body field in special way when zip_path</span>
+<span class="sd">    is not empty. An extra step is run when execute method is called and sourceUploadUrl</span>
+<span class="sd">    field value is set in the body with the value returned by generateUploadUrl Cloud</span>
+<span class="sd">    Function API method.</span>
+
+<span class="sd">    :param body: Body passed to the create/update method calls.</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param zip_path: path to the zip file containing source code.</span>
+<span class="sd">    :type body: dict</span>
+
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">upload_function</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">,</span> <span class="n">zip_path</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span> <span class="o">=</span> <span class="n">zip_path</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_is_present_and_empty</span><span class="p">(</span><span class="n">dictionary</span><span class="p">,</span> <span class="n">field</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">field</span> <span class="ow">in</span> <span class="n">dictionary</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">field</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">_verify_upload_url_and_no_zip_path</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_present_and_empty</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">,</span> <span class="n">SOURCE_UPLOAD_URL</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Parameter &#39;</span><span class="si">{}</span><span class="s2">&#39; is empty in the body and argument &#39;</span><span class="si">{}</span><span class="s2">&#39; &quot;</span>
+                    <span class="s2">&quot;is missing or empty. You need to have non empty &#39;</span><span class="si">{}</span><span class="s2">&#39; &quot;</span>
+                    <span class="s2">&quot;when &#39;</span><span class="si">{}</span><span class="s2">&#39; is present and empty.&quot;</span><span class="o">.</span>
+                    <span class="nb">format</span><span class="p">(</span><span class="n">SOURCE_UPLOAD_URL</span><span class="p">,</span> <span class="n">ZIP_PATH</span><span class="p">,</span> <span class="n">ZIP_PATH</span><span class="p">,</span> <span class="n">SOURCE_UPLOAD_URL</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">_verify_upload_url_and_zip_path</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">SOURCE_UPLOAD_URL</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">[</span><span class="n">SOURCE_UPLOAD_URL</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">upload_function</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Only one of &#39;</span><span class="si">{}</span><span class="s2">&#39; in body or &#39;</span><span class="si">{}</span><span class="s2">&#39; argument &quot;</span>
+                                       <span class="s2">&quot;allowed. Found both.&quot;</span>
+                                       <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">SOURCE_UPLOAD_URL</span><span class="p">,</span> <span class="n">ZIP_PATH</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">_verify_archive_url_and_zip_path</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">SOURCE_ARCHIVE_URL</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">zip_path</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Only one of &#39;</span><span class="si">{}</span><span class="s2">&#39; in body or &#39;</span><span class="si">{}</span><span class="s2">&#39; argument &quot;</span>
+                                   <span class="s2">&quot;allowed. Found both.&quot;</span>
+                                   <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">SOURCE_ARCHIVE_URL</span><span class="p">,</span> <span class="n">ZIP_PATH</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">should_upload_function</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">upload_function</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;validate() method has to be invoked before &#39;</span>
+                                   <span class="s1">&#39;should_upload_function&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">upload_function</span>
+
+    <span class="k">def</span> <span class="nf">preprocess_body</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_verify_archive_url_and_zip_path</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_verify_upload_url_and_zip_path</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_verify_upload_url_and_no_zip_path</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">upload_function</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">upload_function</span> <span class="o">=</span> <span class="kc">False</span>
+
+
+<span class="n">FUNCTION_NAME_PATTERN</span> <span class="o">=</span> <span class="s1">&#39;^projects/[^/]+/locations/[^/]+/functions/[^/]+$&#39;</span>
+<span class="n">FUNCTION_NAME_COMPILED_PATTERN</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">FUNCTION_NAME_PATTERN</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="GcfFunctionDeleteOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_function_operator.GcfFunctionDeleteOperator">[docs]</a><span class="k">class</span> <span class="nc">GcfFunctionDeleteOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Deletes the specified function from Google Cloud Functions.</span>
+
+<span class="sd">    :param name: A fully-qualified function name, matching</span>
+<span class="sd">        the pattern: `^projects/[^/]+/locations/[^/]+/functions/[^/]+$`</span>
+<span class="sd">    :type name: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID to use to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (for example v1 or v1beta1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">name</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">GcfHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class= [...]
+        <span class="nb">super</span><span class="p">(</span><span class="n">GcfFunctionDeleteOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span><span class="s1">&#39;Empty parameter: name&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">pattern</span> <span class="o">=</span> <span class="n">FUNCTION_NAME_COMPILED_PATTERN</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">pattern</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span>
+                    <span class="s1">&#39;Parameter name must match pattern: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">FUNCTION_NAME_PATTERN</span><span class="p">))</span>
+
+<div class="viewcode-block" id="GcfFunctionDeleteOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_function_operator.GcfFunctionDeleteOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">delete_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">status</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span>
+            <span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">404</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;The function does not exist in this project&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;An error occurred. Exiting.&#39;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">e</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+    
+
+  
+
+  <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/gcp_sql_operator.html b/_modules/airflow/contrib/operators/gcp_sql_operator.html
new file mode 100644
index 0000000..62c01b8
--- /dev/null
+++ b/_modules/airflow/contrib/operators/gcp_sql_operator.html
@@ -0,0 +1,737 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.gcp_sql_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" /> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.operators.gcp_sql_operator</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.gcp_sql_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">from</span> <span class="nn">googleapiclient.errors</span> <span class="k">import</span> <span class="n">HttpError</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_sql_hook</span> <span class="k">import</span> <span class="n">CloudSqlHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.utils.gcp_field_validator</span> <span class="k">import</span> <span class="n">GcpBodyFieldValidator</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
+
+<span class="n">SETTINGS</span> <span class="o">=</span> <span class="s1">&#39;settings&#39;</span>
+<span class="n">SETTINGS_VERSION</span> <span class="o">=</span> <span class="s1">&#39;settingsVersion&#39;</span>
+
+<span class="n">CLOUD_SQL_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;settings&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;tier&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;backupConfiguration&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;binaryLogEnabled&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;enabled&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;replicationLogArchivingEnabled&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;startTime&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;activationPolicy&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;authorizedGaeApplications&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;crashSafeReplicationEnabled&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;dataDiskSizeGb&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;dataDiskType&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;databaseFlags&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;ipConfiguration&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;authorizedNetworks&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+                <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;expirationTime&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+                <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+                <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;value&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+            <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;ipv4Enabled&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;privateNetwork&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;requireSsl&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;locationPreference&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;followGaeApplication&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;zone&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;maintenanceWindow&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;hour&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;day&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;updateTrack&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;pricingPlan&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;replicationType&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;storageAutoResize&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;storageAutoResizeLimit&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;userLabels&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="p">]),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;databaseVersion&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;failoverReplica&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+    <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;masterInstanceName&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;onPremisesConfiguration&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;region&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;replicaConfiguration&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;failoverTarget&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;mysqlReplicaConfiguration&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;caCertificate&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;clientCertificate&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;clientKey&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;connectRetryInterval&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;dumpFilePath&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;masterHeartbeatPeriod&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;password&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sslCipher&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;username&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;verifyServerCertificate&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="p">],</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+<span class="p">]</span>
+<span class="n">CLOUD_SQL_EXPORT_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;exportContext&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;fileType&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;uri&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;databases&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;sqlExportOptions&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;tables&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;schemaOnly&quot;</span><span class="p">)</span>
+        <span class="p">]),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;csvExportOptions&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;selectQuery&quot;</span><span class="p">)</span>
+        <span class="p">])</span>
+    <span class="p">])</span>
+<span class="p">]</span>
+<span class="n">CLOUD_SQL_IMPORT_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;importContext&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;fileType&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;uri&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;database&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;importUser&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+        <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;csvImportOptions&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;dict&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="p">[</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="p">),</span>
+            <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;columns&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;list&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="p">])</span>
+    <span class="p">])</span>
+<span class="p">]</span>
+<span class="n">CLOUD_SQL_DATABASE_INSERT_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;instance&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;project&quot;</span><span class="p">,</span> <span class="n">allow_empty</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
+<span class="p">]</span>
+<span class="n">CLOUD_SQL_DATABASE_PATCH_VALIDATION</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;instance&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;name&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;project&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;etag&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;charset&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+    <span class="nb">dict</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;collation&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
+<span class="p">]</span>
+
+
+<span class="k">class</span> <span class="nc">CloudSqlBaseOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Abstract base operator for Google Cloud SQL operators to inherit from.</span>
+
+<span class="sd">    :param project_id: Project ID of the Google Cloud Platform project to operate it.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">instance</span> <span class="o">=</span> <span class="n">instance</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span> <span class="o">=</span> <span class="n">CloudSqlHook</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+                                  <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">)</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;project_id&#39; is empty&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;instance&#39; is empty&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_check_if_instance_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">instance</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">get_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">status</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span>
+            <span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">404</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span> <span class="n">e</span>
+
+    <span class="k">def</span> <span class="nf">_check_if_db_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">db_name</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">get_database</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">,</span> <span class="n">db_name</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">status</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span>
+            <span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">404</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span> <span class="n">e</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">pass</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_get_settings_version</span><span class="p">(</span><span class="n">instance</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">instance</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">SETTINGS</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">SETTINGS_VERSION</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="CloudSqlInstanceCreateOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceCreateOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstanceCreateOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Creates a new Cloud SQL instance.</span>
+<span class="sd">    If an instance with the same name exists, no action will be taken and</span>
+<span class="sd">    the operator will succeed.</span>
+
+<span class="sd">    :param project_id: Project ID of the project to which the newly created Cloud SQL</span>
+<span class="sd">        instances should belong.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param body: Body required by the Cloud SQL insert API, as described in</span>
+<span class="sd">        https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/insert</span>
+<span class="sd">        #request-body</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    :param validate_body: True if body should be validated, False otherwise.</span>
+<span class="sd">    :type validate_body: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_create_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_create_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="n">validate_body</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span> <span class="o">=</span> <span class="n">validate_body</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceCreateOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceCreateOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;body&#39; is empty&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_body_fields</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span><span class="p">:</span>
+            <span class="n">GcpBodyFieldValidator</span><span class="p">(</span><span class="n">CLOUD_SQL_VALIDATION</span><span class="p">,</span>
+                                  <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">)</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CloudSqlInstanceCreateOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceCreateOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_body_fields</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_instance_exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">):</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">create_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Cloud SQL instance with ID </span><span class="si">{}</span><span class="s2"> already exists. &quot;</span>
+                          <span class="s2">&quot;Aborting create.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">True</span></div></div>
+
+
+<div class="viewcode-block" id="CloudSqlInstancePatchOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstancePatchOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstancePatchOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Updates settings of a Cloud SQL instance.</span>
+
+<span class="sd">    Caution: This is a partial update, so only included values for the settings will be</span>
+<span class="sd">    updated.</span>
+
+<span class="sd">    In the request body, supply the relevant portions of an instance resource, according</span>
+<span class="sd">    to the rules of patch semantics.</span>
+<span class="sd">    https://cloud.google.com/sql/docs/mysql/admin-api/how-tos/performance#patch</span>
+
+<span class="sd">    :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param body: Body required by the Cloud SQL patch API, as described in</span>
+<span class="sd">        https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/patch#request-body</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_patch_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_patch_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstancePatchOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstancePatchOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;body&#39; is empty&quot;</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CloudSqlInstancePatchOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstancePatchOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_instance_exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Cloud SQL instance with ID </span><span class="si">{}</span><span class="s1"> does not exist. &#39;</span>
+                                   <span class="s1">&#39;Please specify another instance to patch.&#39;</span>
+                                   <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">patch_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ins [...]
+
+
+<div class="viewcode-block" id="CloudSqlInstanceDeleteOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDeleteOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstanceDeleteOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Deletes a Cloud SQL instance.</span>
+
+<span class="sd">    :param project_id: Project ID of the project that contains the instance to be deleted.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param instance: Cloud SQL instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_delete_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_delete_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceDeleteOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CloudSqlInstanceDeleteOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDeleteOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_instance_exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">):</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Cloud SQL instance with ID </span><span class="si">{}</span><span class="s2"> does not exist. Aborting delete.&quot;</span>
+                  <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">delete_instance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">)</span></div></div>
+
+
+<div class="viewcode-block" id="CloudSqlInstanceDatabaseCreateOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDatabaseCreateOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstanceDatabaseCreateOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Creates a new database inside a Cloud SQL instance.</span>
+
+<span class="sd">    :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param body: The request body, as described in</span>
+<span class="sd">        https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/databases/insert#request-body</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    :param validate_body: Whether the body should be validated. Defaults to True.</span>
+<span class="sd">    :type validate_body: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_db_create_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span> <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_db_create_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="n">validate_body</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span> <span class="o">=</span> <span class="n">validate_body</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceDatabaseCreateOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceDatabaseCreateOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;body&#39; is empty&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_body_fields</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span><span class="p">:</span>
+            <span class="n">GcpBodyFieldValidator</span><span class="p">(</span><span class="n">CLOUD_SQL_DATABASE_INSERT_VALIDATION</span><span class="p">,</span>
+                                  <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">)</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CloudSqlInstanceDatabaseCreateOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDatabaseCreateOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_body_fields</span><span class="p">()</span>
+        <span class="n">database</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;name&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">database</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Body doesn&#39;t contain &#39;name&#39;. Cannot check if the&quot;</span>
+                           <span class="s2">&quot; database already exists in the instance </span><span class="si">{}</span><span class="s2">.&quot;</span>
+                           <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">False</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_db_exists</span><span class="p">(</span><span class="n">database</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Cloud SQL instance with ID </span><span class="si">{}</span><span class="s2"> already contains database&quot;</span>
+                          <span class="s2">&quot; &#39;</span><span class="si">{}</span><span class="s2">&#39;. Aborting database insert.&quot;</span>
+                          <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">,</span> <span class="n">database</span><span class="p">))</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">create_database</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n [...]
+
+
+<div class="viewcode-block" id="CloudSqlInstanceDatabasePatchOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDatabasePatchOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstanceDatabasePatchOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Updates a resource containing information about a database inside a Cloud SQL</span>
+<span class="sd">    instance using patch semantics.</span>
+<span class="sd">    See: https://cloud.google.com/sql/docs/mysql/admin-api/how-tos/performance#patch</span>
+
+<span class="sd">    :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param database: Name of the database to be updated in the instance.</span>
+<span class="sd">    :type database: str</span>
+<span class="sd">    :param body: The request body, as described in</span>
+<span class="sd">        https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/databases/patch#request-body</span>
+<span class="sd">    :type body: dict</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    :param validate_body: Whether the body should be validated. Defaults to True.</span>
+<span class="sd">    :type validate_body: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_db_patch_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;database&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_db_patch_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">instance</span><span class="p">,</span>
+                 <span class="n">database</span><span class="p">,</span>
+                 <span class="n">body</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta4&#39;</span><span class="p">,</span>
+                 <span class="n">validate_body</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">database</span> <span class="o">=</span> <span class="n">database</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">body</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span> <span class="o">=</span> <span class="n">validate_body</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceDatabasePatchOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">instance</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">gcp_conn_id</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_inputs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudSqlInstanceDatabasePatchOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">_validate_inputs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;body&#39; is empty&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The required parameter &#39;database&#39; is empty&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_validate_body_fields</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">validate_body</span><span class="p">:</span>
+            <span class="n">GcpBodyFieldValidator</span><span class="p">(</span><span class="n">CLOUD_SQL_DATABASE_PATCH_VALIDATION</span><span class="p">,</span>
+                                  <span class="n">api_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">)</span><span class="o">.</span><span class="n">validate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+
+<div class="viewcode-block" id="CloudSqlInstanceDatabasePatchOperator.execute"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDatabasePatchOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_validate_body_fields</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_if_db_exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Cloud SQL instance with ID </span><span class="si">{}</span><span class="s2"> does not contain &quot;</span>
+                                   <span class="s2">&quot;database &#39;</span><span class="si">{}</span><span class="s2">&#39;. &quot;</span>
+                                   <span class="s2">&quot;Please specify another database to patch.&quot;</span>
+                                   <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hook</span><span class="o">.</span><span class="n">patch_database</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">instance</span><span class="p">,</span>
+                                             <span class="bp">self</span><span class="o">.</span><span class="n">database</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span></div></div>
+
+
+<div class="viewcode-block" id="CloudSqlInstanceDatabaseDeleteOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.gcp_sql_operator.CloudSqlInstanceDatabaseDeleteOperator">[docs]</a><span class="k">class</span> <span class="nc">CloudSqlInstanceDatabaseDeleteOperator</span><span class="p">(</span><span class="n">CloudSqlBaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Deletes a database from a Cloud SQL instance.</span>
+
+<span class="sd">    :param project_id: Project ID of the project that contains the instance.</span>
+<span class="sd">    :type project_id: str</span>
+<span class="sd">    :param instance: Database instance ID. This does not include the project ID.</span>
+<span class="sd">    :type instance: str</span>
+<span class="sd">    :param database: Name of the database to be deleted in the instance.</span>
+<span class="sd">    :type database: str</span>
+<span class="sd">    :param gcp_conn_id: The connection ID used to connect to Google Cloud Platform.</span>
+<span class="sd">    :type gcp_conn_id: str</span>
+<span class="sd">    :param api_version: API version used (e.g. v1beta4).</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># [START gcp_sql_db_delete_template_fields]</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;project_id&#39;</span><span class="p">,</span> <span class="s1">&#39;instance&#39;</span><span class="p">,</span> <span class="s1">&#39;database&#39;</span><span class="p">,</span> <span class="s1">&#39;gcp_conn_id&#39;</span><span class="p">,</span>
+                       <span class="s1">&#39;api_version&#39;</span><span class="p">)</span>
+    <span class="c1"># [END gcp_sql_db_delete_template_fields]</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
... 26255 lines suppressed ...


[airflow-site] 18/30: Docs for 1.10.4

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 857c8deaf80e06e261ae2450361c5956fadd4beb
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Tue Aug 6 21:35:37 2019 +0100

    Docs for 1.10.4
---
 1.10.4/_api/airflow/contrib/executors/index.html   |   341 +
 .../executors/kubernetes_executor/index.html       |   599 ++
 .../contrib/executors/mesos_executor/index.html    |   446 +
 .../contrib/hooks/aws_athena_hook/index.html       |   467 +
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   364 +
 .../contrib/hooks/aws_firehose_hook/index.html     |   360 +
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   449 +
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   407 +
 .../contrib/hooks/aws_lambda_hook/index.html       |   366 +
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   365 +
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   403 +
 .../hooks/azure_container_instance_hook/index.html |   485 +
 .../hooks/azure_container_registry_hook/index.html |   355 +
 .../hooks/azure_container_volume_hook/index.html   |   360 +
 .../contrib/hooks/azure_cosmos_hook/index.html     |   450 +
 .../contrib/hooks/azure_data_lake_hook/index.html  |   432 +
 .../contrib/hooks/azure_fileshare_hook/index.html  |   537 +
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1239 +++
 .../contrib/hooks/cassandra_hook/index.html        |   433 +
 .../airflow/contrib/hooks/cloudant_hook/index.html |   359 +
 .../contrib/hooks/databricks_hook/index.html       |   542 +
 .../airflow/contrib/hooks/datadog_hook/index.html  |   423 +
 .../contrib/hooks/datastore_hook/index.html        |   610 ++
 .../airflow/contrib/hooks/dingding_hook/index.html |   392 +
 .../contrib/hooks/discord_webhook_hook/index.html  |   402 +
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   359 +
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   360 +
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   555 +
 .../contrib/hooks/gcp_api_base_hook/index.html     |   465 +
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   507 +
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   420 +
 .../contrib/hooks/gcp_compute_hook/index.html      |   593 ++
 .../contrib/hooks/gcp_container_hook/index.html    |   510 +
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   441 +
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   497 +
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1218 +++
 .../contrib/hooks/gcp_function_hook/index.html     |   496 +
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   417 +
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   463 +
 .../hooks/gcp_natural_language_hook/index.html     |   516 +
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   519 +
 .../contrib/hooks/gcp_spanner_hook/index.html      |   590 ++
 .../hooks/gcp_speech_to_text_hook/index.html       |   393 +
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   913 ++
 .../hooks/gcp_text_to_speech_hook/index.html       |   402 +
 .../contrib/hooks/gcp_transfer_hook/index.html     |   861 ++
 .../contrib/hooks/gcp_translate_hook/index.html    |   409 +
 .../hooks/gcp_video_intelligence_hook/index.html   |   400 +
 .../contrib/hooks/gcp_vision_hook/index.html       |   549 +
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   661 ++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   363 +
 .../airflow/contrib/hooks/imap_hook/index.html     |   603 ++
 1.10.4/_api/airflow/contrib/hooks/index.html       |   426 +
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   349 +
 .../airflow/contrib/hooks/jira_hook/index.html     |   354 +
 .../airflow/contrib/hooks/mongo_hook/index.html    |   540 +
 .../airflow/contrib/hooks/openfaas_hook/index.html |   403 +
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   384 +
 .../airflow/contrib/hooks/pinot_hook/index.html    |   411 +
 .../contrib/hooks/qubole_check_hook/index.html     |   388 +
 .../airflow/contrib/hooks/qubole_hook/index.html   |   441 +
 .../airflow/contrib/hooks/redis_hook/index.html    |   352 +
 .../airflow/contrib/hooks/redshift_hook/index.html |   414 +
 .../contrib/hooks/sagemaker_hook/index.html        |   865 ++
 .../contrib/hooks/salesforce_hook/index.html       |   480 +
 .../airflow/contrib/hooks/segment_hook/index.html  |   362 +
 .../airflow/contrib/hooks/sftp_hook/index.html     |   441 +
 .../contrib/hooks/slack_webhook_hook/index.html    |   391 +
 .../contrib/hooks/snowflake_hook/index.html        |   392 +
 .../contrib/hooks/spark_jdbc_hook/index.html       |   425 +
 .../contrib/hooks/spark_jdbc_script/index.html     |   357 +
 .../contrib/hooks/spark_sql_hook/index.html        |   404 +
 .../contrib/hooks/spark_submit_hook/index.html     |   513 +
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   503 +
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   407 +
 .../airflow/contrib/hooks/vertica_hook/index.html  |   365 +
 .../airflow/contrib/hooks/wasb_hook/index.html     |   488 +
 .../airflow/contrib/hooks/winrm_hook/index.html    |   391 +
 .../operators/adls_list_operator/index.html        |   389 +
 .../contrib/operators/adls_to_gcs/index.html       |   420 +
 .../operators/aws_athena_operator/index.html       |   394 +
 .../operators/aws_sqs_publish_operator/index.html  |   388 +
 .../contrib/operators/awsbatch_operator/index.html |   424 +
 .../azure_container_instances_operator/index.html  |   463 +
 .../operators/azure_cosmos_operator/index.html     |   374 +
 .../operators/bigquery_check_operator/index.html   |   463 +
 .../contrib/operators/bigquery_get_data/index.html |   403 +
 .../contrib/operators/bigquery_operator/index.html |   717 ++
 .../bigquery_table_delete_operator/index.html      |   378 +
 .../operators/bigquery_to_bigquery/index.html      |   394 +
 .../contrib/operators/bigquery_to_gcs/index.html   |   397 +
 .../contrib/operators/cassandra_to_gcs/index.html  |   511 +
 .../operators/databricks_operator/index.html       |   705 ++
 .../contrib/operators/dataflow_operator/index.html |   629 ++
 .../contrib/operators/dataproc_operator/index.html |  1017 ++
 .../operators/datastore_export_operator/index.html |   377 +
 .../operators/datastore_import_operator/index.html |   375 +
 .../contrib/operators/dingding_operator/index.html |   379 +
 .../operators/discord_webhook_operator/index.html  |   381 +
 .../contrib/operators/druid_operator/index.html    |   372 +
 .../contrib/operators/ecs_operator/index.html      |   414 +
 .../operators/emr_add_steps_operator/index.html    |   377 +
 .../emr_create_job_flow_operator/index.html        |   380 +
 .../emr_terminate_job_flow_operator/index.html     |   376 +
 .../contrib/operators/file_to_gcs/index.html       |   373 +
 .../contrib/operators/file_to_wasb/index.html      |   371 +
 .../operators/gcp_bigtable_operator/index.html     |   622 ++
 .../operators/gcp_cloud_build_operator/index.html  |   456 +
 .../operators/gcp_compute_operator/index.html      |   606 ++
 .../operators/gcp_container_operator/index.html    |   541 +
 .../contrib/operators/gcp_dlp_operator/index.html  |  1537 +++
 .../operators/gcp_function_operator/index.html     |   561 +
 .../gcp_natural_language_operator/index.html       |   496 +
 .../operators/gcp_spanner_operator/index.html      |   599 ++
 .../gcp_speech_to_text_operator/index.html         |   387 +
 .../contrib/operators/gcp_sql_operator/index.html  |   833 ++
 .../gcp_text_to_speech_operator/index.html         |   391 +
 .../operators/gcp_transfer_operator/index.html     |   896 ++
 .../operators/gcp_translate_operator/index.html    |   394 +
 .../gcp_translate_speech_operator/index.html       |   407 +
 .../gcp_video_intelligence_operator/index.html     |   473 +
 .../operators/gcp_vision_operator/index.html       |  1079 ++
 .../contrib/operators/gcs_acl_operator/index.html  |   422 +
 .../operators/gcs_delete_operator/index.html       |   376 +
 .../operators/gcs_download_operator/index.html     |   384 +
 .../contrib/operators/gcs_list_operator/index.html |   398 +
 .../contrib/operators/gcs_operator/index.html      |   420 +
 .../airflow/contrib/operators/gcs_to_bq/index.html |   450 +
 .../contrib/operators/gcs_to_gcs/index.html        |   453 +
 .../airflow/contrib/operators/gcs_to_s3/index.html |   407 +
 .../contrib/operators/hipchat_operator/index.html  |   411 +
 .../contrib/operators/hive_to_dynamodb/index.html  |   386 +
 .../imap_attachment_to_s3_operator/index.html      |   377 +
 1.10.4/_api/airflow/contrib/operators/index.html   |   455 +
 .../jenkins_job_trigger_operator/index.html        |   456 +
 .../contrib/operators/jira_operator/index.html     |   371 +
 .../operators/kubernetes_pod_operator/index.html   |   414 +
 .../contrib/operators/mlengine_operator/index.html |   598 ++
 .../contrib/operators/mongo_to_s3/index.html       |   387 +
 .../contrib/operators/mssql_to_gcs/index.html      |   407 +
 .../contrib/operators/mysql_to_gcs/index.html      |   404 +
 .../operators/opsgenie_alert_operator/index.html   |   400 +
 .../oracle_to_azure_data_lake_transfer/index.html  |   385 +
 .../operators/oracle_to_oracle_transfer/index.html |   381 +
 .../operators/postgres_to_gcs_operator/index.html  |   389 +
 .../contrib/operators/pubsub_operator/index.html   |   582 ++
 .../operators/qubole_check_operator/index.html     |   528 +
 .../contrib/operators/qubole_operator/index.html   |   679 ++
 .../operators/redis_publish_operator/index.html    |   373 +
 .../operators/s3_copy_object_operator/index.html   |   399 +
 .../s3_delete_objects_operator/index.html          |   393 +
 .../contrib/operators/s3_list_operator/index.html  |   409 +
 .../operators/s3_to_gcs_operator/index.html        |   420 +
 .../operators/s3_to_sftp_operator/index.html       |   381 +
 .../operators/sagemaker_base_operator/index.html   |   401 +
 .../sagemaker_endpoint_config_operator/index.html  |   369 +
 .../sagemaker_endpoint_operator/index.html         |   398 +
 .../operators/sagemaker_model_operator/index.html  |   369 +
 .../sagemaker_training_operator/index.html         |   382 +
 .../sagemaker_transform_operator/index.html        |   394 +
 .../operators/sagemaker_tuning_operator/index.html |   381 +
 .../segment_track_event_operator/index.html        |   375 +
 .../contrib/operators/sftp_operator/index.html     |   429 +
 .../operators/sftp_to_s3_operator/index.html       |   382 +
 .../operators/slack_webhook_operator/index.html    |   381 +
 .../operators/snowflake_operator/index.html        |   391 +
 .../operators/sns_publish_operator/index.html      |   372 +
 .../operators/spark_jdbc_operator/index.html       |   422 +
 .../operators/spark_sql_operator/index.html        |   389 +
 .../operators/spark_submit_operator/index.html     |   408 +
 .../contrib/operators/sql_to_gcs/index.html        |   478 +
 .../contrib/operators/sqoop_operator/index.html    |   373 +
 .../contrib/operators/ssh_operator/index.html      |   386 +
 .../contrib/operators/vertica_operator/index.html  |   378 +
 .../contrib/operators/vertica_to_hive/index.html   |   400 +
 .../contrib/operators/vertica_to_mysql/index.html  |   390 +
 .../operators/wasb_delete_blob_operator/index.html |   372 +
 .../contrib/operators/winrm_operator/index.html    |   370 +
 .../contrib/sensors/aws_athena_sensor/index.html   |   401 +
 .../aws_glue_catalog_partition_sensor/index.html   |   391 +
 .../sensors/aws_redshift_cluster_sensor/index.html |   366 +
 .../contrib/sensors/aws_sqs_sensor/index.html      |   379 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |   366 +
 .../airflow/contrib/sensors/bash_sensor/index.html |   374 +
 .../contrib/sensors/bigquery_sensor/index.html     |   380 +
 .../sensors/cassandra_record_sensor/index.html     |   367 +
 .../sensors/cassandra_table_sensor/index.html      |   365 +
 .../contrib/sensors/datadog_sensor/index.html      |   369 +
 .../contrib/sensors/emr_base_sensor/index.html     |   360 +
 .../contrib/sensors/emr_job_flow_sensor/index.html |   389 +
 .../contrib/sensors/emr_step_sensor/index.html     |   392 +
 .../airflow/contrib/sensors/file_sensor/index.html |   375 +
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   394 +
 .../contrib/sensors/gcp_transfer_sensor/index.html |   374 +
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   535 +
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   375 +
 .../sensors/imap_attachment_sensor/index.html      |   385 +
 1.10.4/_api/airflow/contrib/sensors/index.html     |   377 +
 .../airflow/contrib/sensors/jira_sensor/index.html |   396 +
 .../contrib/sensors/mongo_sensor/index.html        |   365 +
 .../contrib/sensors/pubsub_sensor/index.html       |   378 +
 .../contrib/sensors/python_sensor/index.html       |   382 +
 .../contrib/sensors/qubole_sensor/index.html       |   410 +
 .../contrib/sensors/redis_key_sensor/index.html    |   363 +
 .../sensors/redis_pub_sub_sensor/index.html        |   373 +
 .../sensors/sagemaker_base_sensor/index.html       |   386 +
 .../sensors/sagemaker_endpoint_sensor/index.html   |   389 +
 .../sensors/sagemaker_training_sensor/index.html   |   397 +
 .../sensors/sagemaker_transform_sensor/index.html  |   390 +
 .../sensors/sagemaker_tuning_sensor/index.html     |   390 +
 .../airflow/contrib/sensors/sftp_sensor/index.html |   366 +
 .../airflow/contrib/sensors/wasb_sensor/index.html |   397 +
 .../contrib/sensors/weekday_sensor/index.html      |   404 +
 .../airflow/executors/base_executor/index.html     |   456 +
 .../airflow/executors/celery_executor/index.html   |   473 +
 .../airflow/executors/dask_executor/index.html     |   374 +
 1.10.4/_api/airflow/executors/index.html           |   688 ++
 .../airflow/executors/local_executor/index.html    |   498 +
 .../executors/sequential_executor/index.html       |   363 +
 1.10.4/_api/airflow/hooks/S3_hook/index.html       |   668 ++
 1.10.4/_api/airflow/hooks/base_hook/index.html     |   398 +
 1.10.4/_api/airflow/hooks/dbapi_hook/index.html    |   543 +
 1.10.4/_api/airflow/hooks/docker_hook/index.html   |   360 +
 1.10.4/_api/airflow/hooks/druid_hook/index.html    |   418 +
 1.10.4/_api/airflow/hooks/hdfs_hook/index.html     |   370 +
 1.10.4/_api/airflow/hooks/hive_hooks/index.html    |   821 ++
 1.10.4/_api/airflow/hooks/http_hook/index.html     |   439 +
 1.10.4/_api/airflow/hooks/index.html               |   379 +
 1.10.4/_api/airflow/hooks/jdbc_hook/index.html     |   381 +
 1.10.4/_api/airflow/hooks/mssql_hook/index.html    |   375 +
 1.10.4/_api/airflow/hooks/mysql_hook/index.html    |   436 +
 1.10.4/_api/airflow/hooks/oracle_hook/index.html   |   431 +
 1.10.4/_api/airflow/hooks/pig_hook/index.html      |   364 +
 1.10.4/_api/airflow/hooks/postgres_hook/index.html |   432 +
 1.10.4/_api/airflow/hooks/presto_hook/index.html   |   423 +
 1.10.4/_api/airflow/hooks/samba_hook/index.html    |   354 +
 1.10.4/_api/airflow/hooks/slack_hook/index.html    |   354 +
 1.10.4/_api/airflow/hooks/sqlite_hook/index.html   |   365 +
 1.10.4/_api/airflow/hooks/webhdfs_hook/index.html  |   425 +
 1.10.4/_api/airflow/hooks/zendesk_hook/index.html  |   378 +
 1.10.4/_api/airflow/models/base/index.html         |   357 +
 1.10.4/_api/airflow/models/baseoperator/index.html |   876 ++
 1.10.4/_api/airflow/models/chart/index.html        |   433 +
 1.10.4/_api/airflow/models/connection/index.html   |   478 +
 1.10.4/_api/airflow/models/crypto/index.html       |   391 +
 1.10.4/_api/airflow/models/dag/index.html          |  1151 +++
 1.10.4/_api/airflow/models/dagbag/index.html       |   446 +
 1.10.4/_api/airflow/models/dagpickle/index.html    |   375 +
 1.10.4/_api/airflow/models/dagrun/index.html       |   562 +
 1.10.4/_api/airflow/models/errors/index.html       |   368 +
 1.10.4/_api/airflow/models/index.html              |  3570 +++++++
 1.10.4/_api/airflow/models/knownevent/index.html   |   424 +
 1.10.4/_api/airflow/models/kubernetes/index.html   |   404 +
 1.10.4/_api/airflow/models/log/index.html          |   394 +
 1.10.4/_api/airflow/models/pool/index.html         |   417 +
 1.10.4/_api/airflow/models/skipmixin/index.html    |   367 +
 1.10.4/_api/airflow/models/slamiss/index.html      |   396 +
 1.10.4/_api/airflow/models/taskfail/index.html     |   389 +
 1.10.4/_api/airflow/models/taskinstance/index.html |   871 ++
 .../_api/airflow/models/taskreschedule/index.html  |   411 +
 1.10.4/_api/airflow/models/user/index.html         |   383 +
 1.10.4/_api/airflow/models/variable/index.html     |   434 +
 1.10.4/_api/airflow/models/xcom/index.html         |   450 +
 .../airflow/operators/bash_operator/index.html     |   395 +
 .../airflow/operators/branch_operator/index.html   |   375 +
 .../airflow/operators/check_operator/index.html    |   541 +
 .../airflow/operators/dagrun_operator/index.html   |   386 +
 .../airflow/operators/docker_operator/index.html   |   444 +
 .../operators/druid_check_operator/index.html      |   400 +
 .../airflow/operators/dummy_operator/index.html    |   359 +
 .../airflow/operators/email_operator/index.html    |   384 +
 .../airflow/operators/generic_transfer/index.html  |   384 +
 .../airflow/operators/hive_operator/index.html     |   413 +
 .../operators/hive_stats_operator/index.html       |   395 +
 .../airflow/operators/hive_to_druid/index.html     |   409 +
 .../airflow/operators/hive_to_mysql/index.html     |   392 +
 .../operators/hive_to_samba_operator/index.html    |   373 +
 .../airflow/operators/http_operator/index.html     |   390 +
 1.10.4/_api/airflow/operators/index.html           |   898 ++
 .../airflow/operators/jdbc_operator/index.html     |   382 +
 .../operators/latest_only_operator/index.html      |   361 +
 .../airflow/operators/mssql_operator/index.html    |   381 +
 .../airflow/operators/mssql_to_hive/index.html     |   402 +
 .../airflow/operators/mysql_operator/index.html    |   383 +
 .../airflow/operators/mysql_to_hive/index.html     |   401 +
 .../airflow/operators/oracle_operator/index.html   |   382 +
 .../_api/airflow/operators/pig_operator/index.html |   397 +
 .../airflow/operators/postgres_operator/index.html |   382 +
 .../operators/presto_check_operator/index.html     |   427 +
 .../airflow/operators/presto_to_mysql/index.html   |   385 +
 .../airflow/operators/python_operator/index.html   |   547 +
 .../operators/redshift_to_s3_operator/index.html   |   399 +
 .../s3_file_transform_operator/index.html          |   411 +
 .../operators/s3_to_hive_operator/index.html       |   440 +
 .../operators/s3_to_redshift_operator/index.html   |   399 +
 1.10.4/_api/airflow/operators/sensors/index.html   |   413 +
 .../airflow/operators/slack_operator/index.html    |   414 +
 .../airflow/operators/sqlite_operator/index.html   |   378 +
 .../airflow/operators/subdag_operator/index.html   |   374 +
 .../sensors/base_sensor_operator/index.html        |   416 +
 .../sensors/external_task_sensor/index.html        |   387 +
 1.10.4/_api/airflow/sensors/hdfs_sensor/index.html |   401 +
 .../sensors/hive_partition_sensor/index.html       |   380 +
 1.10.4/_api/airflow/sensors/http_sensor/index.html |   377 +
 1.10.4/_api/airflow/sensors/index.html             |   376 +
 .../sensors/metastore_partition_sensor/index.html  |   380 +
 .../sensors/named_hive_partition_sensor/index.html |   388 +
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   390 +
 .../airflow/sensors/s3_prefix_sensor/index.html    |   392 +
 1.10.4/_api/airflow/sensors/sql_sensor/index.html  |   398 +
 .../airflow/sensors/time_delta_sensor/index.html   |   361 +
 1.10.4/_api/airflow/sensors/time_sensor/index.html |   358 +
 .../airflow/sensors/web_hdfs_sensor/index.html     |   358 +
 1.10.4/_api/index.html                             |   444 +
 1.10.4/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.4/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.4/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.4/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.4/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.4/_images/branch_with_trigger.png             |   Bin 0 -> 34081 bytes
 1.10.4/_images/branch_without_trigger.png          |   Bin 0 -> 39815 bytes
 1.10.4/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.4/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 1.10.4/_images/code.png                            |   Bin 0 -> 285906 bytes
 1.10.4/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.4/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.4/_images/connections.png                     |   Bin 0 -> 48442 bytes
 1.10.4/_images/context.png                         |   Bin 0 -> 149588 bytes
 1.10.4/_images/dags.png                            |   Bin 0 -> 217069 bytes
 1.10.4/_images/duration.png                        |   Bin 0 -> 250846 bytes
 1.10.4/_images/gantt.png                           |   Bin 0 -> 121795 bytes
 1.10.4/_images/graph.png                           |   Bin 0 -> 152205 bytes
 1.10.4/_images/latest_only_with_trigger.png        |   Bin 0 -> 49510 bytes
 1.10.4/_images/operator_extra_link.png             |   Bin 0 -> 276679 bytes
 1.10.4/_images/pin_large.png                       |   Bin 0 -> 358276 bytes
 1.10.4/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.4/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.4/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 1.10.4/_images/tree.png                            |   Bin 0 -> 128024 bytes
 1.10.4/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 .../example_dags/example_dingding_operator.html    |   524 +
 .../example_gcp_bigtable_operators.html            |   506 +
 .../example_dags/example_gcp_cloud_build.html      |   407 +
 .../contrib/example_dags/example_gcp_compute.html  |   415 +
 .../example_dags/example_gcp_compute_igm.html      |   445 +
 .../contrib/example_dags/example_gcp_function.html |   434 +
 .../example_dags/example_gcp_natural_language.html |   415 +
 .../contrib/example_dags/example_gcp_spanner.html  |   499 +
 .../contrib/example_dags/example_gcp_speech.html   |   403 +
 .../contrib/example_dags/example_gcp_sql.html      |   724 ++
 .../example_dags/example_gcp_sql_query.html        |   595 ++
 .../contrib/example_dags/example_gcp_transfer.html |   554 +
 .../example_dags/example_gcp_translate.html        |   353 +
 .../example_gcp_video_intelligence.html            |   423 +
 .../contrib/example_dags/example_gcp_vision.html   |   785 ++
 .../contrib/example_dags/example_gcs_acl.html      |   377 +
 .../example_dags/example_gcs_to_bq_operator.html   |   368 +
 .../contrib/executors/kubernetes_executor.html     |  1124 ++
 .../airflow/contrib/executors/mesos_executor.html  |   627 ++
 1.10.4/_modules/airflow/contrib/hooks.html         |   371 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   469 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   372 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   359 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   455 +
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   508 +
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   371 +
 .../airflow/contrib/hooks/aws_sns_hook.html        |   363 +
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   374 +
 .../hooks/azure_container_instance_hook.html       |   481 +
 .../hooks/azure_container_registry_hook.html       |   342 +
 .../contrib/hooks/azure_container_volume_hook.html |   357 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   590 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   444 +
 .../contrib/hooks/azure_fileshare_hook.html        |   515 +
 .../airflow/contrib/hooks/bigquery_hook.html       |  2406 +++++
 .../airflow/contrib/hooks/cassandra_hook.html      |   503 +
 .../airflow/contrib/hooks/cloudant_hook.html       |   386 +
 .../airflow/contrib/hooks/databricks_hook.html     |   576 ++
 .../airflow/contrib/hooks/datadog_hook.html        |   461 +
 .../airflow/contrib/hooks/datastore_hook.html      |   643 ++
 .../airflow/contrib/hooks/dingding_hook.html       |   437 +
 .../contrib/hooks/discord_webhook_hook.html        |   443 +
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   360 +
 1.10.4/_modules/airflow/contrib/hooks/fs_hook.html |   349 +
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   623 ++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   561 +
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   565 +
 .../contrib/hooks/gcp_cloud_build_hook.html        |   435 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   643 ++
 .../airflow/contrib/hooks/gcp_container_hook.html  |   550 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   600 ++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   641 ++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2082 ++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |   501 +
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   412 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   576 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |   520 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   588 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   652 ++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   376 +
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1307 +++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   383 +
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   700 ++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   400 +
 .../contrib/hooks/gcp_video_intelligence_hook.html |   408 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   877 ++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   897 ++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   426 +
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   619 ++
 .../airflow/contrib/hooks/jenkins_hook.html        |   351 +
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   389 +
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   600 ++
 .../airflow/contrib/hooks/openfaas_hook.html       |   402 +
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   391 +
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   408 +
 .../airflow/contrib/hooks/qubole_check_hook.html   |   420 +
 .../airflow/contrib/hooks/qubole_hook.html         |   564 +
 .../_modules/airflow/contrib/hooks/redis_hook.html |   369 +
 .../airflow/contrib/hooks/redshift_hook.html       |   416 +
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1073 ++
 .../airflow/contrib/hooks/salesforce_hook.html     |   628 ++
 .../airflow/contrib/hooks/segment_hook.html        |   393 +
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   517 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   437 +
 .../airflow/contrib/hooks/snowflake_hook.html      |   437 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   549 +
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   449 +
 .../airflow/contrib/hooks/spark_sql_hook.html      |   467 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   889 ++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   658 ++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   552 +
 .../airflow/contrib/hooks/vertica_hook.html        |   356 +
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   494 +
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   537 +
 1.10.4/_modules/airflow/contrib/operators.html     |   354 +
 .../contrib/operators/adls_list_operator.html      |   375 +
 .../airflow/contrib/operators/adls_to_gcs.html     |   452 +
 .../contrib/operators/aws_athena_operator.html     |   423 +
 .../operators/aws_sqs_publish_operator.html        |   384 +
 .../contrib/operators/awsbatch_operator.html       |   484 +
 .../azure_container_instances_operator.html        |   648 ++
 .../contrib/operators/azure_cosmos_operator.html   |   372 +
 .../contrib/operators/bigquery_check_operator.html |   456 +
 .../contrib/operators/bigquery_get_data.html       |   419 +
 .../contrib/operators/bigquery_operator.html       |   999 ++
 .../operators/bigquery_table_delete_operator.html  |   371 +
 .../contrib/operators/bigquery_to_bigquery.html    |   398 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   408 +
 .../contrib/operators/cassandra_to_gcs.html        |   657 ++
 .../contrib/operators/databricks_operator.html     |   789 ++
 .../contrib/operators/dataflow_operator.html       |   728 ++
 .../contrib/operators/dataproc_operator.html       |  1537 +++
 .../operators/datastore_export_operator.html       |   413 +
 .../operators/datastore_import_operator.html       |   401 +
 .../contrib/operators/dingding_operator.html       |   377 +
 .../operators/discord_webhook_operator.html        |   401 +
 .../airflow/contrib/operators/druid_operator.html  |   367 +
 .../airflow/contrib/operators/ecs_operator.html    |   480 +
 .../contrib/operators/emr_add_steps_operator.html  |   366 +
 .../operators/emr_create_job_flow_operator.html    |   377 +
 .../operators/emr_terminate_job_flow_operator.html |   360 +
 .../airflow/contrib/operators/file_to_gcs.html     |   385 +
 .../airflow/contrib/operators/file_to_wasb.html    |   367 +
 .../contrib/operators/gcp_bigtable_operator.html   |   794 ++
 .../operators/gcp_cloud_build_operator.html        |   499 +
 .../contrib/operators/gcp_compute_operator.html    |   787 ++
 .../contrib/operators/gcp_container_operator.html  |   625 ++
 .../contrib/operators/gcp_dlp_operator.html        |  2424 +++++
 .../contrib/operators/gcp_function_operator.html   |   631 ++
 .../operators/gcp_natural_language_operator.html   |   565 +
 .../contrib/operators/gcp_spanner_operator.html    |   735 ++
 .../operators/gcp_speech_to_text_operator.html     |   393 +
 .../contrib/operators/gcp_sql_operator.html        |  1109 ++
 .../operators/gcp_text_to_speech_operator.html     |   432 +
 .../contrib/operators/gcp_transfer_operator.html   |  1101 ++
 .../contrib/operators/gcp_translate_operator.html  |   416 +
 .../operators/gcp_translate_speech_operator.html   |   462 +
 .../operators/gcp_video_intelligence_operator.html |   548 +
 .../contrib/operators/gcp_vision_operator.html     |  1558 +++
 .../contrib/operators/gcs_acl_operator.html        |   437 +
 .../contrib/operators/gcs_delete_operator.html     |   386 +
 .../contrib/operators/gcs_download_operator.html   |   394 +
 .../contrib/operators/gcs_list_operator.html       |   397 +
 .../airflow/contrib/operators/gcs_operator.html    |   434 +
 .../airflow/contrib/operators/gcs_to_bq.html       |   584 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |   502 +
 .../airflow/contrib/operators/gcs_to_s3.html       |   443 +
 .../contrib/operators/hipchat_operator.html        |   438 +
 .../contrib/operators/hive_to_dynamodb.html        |   412 +
 .../operators/imap_attachment_to_s3_operator.html  |   393 +
 .../operators/jenkins_job_trigger_operator.html    |   547 +
 .../airflow/contrib/operators/jira_operator.html   |   397 +
 .../contrib/operators/kubernetes_pod_operator.html |   542 +
 .../contrib/operators/mlengine_operator.html       |   934 ++
 .../airflow/contrib/operators/mongo_to_s3.html     |   430 +
 .../airflow/contrib/operators/mssql_to_gcs.html    |   399 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   435 +
 .../contrib/operators/opsgenie_alert_operator.html |   434 +
 .../oracle_to_azure_data_lake_transfer.html        |   418 +
 .../operators/oracle_to_oracle_transfer.html       |   394 +
 .../operators/postgres_to_gcs_operator.html        |   407 +
 .../airflow/contrib/operators/pubsub_operator.html |   736 ++
 .../contrib/operators/qubole_check_operator.html   |   531 +
 .../airflow/contrib/operators/qubole_operator.html |   522 +
 .../contrib/operators/redis_publish_operator.html  |   369 +
 .../contrib/operators/s3_copy_object_operator.html |   399 +
 .../operators/s3_delete_objects_operator.html      |   390 +
 .../contrib/operators/s3_list_operator.html        |   402 +
 .../contrib/operators/s3_to_gcs_operator.html      |   510 +
 .../contrib/operators/s3_to_sftp_operator.html     |   388 +
 .../contrib/operators/sagemaker_base_operator.html |   405 +
 .../sagemaker_endpoint_config_operator.html        |   369 +
 .../operators/sagemaker_endpoint_operator.html     |   453 +
 .../operators/sagemaker_model_operator.html        |   370 +
 .../operators/sagemaker_training_operator.html     |   401 +
 .../operators/sagemaker_transform_operator.html    |   427 +
 .../operators/sagemaker_tuning_operator.html       |   402 +
 .../operators/segment_track_event_operator.html    |   375 +
 .../airflow/contrib/operators/sftp_operator.html   |   483 +
 .../contrib/operators/sftp_to_s3_operator.html     |   394 +
 .../contrib/operators/slack_webhook_operator.html  |   405 +
 .../contrib/operators/snowflake_operator.html      |   380 +
 .../contrib/operators/sns_publish_operator.html    |   368 +
 .../contrib/operators/spark_jdbc_operator.html     |   517 +
 .../contrib/operators/spark_sql_operator.html      |   414 +
 .../contrib/operators/spark_submit_operator.html   |   482 +
 .../airflow/contrib/operators/sql_to_gcs.html      |   578 ++
 .../airflow/contrib/operators/sqoop_operator.html  |   541 +
 .../airflow/contrib/operators/ssh_operator.html    |   482 +
 .../contrib/operators/vertica_operator.html        |   352 +
 .../airflow/contrib/operators/vertica_to_hive.html |   442 +
 .../contrib/operators/vertica_to_mysql.html        |   458 +
 .../operators/wasb_delete_blob_operator.html       |   373 +
 .../airflow/contrib/operators/winrm_operator.html  |   452 +
 .../airflow/contrib/sensors/aws_athena_sensor.html |   380 +
 .../sensors/aws_glue_catalog_partition_sensor.html |   394 +
 .../sensors/aws_redshift_cluster_sensor.html       |   353 +
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   394 +
 .../contrib/sensors/azure_cosmos_sensor.html       |   368 +
 .../airflow/contrib/sensors/bash_sensor.html       |   392 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |   371 +
 .../contrib/sensors/cassandra_record_sensor.html   |   362 +
 .../contrib/sensors/cassandra_table_sensor.html    |   357 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   384 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |   361 +
 .../contrib/sensors/emr_job_flow_sensor.html       |   364 +
 .../airflow/contrib/sensors/emr_step_sensor.html   |   368 +
 .../airflow/contrib/sensors/file_sensor.html       |   372 +
 .../airflow/contrib/sensors/ftp_sensor.html        |   401 +
 .../contrib/sensors/gcp_transfer_sensor.html       |   381 +
 .../airflow/contrib/sensors/gcs_sensor.html        |   615 ++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   375 +
 .../contrib/sensors/imap_attachment_sensor.html    |   377 +
 .../airflow/contrib/sensors/jira_sensor.html       |   452 +
 .../airflow/contrib/sensors/mongo_sensor.html      |   359 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   406 +
 .../airflow/contrib/sensors/python_sensor.html     |   381 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   413 +
 .../airflow/contrib/sensors/redis_key_sensor.html  |   340 +
 .../contrib/sensors/redis_pub_sub_sensor.html      |   374 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   375 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   362 +
 .../contrib/sensors/sagemaker_training_sensor.html |   403 +
 .../sensors/sagemaker_transform_sensor.html        |   363 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   363 +
 .../airflow/contrib/sensors/sftp_sensor.html       |   353 +
 .../airflow/contrib/sensors/wasb_sensor.html       |   396 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   406 +
 .../example_dags/example_bash_operator.html        |   374 +
 .../example_dags/example_python_operator.html      |   375 +
 1.10.4/_modules/airflow/exceptions.html            |   425 +
 1.10.4/_modules/airflow/executors.html             |   400 +
 .../_modules/airflow/executors/base_executor.html  |   515 +
 .../airflow/executors/celery_executor.html         |   597 ++
 .../_modules/airflow/executors/dask_executor.html  |   400 +
 .../_modules/airflow/executors/local_executor.html |   537 +
 .../airflow/executors/sequential_executor.html     |   360 +
 1.10.4/_modules/airflow/hooks.html                 |   397 +
 1.10.4/_modules/airflow/hooks/S3_hook.html         |   846 ++
 1.10.4/_modules/airflow/hooks/base_hook.html       |   405 +
 1.10.4/_modules/airflow/hooks/dbapi_hook.html      |   608 ++
 1.10.4/_modules/airflow/hooks/docker_hook.html     |   391 +
 1.10.4/_modules/airflow/hooks/druid_hook.html      |   468 +
 1.10.4/_modules/airflow/hooks/hdfs_hook.html       |   401 +
 1.10.4/_modules/airflow/hooks/hive_hooks.html      |  1288 +++
 1.10.4/_modules/airflow/hooks/http_hook.html       |   516 +
 1.10.4/_modules/airflow/hooks/jdbc_hook.html       |   364 +
 1.10.4/_modules/airflow/hooks/mssql_hook.html      |   358 +
 1.10.4/_modules/airflow/hooks/mysql_hook.html      |   477 +
 1.10.4/_modules/airflow/hooks/oracle_hook.html     |   534 +
 1.10.4/_modules/airflow/hooks/pig_hook.html        |   403 +
 1.10.4/_modules/airflow/hooks/postgres_hook.html   |   464 +
 1.10.4/_modules/airflow/hooks/presto_hook.html     |   443 +
 1.10.4/_modules/airflow/hooks/samba_hook.html      |   355 +
 1.10.4/_modules/airflow/hooks/slack_hook.html      |   365 +
 1.10.4/_modules/airflow/hooks/sqlite_hook.html     |   344 +
 1.10.4/_modules/airflow/hooks/webhdfs_hook.html    |   435 +
 1.10.4/_modules/airflow/hooks/zendesk_hook.html    |   415 +
 1.10.4/_modules/airflow/macros.html                |   411 +
 1.10.4/_modules/airflow/macros/hive.html           |   421 +
 1.10.4/_modules/airflow/models.html                |   342 +
 1.10.4/_modules/airflow/models/base.html           |   338 +
 1.10.4/_modules/airflow/models/baseoperator.html   |  1320 +++
 1.10.4/_modules/airflow/models/chart.html          |   353 +
 1.10.4/_modules/airflow/models/connection.html     |   602 ++
 1.10.4/_modules/airflow/models/crypto.html         |   400 +
 1.10.4/_modules/airflow/models/dag.html            |  1874 ++++
 1.10.4/_modules/airflow/models/dagbag.html         |   744 ++
 1.10.4/_modules/airflow/models/dagpickle.html      |   355 +
 1.10.4/_modules/airflow/models/dagrun.html         |   749 ++
 1.10.4/_modules/airflow/models/errors.html         |   334 +
 1.10.4/_modules/airflow/models/knownevent.html     |   357 +
 1.10.4/_modules/airflow/models/kubernetes.html     |   382 +
 1.10.4/_modules/airflow/models/log.html            |   371 +
 1.10.4/_modules/airflow/models/pool.html           |   411 +
 1.10.4/_modules/airflow/models/skipmixin.html      |   405 +
 1.10.4/_modules/airflow/models/slamiss.html        |   351 +
 1.10.4/_modules/airflow/models/taskfail.html       |   358 +
 1.10.4/_modules/airflow/models/taskinstance.html   |  1711 ++++
 1.10.4/_modules/airflow/models/taskreschedule.html |   388 +
 1.10.4/_modules/airflow/models/user.html           |   343 +
 1.10.4/_modules/airflow/models/variable.html       |   452 +
 1.10.4/_modules/airflow/models/xcom.html           |   537 +
 1.10.4/_modules/airflow/operators.html             |   424 +
 .../_modules/airflow/operators/bash_operator.html  |   446 +
 .../airflow/operators/branch_operator.html         |   355 +
 .../_modules/airflow/operators/check_operator.html |   637 ++
 .../airflow/operators/dagrun_operator.html         |   400 +
 .../airflow/operators/docker_operator.html         |   580 ++
 .../airflow/operators/druid_check_operator.html    |   394 +
 .../_modules/airflow/operators/dummy_operator.html |   340 +
 .../_modules/airflow/operators/email_operator.html |   381 +
 .../airflow/operators/generic_transfer.html        |   384 +
 .../_modules/airflow/operators/hive_operator.html  |   445 +
 .../airflow/operators/hive_stats_operator.html     |   487 +
 .../_modules/airflow/operators/hive_to_druid.html  |   549 +
 .../_modules/airflow/operators/hive_to_mysql.html  |   417 +
 .../airflow/operators/hive_to_samba_operator.html  |   370 +
 .../_modules/airflow/operators/http_operator.html  |   402 +
 .../_modules/airflow/operators/jdbc_operator.html  |   366 +
 .../airflow/operators/latest_only_operator.html    |   368 +
 .../_modules/airflow/operators/mssql_operator.html |   366 +
 .../_modules/airflow/operators/mssql_to_hive.html  |   442 +
 .../_modules/airflow/operators/mysql_operator.html |   370 +
 .../_modules/airflow/operators/mysql_to_hive.html  |   447 +
 .../airflow/operators/oracle_operator.html         |   366 +
 .../_modules/airflow/operators/pig_operator.html   |   380 +
 .../airflow/operators/postgres_operator.html       |   370 +
 .../airflow/operators/presto_check_operator.html   |   430 +
 .../airflow/operators/presto_to_mysql.html         |   383 +
 .../airflow/operators/python_operator.html         |   719 ++
 .../airflow/operators/redshift_to_s3_operator.html |   453 +
 .../operators/s3_file_transform_operator.html      |   471 +
 .../airflow/operators/s3_to_hive_operator.html     |   600 ++
 .../airflow/operators/s3_to_redshift_operator.html |   412 +
 1.10.4/_modules/airflow/operators/sensors.html     |   397 +
 .../_modules/airflow/operators/slack_operator.html |   441 +
 .../airflow/operators/sqlite_operator.html         |   357 +
 .../airflow/operators/subdag_operator.html         |   405 +
 1.10.4/_modules/airflow/sensors.html               |   366 +
 .../airflow/sensors/base_sensor_operator.html      |   444 +
 .../airflow/sensors/external_task_sensor.html      |   457 +
 1.10.4/_modules/airflow/sensors/hdfs_sensor.html   |   426 +
 .../airflow/sensors/hive_partition_sensor.html     |   378 +
 1.10.4/_modules/airflow/sensors/http_sensor.html   |   395 +
 .../sensors/metastore_partition_sensor.html        |   386 +
 .../sensors/named_hive_partition_sensor.html       |   405 +
 1.10.4/_modules/airflow/sensors/s3_key_sensor.html |   396 +
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   385 +
 1.10.4/_modules/airflow/sensors/sql_sensor.html    |   405 +
 .../airflow/sensors/time_delta_sensor.html         |   349 +
 1.10.4/_modules/airflow/sensors/time_sensor.html   |   343 +
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   347 +
 .../_modules/airflow/utils/log/logging_mixin.html  |   479 +
 1.10.4/_modules/index.html                         |   633 ++
 .../_api/airflow/contrib/executors/index.rst.txt   |    16 +
 .../executors/kubernetes_executor/index.rst.txt    |   255 +
 .../contrib/executors/mesos_executor/index.rst.txt |   116 +
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |   120 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    35 +
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    34 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |   103 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |    72 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    39 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    35 +
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |    62 +
 .../azure_container_instance_hook/index.rst.txt    |   128 +
 .../azure_container_registry_hook/index.rst.txt    |    25 +
 .../azure_container_volume_hook/index.rst.txt      |    30 +
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   124 +
 .../hooks/azure_data_lake_hook/index.rst.txt       |   103 +
 .../hooks/azure_fileshare_hook/index.rst.txt       |   196 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |   924 ++
 .../contrib/hooks/cassandra_hook/index.rst.txt     |   107 +
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    34 +
 .../contrib/hooks/databricks_hook/index.rst.txt    |   195 +
 .../contrib/hooks/datadog_hook/index.rst.txt       |    94 +
 .../contrib/hooks/datastore_hook/index.rst.txt     |   217 +
 .../contrib/hooks/dingding_hook/index.rst.txt      |    67 +
 .../hooks/discord_webhook_hook/index.rst.txt       |    70 +
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    32 +
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    34 +
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   218 +
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   139 +
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |   178 +
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |    81 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   237 +
 .../contrib/hooks/gcp_container_hook/index.rst.txt |   157 +
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   111 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   169 +
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |   919 ++
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |   137 +
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |    71 +
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |   132 +
 .../hooks/gcp_natural_language_hook/index.rst.txt  |   175 +
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |   174 +
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |   235 +
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |    58 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   535 +
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |    64 +
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   468 +
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |    77 +
 .../gcp_video_intelligence_hook/index.rst.txt      |    72 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   232 +
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   318 +
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |    36 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   235 +
 .../_api/airflow/contrib/hooks/index.rst.txt       |   101 +
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    21 +
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    24 +
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |   218 +
 .../contrib/hooks/openfaas_hook/index.rst.txt      |    72 +
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    54 +
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |    84 +
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |    48 +
 .../contrib/hooks/qubole_hook/index.rst.txt        |    98 +
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    28 +
 .../contrib/hooks/redshift_hook/index.rst.txt      |    79 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   454 +
 .../contrib/hooks/salesforce_hook/index.rst.txt    |   138 +
 .../contrib/hooks/segment_hook/index.rst.txt       |    36 +
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |   124 +
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |    71 +
 .../contrib/hooks/snowflake_hook/index.rst.txt     |    70 +
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |   119 +
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    20 +
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |    76 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |   197 +
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |   154 +
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |    78 +
 .../contrib/hooks/vertica_hook/index.rst.txt       |    38 +
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |   150 +
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |    77 +
 .../operators/adls_list_operator/index.rst.txt     |    51 +
 .../contrib/operators/adls_to_gcs/index.rst.txt    |    87 +
 .../operators/aws_athena_operator/index.rst.txt    |    66 +
 .../aws_sqs_publish_operator/index.rst.txt         |    51 +
 .../operators/awsbatch_operator/index.rst.txt      |    93 +
 .../index.rst.txt                                  |   140 +
 .../operators/azure_cosmos_operator/index.rst.txt  |    41 +
 .../bigquery_check_operator/index.rst.txt          |   127 +
 .../operators/bigquery_get_data/index.rst.txt      |    72 +
 .../operators/bigquery_operator/index.rst.txt      |   426 +
 .../bigquery_table_delete_operator/index.rst.txt   |    45 +
 .../operators/bigquery_to_bigquery/index.rst.txt   |    63 +
 .../operators/bigquery_to_gcs/index.rst.txt        |    68 +
 .../operators/cassandra_to_gcs/index.rst.txt       |   183 +
 .../operators/databricks_operator/index.rst.txt    |   356 +
 .../operators/dataflow_operator/index.rst.txt      |   306 +
 .../operators/dataproc_operator/index.rst.txt      |   739 ++
 .../datastore_export_operator/index.rst.txt        |    50 +
 .../datastore_import_operator/index.rst.txt        |    47 +
 .../operators/dingding_operator/index.rst.txt      |    48 +
 .../discord_webhook_operator/index.rst.txt         |    53 +
 .../contrib/operators/druid_operator/index.rst.txt |    37 +
 .../contrib/operators/ecs_operator/index.rst.txt   |    87 +
 .../operators/emr_add_steps_operator/index.rst.txt |    43 +
 .../emr_create_job_flow_operator/index.rst.txt     |    46 +
 .../emr_terminate_job_flow_operator/index.rst.txt  |    41 +
 .../contrib/operators/file_to_gcs/index.rst.txt    |    44 +
 .../contrib/operators/file_to_wasb/index.rst.txt   |    40 +
 .../operators/gcp_bigtable_operator/index.rst.txt  |   288 +
 .../gcp_cloud_build_operator/index.rst.txt         |   123 +
 .../operators/gcp_compute_operator/index.rst.txt   |   275 +
 .../operators/gcp_container_operator/index.rst.txt |   206 +
 .../operators/gcp_dlp_operator/index.rst.txt       |  1241 +++
 .../operators/gcp_function_operator/index.rst.txt  |   218 +
 .../gcp_natural_language_operator/index.rst.txt    |   155 +
 .../operators/gcp_spanner_operator/index.rst.txt   |   261 +
 .../gcp_speech_to_text_operator/index.rst.txt      |    55 +
 .../operators/gcp_sql_operator/index.rst.txt       |   504 +
 .../gcp_text_to_speech_operator/index.rst.txt      |    62 +
 .../operators/gcp_transfer_operator/index.rst.txt  |   555 +
 .../operators/gcp_translate_operator/index.rst.txt |    68 +
 .../gcp_translate_speech_operator/index.rst.txt    |    88 +
 .../gcp_video_intelligence_operator/index.rst.txt  |   144 +
 .../operators/gcp_vision_operator/index.rst.txt    |   753 ++
 .../operators/gcs_acl_operator/index.rst.txt       |    90 +
 .../operators/gcs_delete_operator/index.rst.txt    |    43 +
 .../operators/gcs_download_operator/index.rst.txt  |    53 +
 .../operators/gcs_list_operator/index.rst.txt      |    63 +
 .../contrib/operators/gcs_operator/index.rst.txt   |    87 +
 .../contrib/operators/gcs_to_bq/index.rst.txt      |   139 +
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |   124 +
 .../contrib/operators/gcs_to_s3/index.rst.txt      |    71 +
 .../operators/hipchat_operator/index.rst.txt       |    80 +
 .../operators/hive_to_dynamodb/index.rst.txt       |    59 +
 .../imap_attachment_to_s3_operator/index.rst.txt   |    46 +
 .../_api/airflow/contrib/operators/index.rst.txt   |   126 +
 .../jenkins_job_trigger_operator/index.rst.txt     |   101 +
 .../contrib/operators/jira_operator/index.rst.txt  |    39 +
 .../kubernetes_pod_operator/index.rst.txt          |   106 +
 .../operators/mlengine_operator/index.rst.txt      |   316 +
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    57 +
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |    73 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |    71 +
 .../opsgenie_alert_operator/index.rst.txt          |    77 +
 .../index.rst.txt                                  |    59 +
 .../oracle_to_oracle_transfer/index.rst.txt        |    51 +
 .../postgres_to_gcs_operator/index.rst.txt         |    60 +
 .../operators/pubsub_operator/index.rst.txt        |   259 +
 .../operators/qubole_check_operator/index.rst.txt  |   183 +
 .../operators/qubole_operator/index.rst.txt        |   214 +
 .../operators/redis_publish_operator/index.rst.txt |    38 +
 .../s3_copy_object_operator/index.rst.txt          |    64 +
 .../s3_delete_objects_operator/index.rst.txt       |    56 +
 .../operators/s3_list_operator/index.rst.txt       |    69 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |    88 +
 .../operators/s3_to_sftp_operator/index.rst.txt    |    50 +
 .../sagemaker_base_operator/index.rst.txt          |    66 +
 .../index.rst.txt                                  |    35 +
 .../sagemaker_endpoint_operator/index.rst.txt      |    72 +
 .../sagemaker_model_operator/index.rst.txt         |    35 +
 .../sagemaker_training_operator/index.rst.txt      |    52 +
 .../sagemaker_transform_operator/index.rst.txt     |    65 +
 .../sagemaker_tuning_operator/index.rst.txt        |    50 +
 .../segment_track_event_operator/index.rst.txt     |    43 +
 .../contrib/operators/sftp_operator/index.rst.txt  |    89 +
 .../operators/sftp_to_s3_operator/index.rst.txt    |    51 +
 .../operators/slack_webhook_operator/index.rst.txt |    55 +
 .../operators/snowflake_operator/index.rst.txt     |    59 +
 .../operators/sns_publish_operator/index.rst.txt   |    38 +
 .../operators/spark_jdbc_operator/index.rst.txt    |   113 +
 .../operators/spark_sql_operator/index.rst.txt     |    65 +
 .../operators/spark_submit_operator/index.rst.txt  |    95 +
 .../contrib/operators/sql_to_gcs/index.rst.txt     |   157 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    45 +
 .../contrib/operators/ssh_operator/index.rst.txt   |    56 +
 .../operators/vertica_operator/index.rst.txt       |    43 +
 .../operators/vertica_to_hive/index.rst.txt        |    71 +
 .../operators/vertica_to_mysql/index.rst.txt       |    60 +
 .../wasb_delete_blob_operator/index.rst.txt        |    40 +
 .../contrib/operators/winrm_operator/index.rst.txt |    39 +
 .../sensors/aws_athena_sensor/index.rst.txt        |    68 +
 .../index.rst.txt                                  |    62 +
 .../aws_redshift_cluster_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |    43 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    33 +
 .../contrib/sensors/bash_sensor/index.rst.txt      |    42 +
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    48 +
 .../sensors/cassandra_record_sensor/index.rst.txt  |    35 +
 .../sensors/cassandra_table_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    28 +
 .../sensors/emr_job_flow_sensor/index.rst.txt      |    55 +
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |    57 +
 .../contrib/sensors/file_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/ftp_sensor/index.rst.txt       |    65 +
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   194 +
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    37 +
 .../sensors/imap_attachment_sensor/index.rst.txt   |    47 +
 .../_api/airflow/contrib/sensors/index.rst.txt     |    48 +
 .../contrib/sensors/jira_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    32 +
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    50 +
 .../contrib/sensors/python_sensor/index.rst.txt    |    51 +
 .../contrib/sensors/qubole_sensor/index.rst.txt    |    67 +
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    31 +
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    39 +
 .../sensors/sagemaker_base_sensor/index.rst.txt    |    54 +
 .../sagemaker_endpoint_sensor/index.rst.txt        |    55 +
 .../sagemaker_training_sensor/index.rst.txt        |    62 +
 .../sagemaker_transform_sensor/index.rst.txt       |    56 +
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |    56 +
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/wasb_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    66 +
 .../airflow/executors/base_executor/index.rst.txt  |   120 +
 .../executors/celery_executor/index.rst.txt        |   115 +
 .../airflow/executors/dask_executor/index.rst.txt  |    46 +
 .../_sources/_api/airflow/executors/index.rst.txt  |   337 +
 .../airflow/executors/local_executor/index.rst.txt |   171 +
 .../executors/sequential_executor/index.rst.txt    |    36 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |   333 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    70 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   198 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    30 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |    92 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    40 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   469 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |   106 +
 1.10.4/_sources/_api/airflow/hooks/index.rst.txt   |    51 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    50 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |    48 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |   104 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |    99 +
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |    37 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |   106 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |    98 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    38 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    85 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    47 +
 .../_api/airflow/models/base/index.rst.txt         |    29 +
 .../_api/airflow/models/baseoperator/index.rst.txt |   589 ++
 .../_api/airflow/models/chart/index.rst.txt        |   104 +
 .../_api/airflow/models/connection/index.rst.txt   |   147 +
 .../_api/airflow/models/crypto/index.rst.txt       |    56 +
 .../_sources/_api/airflow/models/dag/index.rst.txt |   796 ++
 .../_api/airflow/models/dagbag/index.rst.txt       |   118 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    48 +
 .../_api/airflow/models/dagrun/index.rst.txt       |   230 +
 .../_api/airflow/models/errors/index.rst.txt       |    39 +
 1.10.4/_sources/_api/airflow/models/index.rst.txt  |  3261 ++++++
 .../_api/airflow/models/knownevent/index.rst.txt   |    94 +
 .../_api/airflow/models/kubernetes/index.rst.txt   |    74 +
 .../_sources/_api/airflow/models/log/index.rst.txt |    66 +
 .../_api/airflow/models/pool/index.rst.txt         |    92 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    35 +
 .../_api/airflow/models/slamiss/index.rst.txt      |    68 +
 .../_api/airflow/models/taskfail/index.rst.txt     |    61 +
 .../_api/airflow/models/taskinstance/index.rst.txt |   549 +
 .../airflow/models/taskreschedule/index.rst.txt    |    82 +
 .../_api/airflow/models/user/index.rst.txt         |    54 +
 .../_api/airflow/models/variable/index.rst.txt     |   101 +
 .../_api/airflow/models/xcom/index.rst.txt         |   122 +
 .../airflow/operators/bash_operator/index.rst.txt  |    62 +
 .../operators/branch_operator/index.rst.txt        |    47 +
 .../airflow/operators/check_operator/index.rst.txt |   205 +
 .../operators/dagrun_operator/index.rst.txt        |    51 +
 .../operators/docker_operator/index.rst.txt        |   135 +
 .../operators/druid_check_operator/index.rst.txt   |    66 +
 .../airflow/operators/dummy_operator/index.rst.txt |    27 +
 .../airflow/operators/email_operator/index.rst.txt |    55 +
 .../operators/generic_transfer/index.rst.txt       |    53 +
 .../airflow/operators/hive_operator/index.rst.txt  |    84 +
 .../operators/hive_stats_operator/index.rst.txt    |    62 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |    81 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    62 +
 .../operators/hive_to_samba_operator/index.rst.txt |    39 +
 .../airflow/operators/http_operator/index.rst.txt  |    62 +
 .../_sources/_api/airflow/operators/index.rst.txt  |   617 ++
 .../airflow/operators/jdbc_operator/index.rst.txt  |    50 +
 .../operators/latest_only_operator/index.rst.txt   |    30 +
 .../airflow/operators/mssql_operator/index.rst.txt |    49 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    74 +
 .../airflow/operators/mysql_operator/index.rst.txt |    51 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    73 +
 .../operators/oracle_operator/index.rst.txt        |    49 +
 .../airflow/operators/pig_operator/index.rst.txt   |    64 +
 .../operators/postgres_operator/index.rst.txt      |    50 +
 .../operators/presto_check_operator/index.rst.txt  |    90 +
 .../operators/presto_to_mysql/index.rst.txt        |    53 +
 .../operators/python_operator/index.rst.txt        |   226 +
 .../redshift_to_s3_operator/index.rst.txt          |    62 +
 .../s3_file_transform_operator/index.rst.txt       |    77 +
 .../operators/s3_to_hive_operator/index.rst.txt    |   112 +
 .../s3_to_redshift_operator/index.rst.txt          |    62 +
 .../_api/airflow/operators/sensors/index.rst.txt   |    69 +
 .../airflow/operators/slack_operator/index.rst.txt |    84 +
 .../operators/sqlite_operator/index.rst.txt        |    44 +
 .../operators/subdag_operator/index.rst.txt        |    40 +
 .../sensors/base_sensor_operator/index.rst.txt     |    85 +
 .../sensors/external_task_sensor/index.rst.txt     |    56 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |    58 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    47 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    45 +
 1.10.4/_sources/_api/airflow/sensors/index.rst.txt |    44 +
 .../metastore_partition_sensor/index.rst.txt       |    47 +
 .../named_hive_partition_sensor/index.rst.txt      |    53 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    50 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    52 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    58 +
 .../sensors/time_delta_sensor/index.rst.txt        |    27 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    24 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    26 +
 1.10.4/_sources/_api/index.rst.txt                 |   129 +
 1.10.4/_sources/api.rst.txt                        |   143 +
 1.10.4/_sources/changelog.rst.txt                  |    21 +
 1.10.4/_sources/cli.rst.txt                        |    32 +
 1.10.4/_sources/concepts.rst.txt                   |  1144 +++
 1.10.4/_sources/faq.rst.txt                        |   212 +
 1.10.4/_sources/howto/check-health.rst.txt         |    49 +
 1.10.4/_sources/howto/connection/aws.rst.txt       |    64 +
 1.10.4/_sources/howto/connection/gcp.rst.txt       |   119 +
 1.10.4/_sources/howto/connection/gcp_sql.rst.txt   |    76 +
 1.10.4/_sources/howto/connection/grpc.rst.txt      |    73 +
 1.10.4/_sources/howto/connection/index.rst.txt     |    92 +
 1.10.4/_sources/howto/connection/mysql.rst.txt     |    94 +
 1.10.4/_sources/howto/connection/oracle.rst.txt    |    85 +
 1.10.4/_sources/howto/connection/postgres.rst.txt  |    79 +
 1.10.4/_sources/howto/connection/ssh.rst.txt       |    65 +
 1.10.4/_sources/howto/define_extra_link.rst.txt    |    56 +
 1.10.4/_sources/howto/executor/use-celery.rst.txt  |    72 +
 1.10.4/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.4/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 1.10.4/_sources/howto/index.rst.txt                |    44 +
 1.10.4/_sources/howto/initialize-database.rst.txt  |    48 +
 1.10.4/_sources/howto/operator/bash.rst.txt        |    62 +
 1.10.4/_sources/howto/operator/dingding.rst.txt    |    91 +
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |   170 +
 .../howto/operator/gcp/cloud_build.rst.txt         |   115 +
 1.10.4/_sources/howto/operator/gcp/compute.rst.txt |   325 +
 .../_sources/howto/operator/gcp/function.rst.txt   |   202 +
 1.10.4/_sources/howto/operator/gcp/gcs.rst.txt     |   127 +
 1.10.4/_sources/howto/operator/gcp/index.rst.txt   |    26 +
 .../howto/operator/gcp/natural_language.rst.txt    |   180 +
 1.10.4/_sources/howto/operator/gcp/spanner.rst.txt |   276 +
 1.10.4/_sources/howto/operator/gcp/speech.rst.txt  |   125 +
 1.10.4/_sources/howto/operator/gcp/sql.rst.txt     |   644 ++
 .../_sources/howto/operator/gcp/transfer.rst.txt   |   420 +
 .../howto/operator/gcp/translate-speech.rst.txt    |    72 +
 .../_sources/howto/operator/gcp/translate.rst.txt  |    68 +
 1.10.4/_sources/howto/operator/gcp/video.rst.txt   |   199 +
 1.10.4/_sources/howto/operator/gcp/vision.rst.txt  |  1182 +++
 1.10.4/_sources/howto/operator/index.rst.txt       |    34 +
 1.10.4/_sources/howto/operator/python.rst.txt      |    50 +
 1.10.4/_sources/howto/run-behind-proxy.rst.txt     |    82 +
 1.10.4/_sources/howto/run-with-systemd.rst.txt     |    38 +
 1.10.4/_sources/howto/run-with-upstart.rst.txt     |    42 +
 1.10.4/_sources/howto/secure-connections.rst.txt   |    61 +
 1.10.4/_sources/howto/set-config.rst.txt           |    66 +
 1.10.4/_sources/howto/use-test-config.rst.txt      |    32 +
 1.10.4/_sources/howto/write-logs.rst.txt           |   184 +
 1.10.4/_sources/index.rst.txt                      |    97 +
 1.10.4/_sources/installation.rst.txt               |   136 +
 1.10.4/_sources/integration.rst.txt                |   902 ++
 1.10.4/_sources/kubernetes.rst.txt                 |   167 +
 1.10.4/_sources/license.rst.txt                    |   199 +
 1.10.4/_sources/lineage.rst.txt                    |   111 +
 1.10.4/_sources/macros.rst.txt                     |   121 +
 1.10.4/_sources/metrics.rst.txt                    |    90 +
 1.10.4/_sources/plugins.rst.txt                    |   300 +
 1.10.4/_sources/profiling.rst.txt                  |    58 +
 1.10.4/_sources/project.rst.txt                    |    88 +
 1.10.4/_sources/scheduler.rst.txt                  |   186 +
 1.10.4/_sources/security.rst.txt                   |   592 ++
 1.10.4/_sources/start.rst.txt                      |    71 +
 1.10.4/_sources/timezone.rst.txt                   |   163 +
 1.10.4/_sources/tutorial.rst.txt                   |   472 +
 1.10.4/_sources/ui.rst.txt                         |   119 +
 1.10.4/_static/basic.css                           |   763 ++
 1.10.4/_static/css/badge_only.css                  |     1 +
 1.10.4/_static/css/theme.css                       |     6 +
 1.10.4/_static/doctools.js                         |   314 +
 1.10.4/_static/documentation_options.js            |    10 +
 1.10.4/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.4/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.4/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.4/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.4/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.4/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.4/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.4/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.4/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.4/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.4/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.4/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.4/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.4/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.4/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.4/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.4/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.4/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.4/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.4/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.4/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.4/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.4/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.4/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.4/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.4/_static/fonts/fontawesome-webfont.svg       |  2671 +++++
 1.10.4/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.4/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.4/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.4/_static/jquery-3.2.1.js                     | 10253 +++++++++++++++++++
 1.10.4/_static/jquery.js                           |     4 +
 1.10.4/_static/js/modernizr.min.js                 |     4 +
 1.10.4/_static/js/theme.js                         |     3 +
 1.10.4/_static/language_data.js                    |   297 +
 1.10.4/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.4/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.4/_static/pygments.css                        |    69 +
 1.10.4/_static/searchtools.js                      |   506 +
 1.10.4/_static/underscore-1.3.1.js                 |   999 ++
 1.10.4/_static/underscore.js                       |    31 +
 1.10.4/api.html                                    |   479 +
 1.10.4/changelog.html                              |  3353 ++++++
 1.10.4/cli.html                                    |  1600 +++
 1.10.4/concepts.html                               |  1318 +++
 1.10.4/faq.html                                    |   496 +
 1.10.4/genindex.html                               |  9590 +++++++++++++++++
 1.10.4/howto/check-health.html                     |   366 +
 1.10.4/howto/connection/aws.html                   |   391 +
 1.10.4/howto/connection/gcp.html                   |   439 +
 1.10.4/howto/connection/gcp_sql.html               |   401 +
 1.10.4/howto/connection/grpc.html                  |   403 +
 1.10.4/howto/connection/index.html                 |   417 +
 1.10.4/howto/connection/mysql.html                 |   422 +
 1.10.4/howto/connection/oracle.html                |   411 +
 1.10.4/howto/connection/postgres.html              |   407 +
 1.10.4/howto/connection/ssh.html                   |   394 +
 1.10.4/howto/define_extra_link.html                |   367 +
 1.10.4/howto/executor/use-celery.html              |   379 +
 1.10.4/howto/executor/use-dask.html                |   360 +
 1.10.4/howto/executor/use-mesos.html               |   402 +
 1.10.4/howto/index.html                            |   381 +
 1.10.4/howto/initialize-database.html              |   365 +
 1.10.4/howto/operator/bash.html                    |   395 +
 1.10.4/howto/operator/dingding.html                |   468 +
 1.10.4/howto/operator/gcp/bigtable.html            |   579 ++
 1.10.4/howto/operator/gcp/cloud_build.html         |   469 +
 1.10.4/howto/operator/gcp/compute.html             |   717 ++
 1.10.4/howto/operator/gcp/function.html            |   571 ++
 1.10.4/howto/operator/gcp/gcs.html                 |   482 +
 1.10.4/howto/operator/gcp/index.html               |   380 +
 1.10.4/howto/operator/gcp/natural_language.html    |   547 +
 1.10.4/howto/operator/gcp/spanner.html             |   693 ++
 1.10.4/howto/operator/gcp/speech.html              |   477 +
 1.10.4/howto/operator/gcp/sql.html                 |  1341 +++
 1.10.4/howto/operator/gcp/transfer.html            |   872 ++
 1.10.4/howto/operator/gcp/translate-speech.html    |   421 +
 1.10.4/howto/operator/gcp/translate.html           |   413 +
 1.10.4/howto/operator/gcp/video.html               |   555 +
 1.10.4/howto/operator/gcp/vision.html              |  1525 +++
 1.10.4/howto/operator/index.html                   |   389 +
 1.10.4/howto/operator/python.html                  |   400 +
 1.10.4/howto/run-behind-proxy.html                 |   400 +
 1.10.4/howto/run-with-systemd.html                 |   350 +
 1.10.4/howto/run-with-upstart.html                 |   360 +
 1.10.4/howto/secure-connections.html               |   378 +
 1.10.4/howto/set-config.html                       |   375 +
 1.10.4/howto/use-test-config.html                  |   345 +
 1.10.4/howto/write-logs.html                       |   486 +
 1.10.4/http-routingtable.html                      |   377 +
 1.10.4/index.html                                  |   989 ++
 1.10.4/installation.html                           |   501 +
 1.10.4/integration.html                            |  1067 ++
 1.10.4/kubernetes.html                             |   460 +
 1.10.4/license.html                                |   493 +
 1.10.4/lineage.html                                |   402 +
 1.10.4/macros.html                                 |   639 ++
 1.10.4/metrics.html                                |   462 +
 1.10.4/objects.inv                                 |   Bin 0 -> 39815 bytes
 1.10.4/plugins.html                                |   577 ++
 1.10.4/profiling.html                              |   354 +
 1.10.4/project.html                                |   383 +
 1.10.4/py-modindex.html                            |  1889 ++++
 1.10.4/scheduler.html                              |   495 +
 1.10.4/search.html                                 |   320 +
 1.10.4/searchindex.js                              |     1 +
 1.10.4/security.html                               |   866 ++
 1.10.4/start.html                                  |   365 +
 1.10.4/timezone.html                               |   447 +
 1.10.4/tutorial.html                               |   748 ++
 1.10.4/ui.html                                     |   400 +
 _api/airflow/contrib/executors/index.html          |     2 +-
 .../executors/kubernetes_executor/index.html       |   102 +-
 .../contrib/executors/mesos_executor/index.html    |    44 +-
 .../contrib/hooks/aws_athena_hook/index.html       |    33 +-
 .../contrib/hooks/aws_dynamodb_hook/index.html     |    10 +-
 .../contrib/hooks/aws_firehose_hook/index.html     |    10 +-
 .../contrib/hooks/aws_glue_catalog_hook/index.html |    16 +-
 _api/airflow/contrib/hooks/aws_hook/index.html     |    28 +-
 .../contrib/hooks/aws_lambda_hook/index.html       |    10 +-
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |    14 +-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |   403 +
 .../hooks/azure_container_instance_hook/index.html |    49 +-
 .../hooks/azure_container_registry_hook/index.html |     8 +-
 .../hooks/azure_container_volume_hook/index.html   |    10 +-
 .../contrib/hooks/azure_cosmos_hook/index.html     |    40 +-
 .../contrib/hooks/azure_data_lake_hook/index.html  |    14 +-
 .../contrib/hooks/azure_fileshare_hook/index.html  |    26 +-
 .../airflow/contrib/hooks/bigquery_hook/index.html |   154 +-
 .../contrib/hooks/cassandra_hook/index.html        |    20 +-
 .../airflow/contrib/hooks/cloudant_hook/index.html |    10 +-
 .../contrib/hooks/databricks_hook/index.html       |    66 +-
 _api/airflow/contrib/hooks/datadog_hook/index.html |    14 +-
 .../contrib/hooks/datastore_hook/index.html        |   195 +-
 .../airflow/contrib/hooks/dingding_hook/index.html |    14 +-
 .../contrib/hooks/discord_webhook_hook/index.html  |    12 +-
 _api/airflow/contrib/hooks/emr_hook/index.html     |    10 +-
 _api/airflow/contrib/hooks/fs_hook/index.html      |    10 +-
 _api/airflow/contrib/hooks/ftp_hook/index.html     |    57 +-
 .../contrib/hooks/gcp_api_base_hook/index.html     |    48 +-
 .../contrib/hooks/gcp_bigtable_hook/index.html     |    38 +-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   420 +
 .../contrib/hooks/gcp_compute_hook/index.html      |    60 +-
 .../contrib/hooks/gcp_container_hook/index.html    |    28 +-
 .../contrib/hooks/gcp_dataflow_hook/index.html     |    56 +-
 .../contrib/hooks/gcp_dataproc_hook/index.html     |    81 +-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |  1218 +++
 .../contrib/hooks/gcp_function_hook/index.html     |    37 +-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |    26 +-
 .../contrib/hooks/gcp_mlengine_hook/index.html     |    28 +-
 .../hooks/gcp_natural_language_hook/index.html     |    22 +-
 .../contrib/hooks/gcp_pubsub_hook/index.html       |    30 +-
 .../contrib/hooks/gcp_spanner_hook/index.html      |    38 +-
 .../hooks/gcp_speech_to_text_hook/index.html       |   393 +
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   145 +-
 .../hooks/gcp_text_to_speech_hook/index.html       |   402 +
 .../contrib/hooks/gcp_transfer_hook/index.html     |   147 +-
 .../contrib/hooks/gcp_translate_hook/index.html    |    16 +-
 .../hooks/gcp_video_intelligence_hook/index.html   |   400 +
 .../contrib/hooks/gcp_vision_hook/index.html       |    98 +-
 _api/airflow/contrib/hooks/gcs_hook/index.html     |    74 +-
 _api/airflow/contrib/hooks/grpc_hook/index.html    |   363 +
 _api/airflow/contrib/hooks/imap_hook/index.html    |    58 +-
 _api/airflow/contrib/hooks/index.html              |    13 +-
 _api/airflow/contrib/hooks/jenkins_hook/index.html |     8 +-
 _api/airflow/contrib/hooks/jira_hook/index.html    |     8 +-
 _api/airflow/contrib/hooks/mongo_hook/index.html   |    50 +-
 .../airflow/contrib/hooks/openfaas_hook/index.html |    26 +-
 .../contrib/hooks/opsgenie_alert_hook/index.html   |    12 +-
 _api/airflow/contrib/hooks/pinot_hook/index.html   |    26 +-
 .../contrib/hooks/qubole_check_hook/index.html     |    26 +-
 _api/airflow/contrib/hooks/qubole_hook/index.html  |    67 +-
 _api/airflow/contrib/hooks/redis_hook/index.html   |     8 +-
 .../airflow/contrib/hooks/redshift_hook/index.html |    18 +-
 .../contrib/hooks/sagemaker_hook/index.html        |   103 +-
 .../contrib/hooks/salesforce_hook/index.html       |    26 +-
 _api/airflow/contrib/hooks/segment_hook/index.html |    10 +-
 _api/airflow/contrib/hooks/sftp_hook/index.html    |    26 +-
 .../contrib/hooks/slack_webhook_hook/index.html    |    15 +-
 .../contrib/hooks/snowflake_hook/index.html        |    22 +-
 .../contrib/hooks/spark_jdbc_hook/index.html       |    14 +-
 .../contrib/hooks/spark_jdbc_script/index.html     |    10 +-
 .../contrib/hooks/spark_sql_hook/index.html        |    14 +-
 .../contrib/hooks/spark_submit_hook/index.html     |    30 +-
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |    28 +-
 _api/airflow/contrib/hooks/ssh_hook/index.html     |    16 +-
 _api/airflow/contrib/hooks/vertica_hook/index.html |    14 +-
 _api/airflow/contrib/hooks/wasb_hook/index.html    |    22 +-
 _api/airflow/contrib/hooks/winrm_hook/index.html   |    37 +-
 .../operators/adls_list_operator/index.html        |    12 +-
 .../contrib/operators/adls_to_gcs/index.html       |    12 +-
 .../operators/aws_athena_operator/index.html       |    28 +-
 .../operators/aws_sqs_publish_operator/index.html  |   388 +
 .../contrib/operators/awsbatch_operator/index.html |    28 +-
 .../azure_container_instances_operator/index.html  |    93 +-
 .../operators/azure_cosmos_operator/index.html     |    12 +-
 .../operators/bigquery_check_operator/index.html   |    45 +-
 .../contrib/operators/bigquery_get_data/index.html |    12 +-
 .../contrib/operators/bigquery_operator/index.html |    80 +-
 .../bigquery_table_delete_operator/index.html      |    12 +-
 .../operators/bigquery_to_bigquery/index.html      |    14 +-
 .../contrib/operators/bigquery_to_gcs/index.html   |    14 +-
 .../contrib/operators/cassandra_to_gcs/index.html  |   102 +-
 .../operators/databricks_operator/index.html       |    63 +-
 .../contrib/operators/dataflow_operator/index.html |    40 +-
 .../contrib/operators/dataproc_operator/index.html |   502 +-
 .../operators/datastore_export_operator/index.html |     8 +-
 .../operators/datastore_import_operator/index.html |     8 +-
 .../contrib/operators/dingding_operator/index.html |    12 +-
 .../operators/discord_webhook_operator/index.html  |    10 +-
 .../contrib/operators/druid_operator/index.html    |    12 +-
 .../contrib/operators/ecs_operator/index.html      |    24 +-
 .../operators/emr_add_steps_operator/index.html    |    14 +-
 .../emr_create_job_flow_operator/index.html        |    14 +-
 .../emr_terminate_job_flow_operator/index.html     |    14 +-
 .../contrib/operators/file_to_gcs/index.html       |    10 +-
 .../contrib/operators/file_to_wasb/index.html      |    10 +-
 .../operators/gcp_bigtable_operator/index.html     |    76 +-
 .../operators/gcp_cloud_build_operator/index.html  |   456 +
 .../operators/gcp_compute_operator/index.html      |    66 +-
 .../operators/gcp_container_operator/index.html    |    42 +-
 .../contrib/operators/gcp_dlp_operator/index.html  |  1537 +++
 .../operators/gcp_function_operator/index.html     |    74 +-
 .../gcp_natural_language_operator/index.html       |    34 +-
 .../operators/gcp_spanner_operator/index.html      |    76 +-
 .../gcp_speech_to_text_operator/index.html         |   387 +
 .../contrib/operators/gcp_sql_operator/index.html  |   138 +-
 .../gcp_text_to_speech_operator/index.html         |   391 +
 .../operators/gcp_transfer_operator/index.html     |   142 +-
 .../operators/gcp_translate_operator/index.html    |    14 +-
 .../gcp_translate_speech_operator/index.html       |   407 +
 .../gcp_video_intelligence_operator/index.html     |   473 +
 .../operators/gcp_vision_operator/index.html       |   268 +-
 .../contrib/operators/gcs_acl_operator/index.html  |    22 +-
 .../operators/gcs_delete_operator/index.html       |   376 +
 .../operators/gcs_download_operator/index.html     |    16 +-
 .../contrib/operators/gcs_list_operator/index.html |    12 +-
 .../contrib/operators/gcs_operator/index.html      |    17 +-
 .../airflow/contrib/operators/gcs_to_bq/index.html |    24 +-
 .../contrib/operators/gcs_to_gcs/index.html        |    29 +-
 .../airflow/contrib/operators/gcs_to_s3/index.html |    19 +-
 .../contrib/operators/hipchat_operator/index.html  |    20 +-
 .../contrib/operators/hive_to_dynamodb/index.html  |    14 +-
 .../imap_attachment_to_s3_operator/index.html      |    10 +-
 _api/airflow/contrib/operators/index.html          |    17 +-
 .../jenkins_job_trigger_operator/index.html        |    36 +-
 .../contrib/operators/jira_operator/index.html     |    10 +-
 .../operators/kubernetes_pod_operator/index.html   |    23 +-
 .../contrib/operators/mlengine_operator/index.html |    47 +-
 .../contrib/operators/mongo_to_s3/index.html       |    22 +-
 .../contrib/operators/mssql_to_gcs/index.html      |   407 +
 .../contrib/operators/mysql_to_gcs/index.html      |   135 +-
 .../operators/opsgenie_alert_operator/index.html   |    12 +-
 .../oracle_to_azure_data_lake_transfer/index.html  |    14 +-
 .../operators/oracle_to_oracle_transfer/index.html |    14 +-
 .../operators/postgres_to_gcs_operator/index.html  |    85 +-
 .../contrib/operators/pubsub_operator/index.html   |    52 +-
 .../operators/qubole_check_operator/index.html     |    46 +-
 .../contrib/operators/qubole_operator/index.html   |   141 +-
 .../operators/redis_publish_operator/index.html    |   373 +
 .../operators/s3_copy_object_operator/index.html   |    14 +-
 .../s3_delete_objects_operator/index.html          |    10 +-
 .../contrib/operators/s3_list_operator/index.html  |    12 +-
 .../operators/s3_to_gcs_operator/index.html        |    16 +-
 .../operators/s3_to_sftp_operator/index.html       |    14 +-
 .../operators/sagemaker_base_operator/index.html   |    24 +-
 .../sagemaker_endpoint_config_operator/index.html  |    12 +-
 .../sagemaker_endpoint_operator/index.html         |    18 +-
 .../operators/sagemaker_model_operator/index.html  |    12 +-
 .../sagemaker_training_operator/index.html         |    14 +-
 .../sagemaker_transform_operator/index.html        |    16 +-
 .../operators/sagemaker_tuning_operator/index.html |    14 +-
 .../segment_track_event_operator/index.html        |    12 +-
 .../contrib/operators/sftp_operator/index.html     |    25 +-
 .../operators/sftp_to_s3_operator/index.html       |    14 +-
 .../operators/slack_webhook_operator/index.html    |    16 +-
 .../operators/snowflake_operator/index.html        |    27 +-
 .../operators/sns_publish_operator/index.html      |    12 +-
 .../operators/spark_jdbc_operator/index.html       |    10 +-
 .../operators/spark_sql_operator/index.html        |    14 +-
 .../operators/spark_submit_operator/index.html     |    18 +-
 .../contrib/operators/sql_to_gcs/index.html        |   478 +
 .../contrib/operators/sqoop_operator/index.html    |    18 +-
 .../contrib/operators/ssh_operator/index.html      |    16 +-
 .../contrib/operators/vertica_operator/index.html  |    14 +-
 .../contrib/operators/vertica_to_hive/index.html   |    18 +-
 .../contrib/operators/vertica_to_mysql/index.html  |    14 +-
 .../operators/wasb_delete_blob_operator/index.html |    10 +-
 .../contrib/operators/winrm_operator/index.html    |    10 +-
 .../contrib/sensors/aws_athena_sensor/index.html   |    22 +-
 .../aws_glue_catalog_partition_sensor/index.html   |    14 +-
 .../sensors/aws_redshift_cluster_sensor/index.html |    14 +-
 .../contrib/sensors/aws_sqs_sensor/index.html      |   379 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |    14 +-
 .../airflow/contrib/sensors/bash_sensor/index.html |    10 +-
 .../contrib/sensors/bigquery_sensor/index.html     |    12 +-
 .../sensors/cassandra_record_sensor/index.html     |    10 +-
 .../sensors/cassandra_table_sensor/index.html      |    10 +-
 .../contrib/sensors/datadog_sensor/index.html      |    10 +-
 .../contrib/sensors/emr_base_sensor/index.html     |    10 +-
 .../contrib/sensors/emr_job_flow_sensor/index.html |    25 +-
 .../contrib/sensors/emr_step_sensor/index.html     |    25 +-
 .../airflow/contrib/sensors/file_sensor/index.html |    12 +-
 _api/airflow/contrib/sensors/ftp_sensor/index.html |    24 +-
 .../contrib/sensors/gcp_transfer_sensor/index.html |    10 +-
 _api/airflow/contrib/sensors/gcs_sensor/index.html |   260 +-
 .../airflow/contrib/sensors/hdfs_sensor/index.html |    14 +-
 .../sensors/imap_attachment_sensor/index.html      |    10 +-
 _api/airflow/contrib/sensors/index.html            |     3 +-
 .../airflow/contrib/sensors/jira_sensor/index.html |    18 +-
 .../contrib/sensors/mongo_sensor/index.html        |    10 +-
 .../contrib/sensors/pubsub_sensor/index.html       |    14 +-
 .../contrib/sensors/python_sensor/index.html       |    10 +-
 .../contrib/sensors/qubole_sensor/index.html       |    20 +-
 .../contrib/sensors/redis_key_sensor/index.html    |    12 +-
 .../sensors/redis_pub_sub_sensor/index.html        |    12 +-
 .../sensors/sagemaker_base_sensor/index.html       |    20 +-
 .../sensors/sagemaker_endpoint_sensor/index.html   |    20 +-
 .../sensors/sagemaker_training_sensor/index.html   |    22 +-
 .../sensors/sagemaker_transform_sensor/index.html  |    20 +-
 .../sensors/sagemaker_tuning_sensor/index.html     |    20 +-
 .../airflow/contrib/sensors/sftp_sensor/index.html |    10 +-
 .../airflow/contrib/sensors/wasb_sensor/index.html |    18 +-
 .../contrib/sensors/weekday_sensor/index.html      |     8 +-
 _api/airflow/executors/base_executor/index.html    |    48 +-
 _api/airflow/executors/celery_executor/index.html  |    57 +-
 _api/airflow/executors/dask_executor/index.html    |    18 +-
 _api/airflow/executors/index.html                  |   153 +-
 _api/airflow/executors/local_executor/index.html   |    52 +-
 .../executors/sequential_executor/index.html       |    12 +-
 _api/airflow/hooks/S3_hook/index.html              |    48 +-
 _api/airflow/hooks/base_hook/index.html            |    36 +-
 _api/airflow/hooks/dbapi_hook/index.html           |    44 +-
 _api/airflow/hooks/docker_hook/index.html          |    10 +-
 _api/airflow/hooks/druid_hook/index.html           |    30 +-
 _api/airflow/hooks/hdfs_hook/index.html            |    14 +-
 _api/airflow/hooks/hive_hooks/index.html           |   104 +-
 _api/airflow/hooks/http_hook/index.html            |    21 +-
 _api/airflow/hooks/index.html                      |    13 +-
 _api/airflow/hooks/jdbc_hook/index.html            |    16 +-
 _api/airflow/hooks/mssql_hook/index.html           |    18 +-
 _api/airflow/hooks/mysql_hook/index.html           |    38 +-
 _api/airflow/hooks/oracle_hook/index.html          |    18 +-
 _api/airflow/hooks/pig_hook/index.html             |    12 +-
 _api/airflow/hooks/postgres_hook/index.html        |    41 +-
 _api/airflow/hooks/presto_hook/index.html          |    34 +-
 _api/airflow/hooks/samba_hook/index.html           |    10 +-
 _api/airflow/hooks/slack_hook/index.html           |    10 +-
 _api/airflow/hooks/sqlite_hook/index.html          |    14 +-
 _api/airflow/hooks/webhdfs_hook/index.html         |    72 +-
 _api/airflow/hooks/zendesk_hook/index.html         |    12 +-
 _api/airflow/models/base/index.html                |    14 +-
 _api/airflow/models/baseoperator/index.html        |   876 ++
 _api/airflow/models/chart/index.html               |   433 +
 _api/airflow/models/connection/index.html          |    66 +-
 _api/airflow/models/crypto/index.html              |   391 +
 _api/airflow/models/dag/index.html                 |  1151 +++
 _api/airflow/models/dagbag/index.html              |   446 +
 _api/airflow/models/dagpickle/index.html           |    24 +-
 _api/airflow/models/dagrun/index.html              |   562 +
 _api/airflow/models/errors/index.html              |    24 +-
 _api/airflow/models/index.html                     |  4967 ++++-----
 _api/airflow/models/knownevent/index.html          |   424 +
 _api/airflow/models/kubernetes/index.html          |    46 +-
 _api/airflow/models/log/index.html                 |    30 +-
 _api/airflow/models/pool/index.html                |   417 +
 _api/airflow/models/skipmixin/index.html           |    20 +-
 _api/airflow/models/slamiss/index.html             |    26 +-
 _api/airflow/models/taskfail/index.html            |    28 +-
 _api/airflow/models/taskinstance/index.html        |   871 ++
 _api/airflow/models/taskreschedule/index.html      |    39 +-
 _api/airflow/models/user/index.html                |   383 +
 _api/airflow/models/variable/index.html            |   434 +
 _api/airflow/models/xcom/index.html                |   450 +
 _api/airflow/operators/bash_operator/index.html    |    20 +-
 _api/airflow/operators/branch_operator/index.html  |   375 +
 _api/airflow/operators/check_operator/index.html   |    90 +-
 _api/airflow/operators/dagrun_operator/index.html  |    16 +-
 _api/airflow/operators/docker_operator/index.html  |    24 +-
 .../operators/druid_check_operator/index.html      |    12 +-
 _api/airflow/operators/dummy_operator/index.html   |    10 +-
 _api/airflow/operators/email_operator/index.html   |    14 +-
 _api/airflow/operators/generic_transfer/index.html |    14 +-
 _api/airflow/operators/hive_operator/index.html    |    22 +-
 .../operators/hive_stats_operator/index.html       |    14 +-
 _api/airflow/operators/hive_to_druid/index.html    |    18 +-
 _api/airflow/operators/hive_to_mysql/index.html    |    14 +-
 .../operators/hive_to_samba_operator/index.html    |    12 +-
 _api/airflow/operators/http_operator/index.html    |    14 +-
 _api/airflow/operators/index.html                  |   165 +-
 _api/airflow/operators/jdbc_operator/index.html    |    14 +-
 .../operators/latest_only_operator/index.html      |    10 +-
 _api/airflow/operators/mssql_operator/index.html   |    14 +-
 _api/airflow/operators/mssql_to_hive/index.html    |    18 +-
 _api/airflow/operators/mysql_operator/index.html   |    14 +-
 _api/airflow/operators/mysql_to_hive/index.html    |    18 +-
 _api/airflow/operators/oracle_operator/index.html  |    14 +-
 _api/airflow/operators/pig_operator/index.html     |    21 +-
 .../airflow/operators/postgres_operator/index.html |    14 +-
 .../operators/presto_check_operator/index.html     |    20 +-
 _api/airflow/operators/presto_to_mysql/index.html  |    14 +-
 _api/airflow/operators/python_operator/index.html  |    56 +-
 .../operators/redshift_to_s3_operator/index.html   |    14 +-
 .../s3_file_transform_operator/index.html          |    14 +-
 .../operators/s3_to_hive_operator/index.html       |    22 +-
 .../operators/s3_to_redshift_operator/index.html   |    14 +-
 _api/airflow/operators/sensors/index.html          |    50 +-
 _api/airflow/operators/slack_operator/index.html   |    20 +-
 _api/airflow/operators/sqlite_operator/index.html  |    14 +-
 _api/airflow/operators/subdag_operator/index.html  |    12 +-
 .../sensors/base_sensor_operator/index.html        |    31 +-
 .../sensors/external_task_sensor/index.html        |    12 +-
 _api/airflow/sensors/hdfs_sensor/index.html        |    20 +-
 .../sensors/hive_partition_sensor/index.html       |    12 +-
 _api/airflow/sensors/http_sensor/index.html        |    10 +-
 _api/airflow/sensors/index.html                    |    13 +-
 .../sensors/metastore_partition_sensor/index.html  |    12 +-
 .../sensors/named_hive_partition_sensor/index.html |    18 +-
 _api/airflow/sensors/s3_key_sensor/index.html      |    10 +-
 _api/airflow/sensors/s3_prefix_sensor/index.html   |    10 +-
 _api/airflow/sensors/sql_sensor/index.html         |    37 +-
 _api/airflow/sensors/time_delta_sensor/index.html  |     8 +-
 _api/airflow/sensors/time_sensor/index.html        |     8 +-
 _api/airflow/sensors/web_hdfs_sensor/index.html    |    10 +-
 _api/index.html                                    |     2 +-
 _images/operator_extra_link.png                    |   Bin 0 -> 276679 bytes
 .../example_dags/example_dingding_operator.html    |   524 +
 .../example_gcp_bigtable_operators.html            |     2 +-
 .../example_dags/example_gcp_cloud_build.html      |   407 +
 .../contrib/example_dags/example_gcp_compute.html  |     2 +-
 .../example_dags/example_gcp_compute_igm.html      |     2 +-
 .../contrib/example_dags/example_gcp_function.html |     2 +-
 .../example_dags/example_gcp_natural_language.html |     2 +-
 .../contrib/example_dags/example_gcp_spanner.html  |     2 +-
 .../contrib/example_dags/example_gcp_speech.html   |   403 +
 .../contrib/example_dags/example_gcp_sql.html      |     2 +-
 .../example_dags/example_gcp_sql_query.html        |     2 +-
 .../contrib/example_dags/example_gcp_transfer.html |     2 +-
 .../example_dags/example_gcp_translate.html        |     2 +-
 .../example_gcp_video_intelligence.html            |   423 +
 .../contrib/example_dags/example_gcp_vision.html   |    73 +-
 .../contrib/example_dags/example_gcs_acl.html      |     2 +-
 .../example_dags/example_gcs_to_bq_operator.html   |     2 +-
 .../contrib/executors/kubernetes_executor.html     |   196 +-
 .../airflow/contrib/executors/mesos_executor.html  |     6 +-
 _modules/airflow/contrib/hooks.html                |     2 +-
 .../airflow/contrib/hooks/aws_athena_hook.html     |    34 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     2 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     2 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |     2 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |     2 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     2 +-
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |     2 +-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |   374 +
 .../hooks/azure_container_instance_hook.html       |    37 +-
 .../hooks/azure_container_registry_hook.html       |     2 +-
 .../contrib/hooks/azure_container_volume_hook.html |     2 +-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     2 +-
 .../contrib/hooks/azure_data_lake_hook.html        |     2 +-
 .../contrib/hooks/azure_fileshare_hook.html        |     2 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |    92 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |     2 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |     2 +-
 .../airflow/contrib/hooks/databricks_hook.html     |     2 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |     2 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |   248 +-
 _modules/airflow/contrib/hooks/dingding_hook.html  |     2 +-
 .../contrib/hooks/discord_webhook_hook.html        |     2 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |     2 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |     2 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |    14 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |    17 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     2 +-
 .../contrib/hooks/gcp_cloud_build_hook.html        |   435 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |    61 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |     2 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |    24 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   115 +-
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |  2082 ++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |    19 +-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |     7 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     2 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |     2 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |    17 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     2 +-
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   376 +
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |    38 +-
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   383 +
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |    35 +-
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     2 +-
 .../contrib/hooks/gcp_video_intelligence_hook.html |   408 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   126 +-
 _modules/airflow/contrib/hooks/gcs_hook.html       |   524 +-
 _modules/airflow/contrib/hooks/grpc_hook.html      |   426 +
 _modules/airflow/contrib/hooks/imap_hook.html      |     2 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |     6 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |     2 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |    38 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |    10 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     2 +-
 _modules/airflow/contrib/hooks/pinot_hook.html     |     2 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |     2 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |   107 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |     2 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |     2 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |     2 +-
 .../airflow/contrib/hooks/salesforce_hook.html     |     2 +-
 _modules/airflow/contrib/hooks/segment_hook.html   |     2 +-
 _modules/airflow/contrib/hooks/sftp_hook.html      |     2 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     7 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |    48 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     2 +-
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     2 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |     2 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |    16 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |     2 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |     5 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |     2 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |     2 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |    64 +-
 _modules/airflow/contrib/operators.html            |     2 +-
 .../contrib/operators/adls_list_operator.html      |     2 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |     2 +-
 .../contrib/operators/aws_athena_operator.html     |    28 +-
 .../operators/aws_sqs_publish_operator.html        |   384 +
 .../contrib/operators/awsbatch_operator.html       |     2 +-
 .../azure_container_instances_operator.html        |   188 +-
 .../contrib/operators/azure_cosmos_operator.html   |     2 +-
 .../contrib/operators/bigquery_check_operator.html |    10 +-
 .../contrib/operators/bigquery_get_data.html       |     2 +-
 .../contrib/operators/bigquery_operator.html       |    98 +-
 .../operators/bigquery_table_delete_operator.html  |     6 +-
 .../contrib/operators/bigquery_to_bigquery.html    |    12 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |    18 +-
 .../contrib/operators/cassandra_to_gcs.html        |    61 +-
 .../contrib/operators/databricks_operator.html     |     3 +-
 .../contrib/operators/dataflow_operator.html       |     6 +-
 .../contrib/operators/dataproc_operator.html       |  1060 +-
 .../operators/datastore_export_operator.html       |     2 +-
 .../operators/datastore_import_operator.html       |     2 +-
 .../contrib/operators/dingding_operator.html       |     2 +-
 .../operators/discord_webhook_operator.html        |     4 +-
 .../airflow/contrib/operators/druid_operator.html  |     2 +-
 .../airflow/contrib/operators/ecs_operator.html    |     2 +-
 .../contrib/operators/emr_add_steps_operator.html  |     2 +-
 .../operators/emr_create_job_flow_operator.html    |     2 +-
 .../operators/emr_terminate_job_flow_operator.html |     2 +-
 .../airflow/contrib/operators/file_to_gcs.html     |     2 +-
 .../airflow/contrib/operators/file_to_wasb.html    |     6 +-
 .../contrib/operators/gcp_bigtable_operator.html   |    20 +-
 .../operators/gcp_cloud_build_operator.html        |   499 +
 .../contrib/operators/gcp_compute_operator.html    |     2 +-
 .../contrib/operators/gcp_container_operator.html  |    12 +-
 .../contrib/operators/gcp_dlp_operator.html        |  2424 +++++
 .../contrib/operators/gcp_function_operator.html   |     2 +-
 .../operators/gcp_natural_language_operator.html   |    18 +-
 .../contrib/operators/gcp_spanner_operator.html    |     2 +-
 .../operators/gcp_speech_to_text_operator.html     |   393 +
 .../contrib/operators/gcp_sql_operator.html        |     3 +-
 .../operators/gcp_text_to_speech_operator.html     |   432 +
 .../contrib/operators/gcp_transfer_operator.html   |     2 +-
 .../contrib/operators/gcp_translate_operator.html  |     2 +-
 .../operators/gcp_translate_speech_operator.html   |   462 +
 .../operators/gcp_video_intelligence_operator.html |   548 +
 .../contrib/operators/gcp_vision_operator.html     |   302 +-
 .../contrib/operators/gcs_acl_operator.html        |     2 +-
 .../contrib/operators/gcs_delete_operator.html     |   386 +
 .../contrib/operators/gcs_download_operator.html   |     8 +-
 .../contrib/operators/gcs_list_operator.html       |     2 +-
 .../airflow/contrib/operators/gcs_operator.html    |     8 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |     8 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |    90 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |    20 +-
 .../contrib/operators/hipchat_operator.html        |     2 +-
 .../contrib/operators/hive_to_dynamodb.html        |     2 +-
 .../operators/imap_attachment_to_s3_operator.html  |     6 +-
 .../operators/jenkins_job_trigger_operator.html    |    11 +-
 .../airflow/contrib/operators/jira_operator.html   |     2 +-
 .../contrib/operators/kubernetes_pod_operator.html |    36 +-
 .../contrib/operators/mlengine_operator.html       |    25 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |     7 +-
 .../airflow/contrib/operators/mssql_to_gcs.html    |   399 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   357 +-
 .../contrib/operators/opsgenie_alert_operator.html |     2 +-
 .../oracle_to_azure_data_lake_transfer.html        |     2 +-
 .../operators/oracle_to_oracle_transfer.html       |     2 +-
 .../operators/postgres_to_gcs_operator.html        |   244 +-
 .../airflow/contrib/operators/pubsub_operator.html |     2 +-
 .../contrib/operators/qubole_check_operator.html   |     6 +-
 .../airflow/contrib/operators/qubole_operator.html |    55 +-
 .../contrib/operators/redis_publish_operator.html  |   369 +
 .../contrib/operators/s3_copy_object_operator.html |     2 +-
 .../operators/s3_delete_objects_operator.html      |     2 +-
 .../contrib/operators/s3_list_operator.html        |     2 +-
 .../contrib/operators/s3_to_gcs_operator.html      |     2 +-
 .../contrib/operators/s3_to_sftp_operator.html     |     2 +-
 .../contrib/operators/sagemaker_base_operator.html |     2 +-
 .../sagemaker_endpoint_config_operator.html        |     2 +-
 .../operators/sagemaker_endpoint_operator.html     |     2 +-
 .../operators/sagemaker_model_operator.html        |     2 +-
 .../operators/sagemaker_training_operator.html     |     2 +-
 .../operators/sagemaker_transform_operator.html    |     2 +-
 .../operators/sagemaker_tuning_operator.html       |     2 +-
 .../operators/segment_track_event_operator.html    |    11 +-
 .../airflow/contrib/operators/sftp_operator.html   |     8 +-
 .../contrib/operators/sftp_to_s3_operator.html     |     2 +-
 .../contrib/operators/slack_webhook_operator.html  |     8 +-
 .../contrib/operators/snowflake_operator.html      |    22 +-
 .../contrib/operators/sns_publish_operator.html    |     2 +-
 .../contrib/operators/spark_jdbc_operator.html     |     2 +-
 .../contrib/operators/spark_sql_operator.html      |     2 +-
 .../contrib/operators/spark_submit_operator.html   |     2 +-
 _modules/airflow/contrib/operators/sql_to_gcs.html |   578 ++
 .../airflow/contrib/operators/sqoop_operator.html  |     2 +-
 .../airflow/contrib/operators/ssh_operator.html    |    10 +-
 .../contrib/operators/vertica_operator.html        |     4 +-
 .../airflow/contrib/operators/vertica_to_hive.html |     2 +-
 .../contrib/operators/vertica_to_mysql.html        |     2 +-
 .../operators/wasb_delete_blob_operator.html       |     5 +-
 .../airflow/contrib/operators/winrm_operator.html  |     4 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |     2 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |     2 +-
 .../sensors/aws_redshift_cluster_sensor.html       |     6 +-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   394 +
 .../contrib/sensors/azure_cosmos_sensor.html       |     2 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |     2 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |     2 +-
 .../contrib/sensors/cassandra_record_sensor.html   |     2 +-
 .../contrib/sensors/cassandra_table_sensor.html    |     2 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |     2 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |     8 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |    12 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |    13 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |     8 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |     2 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |     2 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   246 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |     2 +-
 .../contrib/sensors/imap_attachment_sensor.html    |     2 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |     2 +-
 _modules/airflow/contrib/sensors/mongo_sensor.html |     2 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |     2 +-
 .../airflow/contrib/sensors/python_sensor.html     |     2 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |     2 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |     2 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |     2 +-
 .../contrib/sensors/sagemaker_base_sensor.html     |     2 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     2 +-
 .../contrib/sensors/sagemaker_training_sensor.html |     2 +-
 .../sensors/sagemaker_transform_sensor.html        |     2 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     2 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |     2 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |     5 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |     2 +-
 _modules/airflow/dag/base_dag.html                 |   402 -
 .../example_dags/example_bash_operator.html        |     2 +-
 .../example_dags/example_python_operator.html      |     2 +-
 _modules/airflow/exceptions.html                   |    35 +-
 _modules/airflow/executors.html                    |     4 +-
 _modules/airflow/executors/base_executor.html      |    21 +-
 _modules/airflow/executors/celery_executor.html    |    24 +-
 _modules/airflow/executors/dask_executor.html      |     4 +-
 _modules/airflow/executors/local_executor.html     |    54 +-
 .../airflow/executors/sequential_executor.html     |     2 +-
 _modules/airflow/hooks.html                        |     2 +-
 _modules/airflow/hooks/S3_hook.html                |     2 +-
 _modules/airflow/hooks/base_hook.html              |    13 +-
 _modules/airflow/hooks/dbapi_hook.html             |     2 +-
 _modules/airflow/hooks/docker_hook.html            |     7 +-
 _modules/airflow/hooks/druid_hook.html             |     5 +-
 _modules/airflow/hooks/hdfs_hook.html              |     2 +-
 _modules/airflow/hooks/hive_hooks.html             |    73 +-
 _modules/airflow/hooks/http_hook.html              |    52 +-
 _modules/airflow/hooks/jdbc_hook.html              |     2 +-
 _modules/airflow/hooks/mssql_hook.html             |     2 +-
 _modules/airflow/hooks/mysql_hook.html             |    37 +-
 _modules/airflow/hooks/oracle_hook.html            |     2 +-
 _modules/airflow/hooks/pig_hook.html               |    14 +-
 _modules/airflow/hooks/postgres_hook.html          |    52 +-
 _modules/airflow/hooks/presto_hook.html            |     2 +-
 _modules/airflow/hooks/samba_hook.html             |     2 +-
 _modules/airflow/hooks/slack_hook.html             |     2 +-
 _modules/airflow/hooks/sqlite_hook.html            |     2 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   107 +-
 _modules/airflow/hooks/zendesk_hook.html           |     2 +-
 _modules/airflow/lineage.html                      |   441 -
 _modules/airflow/macros.html                       |    19 +-
 _modules/airflow/macros/hive.html                  |     2 +-
 _modules/airflow/models.html                       |  5034 +--------
 _modules/airflow/models/base.html                  |     2 +-
 _modules/airflow/models/baseoperator.html          |  1320 +++
 _modules/airflow/models/chart.html                 |   353 +
 _modules/airflow/models/connection.html            |   146 +-
 _modules/airflow/models/crypto.html                |   400 +
 _modules/airflow/models/dag.html                   |  1874 ++++
 _modules/airflow/models/dagbag.html                |   744 ++
 _modules/airflow/models/dagpickle.html             |     2 +-
 _modules/airflow/models/dagrun.html                |   749 ++
 _modules/airflow/models/errors.html                |     4 +-
 _modules/airflow/models/knownevent.html            |   357 +
 _modules/airflow/models/kubernetes.html            |     2 +-
 _modules/airflow/models/log.html                   |     2 +-
 _modules/airflow/models/pool.html                  |   411 +
 _modules/airflow/models/skipmixin.html             |    42 +-
 _modules/airflow/models/slamiss.html               |     2 +-
 _modules/airflow/models/taskfail.html              |     4 +-
 _modules/airflow/models/taskinstance.html          |  1711 ++++
 _modules/airflow/models/taskreschedule.html        |     2 +-
 _modules/airflow/models/user.html                  |   343 +
 _modules/airflow/models/variable.html              |   452 +
 _modules/airflow/models/xcom.html                  |   537 +
 _modules/airflow/operators.html                    |     2 +-
 _modules/airflow/operators/bash_operator.html      |    11 +-
 _modules/airflow/operators/branch_operator.html    |   355 +
 _modules/airflow/operators/check_operator.html     |   167 +-
 _modules/airflow/operators/dagrun_operator.html    |     2 +-
 _modules/airflow/operators/docker_operator.html    |    15 +-
 .../airflow/operators/druid_check_operator.html    |     2 +-
 _modules/airflow/operators/dummy_operator.html     |     2 +-
 _modules/airflow/operators/email_operator.html     |     2 +-
 _modules/airflow/operators/generic_transfer.html   |     2 +-
 _modules/airflow/operators/hive_operator.html      |     2 +-
 .../airflow/operators/hive_stats_operator.html     |    23 +-
 _modules/airflow/operators/hive_to_druid.html      |     8 +-
 _modules/airflow/operators/hive_to_mysql.html      |     2 +-
 .../airflow/operators/hive_to_samba_operator.html  |     2 +-
 _modules/airflow/operators/http_operator.html      |     4 +-
 _modules/airflow/operators/jdbc_operator.html      |     2 +-
 .../airflow/operators/latest_only_operator.html    |    10 +-
 _modules/airflow/operators/mssql_operator.html     |     2 +-
 _modules/airflow/operators/mssql_to_hive.html      |     2 +-
 _modules/airflow/operators/mysql_operator.html     |     2 +-
 _modules/airflow/operators/mysql_to_hive.html      |     2 +-
 _modules/airflow/operators/oracle_operator.html    |     2 +-
 _modules/airflow/operators/pig_operator.html       |     8 +-
 _modules/airflow/operators/postgres_operator.html  |     2 +-
 .../airflow/operators/presto_check_operator.html   |     2 +-
 _modules/airflow/operators/presto_to_mysql.html    |     2 +-
 _modules/airflow/operators/python_operator.html    |    76 +-
 .../airflow/operators/redshift_to_s3_operator.html |     2 +-
 .../operators/s3_file_transform_operator.html      |     2 +-
 .../airflow/operators/s3_to_hive_operator.html     |     2 +-
 .../airflow/operators/s3_to_redshift_operator.html |     2 +-
 _modules/airflow/operators/sensors.html            |     2 +-
 _modules/airflow/operators/slack_operator.html     |     2 +-
 _modules/airflow/operators/sqlite_operator.html    |     2 +-
 _modules/airflow/operators/subdag_operator.html    |     6 +-
 _modules/airflow/sensors.html                      |     2 +-
 _modules/airflow/sensors/base_sensor_operator.html |    15 +-
 _modules/airflow/sensors/external_task_sensor.html |     2 +-
 _modules/airflow/sensors/hdfs_sensor.html          |     2 +-
 .../airflow/sensors/hive_partition_sensor.html     |     2 +-
 _modules/airflow/sensors/http_sensor.html          |     2 +-
 .../sensors/metastore_partition_sensor.html        |     2 +-
 .../sensors/named_hive_partition_sensor.html       |     2 +-
 _modules/airflow/sensors/s3_key_sensor.html        |     2 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |     2 +-
 _modules/airflow/sensors/sql_sensor.html           |    46 +-
 _modules/airflow/sensors/time_delta_sensor.html    |     2 +-
 _modules/airflow/sensors/time_sensor.html          |     2 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |     2 +-
 _modules/airflow/ti_deps/dep_context.html          |   431 -
 .../ti_deps/deps/not_in_retry_period_dep.html      |   354 -
 _modules/airflow/ti_deps/deps/prev_dagrun_dep.html |   387 -
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |   525 -
 _modules/airflow/utils/dag_processing.html         |  1612 ---
 _modules/airflow/utils/dates.html                  |   550 -
 _modules/airflow/utils/db.html                     |   684 --
 _modules/airflow/utils/decorators.html             |   422 -
 _modules/airflow/utils/email.html                  |   441 -
 _modules/airflow/utils/helpers.html                |   738 --
 _modules/airflow/utils/log/logging_mixin.html      |     4 +-
 _modules/airflow/utils/net.html                    |   346 -
 _modules/airflow/utils/operator_resources.html     |   423 -
 _modules/airflow/utils/sqlalchemy.html             |   507 -
 _modules/airflow/utils/state.html                  |   423 -
 _modules/airflow/utils/timeout.html                |   359 -
 _modules/airflow/utils/trigger_rule.html           |   351 -
 _modules/airflow/utils/weight_rule.html            |   346 -
 _modules/index.html                                |    63 +-
 .../_api/airflow/contrib/executors/index.rst.txt   |     9 -
 .../executors/kubernetes_executor/index.rst.txt    |   181 +-
 .../contrib/executors/mesos_executor/index.rst.txt |   112 +-
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |    82 +-
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    33 +-
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    34 +-
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |    46 +-
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |    58 +-
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    33 +-
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    34 +-
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |    62 +
 .../azure_container_instance_hook/index.rst.txt    |    71 +-
 .../azure_container_registry_hook/index.rst.txt    |    29 +-
 .../azure_container_volume_hook/index.rst.txt      |    32 +-
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   110 +-
 .../hooks/azure_data_lake_hook/index.rst.txt       |    42 +-
 .../hooks/azure_fileshare_hook/index.rst.txt       |    66 +-
 .../contrib/hooks/bigquery_hook/index.rst.txt      |   361 +-
 .../contrib/hooks/cassandra_hook/index.rst.txt     |    48 +-
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    33 +-
 .../contrib/hooks/databricks_hook/index.rst.txt    |   210 +-
 .../contrib/hooks/datadog_hook/index.rst.txt       |    41 +-
 .../contrib/hooks/datastore_hook/index.rst.txt     |   186 +-
 .../contrib/hooks/dingding_hook/index.rst.txt      |    42 +-
 .../hooks/discord_webhook_hook/index.rst.txt       |    38 +-
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    33 +-
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    32 +-
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   113 +-
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   101 +-
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |    67 +-
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |    81 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   134 +-
 .../contrib/hooks/gcp_container_hook/index.rst.txt |    64 +-
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   110 +-
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   148 +-
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |   919 ++
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |    87 +-
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |    60 +-
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |    73 +-
 .../hooks/gcp_natural_language_hook/index.rst.txt  |    60 +-
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |    89 +-
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |    79 +-
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |    58 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   343 +-
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |    64 +
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   576 +-
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |    40 +-
 .../gcp_video_intelligence_hook/index.rst.txt      |    72 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   156 +-
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   129 +-
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |    36 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   126 +-
 _sources/_api/airflow/contrib/hooks/index.rst.txt  |    99 +-
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    29 +-
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    29 +-
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |    93 +-
 .../contrib/hooks/openfaas_hook/index.rst.txt      |    83 +-
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    38 +-
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |    75 +-
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |    92 +-
 .../contrib/hooks/qubole_hook/index.rst.txt        |    93 +-
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    32 +-
 .../contrib/hooks/redshift_hook/index.rst.txt      |    47 +-
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   236 +-
 .../contrib/hooks/salesforce_hook/index.rst.txt    |    56 +-
 .../contrib/hooks/segment_hook/index.rst.txt       |    32 +-
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |    65 +-
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |    41 +-
 .../contrib/hooks/snowflake_hook/index.rst.txt     |    69 +-
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |    38 +-
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    48 -
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |    40 +-
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |    72 +-
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |    62 +-
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |    43 +-
 .../contrib/hooks/vertica_hook/index.rst.txt       |    52 +-
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |    58 +-
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |    60 +-
 .../operators/adls_list_operator/index.rst.txt     |    45 +-
 .../contrib/operators/adls_to_gcs/index.rst.txt    |    45 +-
 .../operators/aws_athena_operator/index.rst.txt    |    61 +-
 .../aws_sqs_publish_operator/index.rst.txt         |    51 +
 .../operators/awsbatch_operator/index.rst.txt      |    70 +-
 .../index.rst.txt                                  |   154 +-
 .../operators/azure_cosmos_operator/index.rst.txt  |    45 +-
 .../bigquery_check_operator/index.rst.txt          |    76 +-
 .../operators/bigquery_get_data/index.rst.txt      |    45 +-
 .../operators/bigquery_operator/index.rst.txt      |   205 +-
 .../bigquery_table_delete_operator/index.rst.txt   |    45 +-
 .../operators/bigquery_to_bigquery/index.rst.txt   |    53 +-
 .../operators/bigquery_to_gcs/index.rst.txt        |    53 +-
 .../operators/cassandra_to_gcs/index.rst.txt       |   143 +-
 .../operators/databricks_operator/index.rst.txt    |   151 +-
 .../operators/dataflow_operator/index.rst.txt      |   138 +-
 .../operators/dataproc_operator/index.rst.txt      |   776 +-
 .../datastore_export_operator/index.rst.txt        |    29 +-
 .../datastore_import_operator/index.rst.txt        |    29 +-
 .../operators/dingding_operator/index.rst.txt      |    45 +-
 .../discord_webhook_operator/index.rst.txt         |    38 +-
 .../contrib/operators/druid_operator/index.rst.txt |    45 +-
 .../contrib/operators/ecs_operator/index.rst.txt   |    69 +-
 .../operators/emr_add_steps_operator/index.rst.txt |    53 +-
 .../emr_create_job_flow_operator/index.rst.txt     |    53 +-
 .../emr_terminate_job_flow_operator/index.rst.txt  |    53 +-
 .../contrib/operators/file_to_gcs/index.rst.txt    |    38 +-
 .../contrib/operators/file_to_wasb/index.rst.txt   |    38 +-
 .../operators/gcp_bigtable_operator/index.rst.txt  |   260 +-
 .../gcp_cloud_build_operator/index.rst.txt         |   123 +
 .../operators/gcp_compute_operator/index.rst.txt   |   202 +-
 .../operators/gcp_container_operator/index.rst.txt |   123 +-
 .../operators/gcp_dlp_operator/index.rst.txt       |  1241 +++
 .../operators/gcp_function_operator/index.rst.txt  |   210 +-
 .../gcp_natural_language_operator/index.rst.txt    |   118 +-
 .../operators/gcp_spanner_operator/index.rst.txt   |   217 +-
 .../gcp_speech_to_text_operator/index.rst.txt      |    55 +
 .../operators/gcp_sql_operator/index.rst.txt       |   388 +-
 .../gcp_text_to_speech_operator/index.rst.txt      |    62 +
 .../operators/gcp_transfer_operator/index.rst.txt  |   387 +-
 .../operators/gcp_translate_operator/index.rst.txt |    37 +-
 .../gcp_translate_speech_operator/index.rst.txt    |    88 +
 .../gcp_video_intelligence_operator/index.rst.txt  |   144 +
 .../operators/gcp_vision_operator/index.rst.txt    |   468 +-
 .../operators/gcs_acl_operator/index.rst.txt       |    64 +-
 .../operators/gcs_delete_operator/index.rst.txt    |    43 +
 .../operators/gcs_download_operator/index.rst.txt  |    45 +-
 .../operators/gcs_list_operator/index.rst.txt      |    45 +-
 .../contrib/operators/gcs_operator/index.rst.txt   |    50 +-
 .../contrib/operators/gcs_to_bq/index.rst.txt      |    59 +-
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |    52 +-
 .../contrib/operators/gcs_to_s3/index.rst.txt      |    53 +-
 .../operators/hipchat_operator/index.rst.txt       |    68 +-
 .../operators/hive_to_dynamodb/index.rst.txt       |    53 +-
 .../imap_attachment_to_s3_operator/index.rst.txt   |    38 +-
 .../_api/airflow/contrib/operators/index.rst.txt   |   124 +-
 .../jenkins_job_trigger_operator/index.rst.txt     |    75 +-
 .../contrib/operators/jira_operator/index.rst.txt  |    37 +-
 .../kubernetes_pod_operator/index.rst.txt          |    49 +-
 .../operators/mlengine_operator/index.rst.txt      |   149 +-
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    48 +-
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |    73 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |   206 +-
 .../opsgenie_alert_operator/index.rst.txt          |    42 +-
 .../index.rst.txt                                  |    48 +-
 .../oracle_to_oracle_transfer/index.rst.txt        |    48 +-
 .../postgres_to_gcs_operator/index.rst.txt         |   139 +-
 .../operators/pubsub_operator/index.rst.txt        |   185 +-
 .../operators/qubole_check_operator/index.rst.txt  |   132 +-
 .../operators/qubole_operator/index.rst.txt        |   108 +-
 .../operators/redis_publish_operator/index.rst.txt |    38 +
 .../s3_copy_object_operator/index.rst.txt          |    37 +-
 .../s3_delete_objects_operator/index.rst.txt       |    37 +-
 .../operators/s3_list_operator/index.rst.txt       |    45 +-
 .../operators/s3_to_gcs_operator/index.rst.txt     |    48 +-
 .../operators/s3_to_sftp_operator/index.rst.txt    |    41 +-
 .../sagemaker_base_operator/index.rst.txt          |    73 +-
 .../index.rst.txt                                  |    37 +-
 .../sagemaker_endpoint_operator/index.rst.txt      |    35 +-
 .../sagemaker_model_operator/index.rst.txt         |    32 +-
 .../sagemaker_training_operator/index.rst.txt      |    40 +-
 .../sagemaker_transform_operator/index.rst.txt     |    35 +-
 .../sagemaker_tuning_operator/index.rst.txt        |    40 +-
 .../segment_track_event_operator/index.rst.txt     |    45 +-
 .../contrib/operators/sftp_operator/index.rst.txt  |    75 +-
 .../operators/sftp_to_s3_operator/index.rst.txt    |    41 +-
 .../operators/slack_webhook_operator/index.rst.txt |    34 +-
 .../operators/snowflake_operator/index.rst.txt     |    70 +-
 .../operators/sns_publish_operator/index.rst.txt   |    45 +-
 .../operators/spark_jdbc_operator/index.rst.txt    |    33 +-
 .../operators/spark_sql_operator/index.rst.txt     |    49 +-
 .../operators/spark_submit_operator/index.rst.txt  |    47 +-
 .../contrib/operators/sql_to_gcs/index.rst.txt     |   157 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    51 +-
 .../contrib/operators/ssh_operator/index.rst.txt   |    53 +-
 .../operators/vertica_operator/index.rst.txt       |    53 +-
 .../operators/vertica_to_hive/index.rst.txt        |    56 +-
 .../operators/vertica_to_mysql/index.rst.txt       |    53 +-
 .../wasb_delete_blob_operator/index.rst.txt        |    37 +-
 .../contrib/operators/winrm_operator/index.rst.txt |    37 +-
 .../sensors/aws_athena_sensor/index.rst.txt        |    80 +-
 .../index.rst.txt                                  |    50 +-
 .../aws_redshift_cluster_sensor/index.rst.txt      |    37 +-
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |    43 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    37 +-
 .../contrib/sensors/bash_sensor/index.rst.txt      |    38 +-
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    45 +-
 .../sensors/cassandra_record_sensor/index.rst.txt  |    37 +-
 .../sensors/cassandra_table_sensor/index.rst.txt   |    37 +-
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    37 +-
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    37 +-
 .../sensors/emr_job_flow_sensor/index.rst.txt      |    63 +-
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |    63 +-
 .../contrib/sensors/file_sensor/index.rst.txt      |    47 +-
 .../contrib/sensors/ftp_sensor/index.rst.txt       |    77 +-
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    37 +-
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   266 +-
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    44 +-
 .../sensors/imap_attachment_sensor/index.rst.txt   |    38 +-
 .../_api/airflow/contrib/sensors/index.rst.txt     |    41 +-
 .../contrib/sensors/jira_sensor/index.rst.txt      |    59 +-
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    37 +-
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    49 +-
 .../contrib/sensors/python_sensor/index.rst.txt    |    37 +-
 .../contrib/sensors/qubole_sensor/index.rst.txt    |    77 +-
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    45 +-
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    46 +-
 .../sensors/sagemaker_base_sensor/index.rst.txt    |    52 +-
 .../sagemaker_endpoint_sensor/index.rst.txt        |    57 +-
 .../sagemaker_training_sensor/index.rst.txt        |    60 +-
 .../sagemaker_transform_sensor/index.rst.txt       |    57 +-
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |    57 +-
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    37 +-
 .../contrib/sensors/wasb_sensor/index.rst.txt      |    64 +-
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    29 +-
 .../airflow/executors/base_executor/index.rst.txt  |    83 +-
 .../executors/celery_executor/index.rst.txt        |   132 +-
 .../airflow/executors/dask_executor/index.rst.txt  |    44 +-
 _sources/_api/airflow/executors/index.rst.txt      |   335 +-
 .../airflow/executors/local_executor/index.rst.txt |   134 +-
 .../executors/sequential_executor/index.rst.txt    |    35 +-
 _sources/_api/airflow/hooks/S3_hook/index.rst.txt  |   102 +-
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    63 +-
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   110 +-
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    32 +-
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |    89 +-
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    51 +-
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   196 +-
 .../_api/airflow/hooks/http_hook/index.rst.txt     |    48 +-
 _sources/_api/airflow/hooks/index.rst.txt          |    56 -
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    55 +-
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |    60 +-
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |    78 +-
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |    60 +-
 _sources/_api/airflow/hooks/pig_hook/index.rst.txt |    37 +-
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |    78 +-
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |    82 +-
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    32 +-
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    32 +-
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    52 +-
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    95 +-
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    37 +-
 _sources/_api/airflow/models/base/index.rst.txt    |    46 +-
 .../_api/airflow/models/baseoperator/index.rst.txt |   589 ++
 _sources/_api/airflow/models/chart/index.rst.txt   |   104 +
 .../_api/airflow/models/connection/index.rst.txt   |   163 +-
 _sources/_api/airflow/models/crypto/index.rst.txt  |    56 +
 _sources/_api/airflow/models/dag/index.rst.txt     |   796 ++
 _sources/_api/airflow/models/dagbag/index.rst.txt  |   118 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    58 +-
 _sources/_api/airflow/models/dagrun/index.rst.txt  |   230 +
 _sources/_api/airflow/models/errors/index.rst.txt  |    53 +-
 _sources/_api/airflow/models/index.rst.txt         |  6706 +++---------
 .../_api/airflow/models/knownevent/index.rst.txt   |    94 +
 .../_api/airflow/models/kubernetes/index.rst.txt   |    87 +-
 _sources/_api/airflow/models/log/index.rst.txt     |    88 +-
 _sources/_api/airflow/models/pool/index.rst.txt    |    92 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    26 +-
 _sources/_api/airflow/models/slamiss/index.rst.txt |    83 +-
 .../_api/airflow/models/taskfail/index.rst.txt     |    82 +-
 .../_api/airflow/models/taskinstance/index.rst.txt |   549 +
 .../airflow/models/taskreschedule/index.rst.txt    |    98 +-
 _sources/_api/airflow/models/user/index.rst.txt    |    54 +
 .../_api/airflow/models/variable/index.rst.txt     |   101 +
 _sources/_api/airflow/models/xcom/index.rst.txt    |   122 +
 .../airflow/operators/bash_operator/index.rst.txt  |    57 +-
 .../operators/branch_operator/index.rst.txt        |    47 +
 .../airflow/operators/check_operator/index.rst.txt |   184 +-
 .../operators/dagrun_operator/index.rst.txt        |    58 +-
 .../operators/docker_operator/index.rst.txt        |    63 +-
 .../operators/druid_check_operator/index.rst.txt   |    37 +-
 .../airflow/operators/dummy_operator/index.rst.txt |    37 +-
 .../airflow/operators/email_operator/index.rst.txt |    53 +-
 .../operators/generic_transfer/index.rst.txt       |    53 +-
 .../airflow/operators/hive_operator/index.rst.txt  |    65 +-
 .../operators/hive_stats_operator/index.rst.txt    |    48 +-
 .../airflow/operators/hive_to_druid/index.rst.txt  |    69 +-
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    53 +-
 .../operators/hive_to_samba_operator/index.rst.txt |    45 +-
 .../airflow/operators/http_operator/index.rst.txt  |    53 +-
 _sources/_api/airflow/operators/index.rst.txt      |   350 +-
 .../airflow/operators/jdbc_operator/index.rst.txt  |    53 +-
 .../operators/latest_only_operator/index.rst.txt   |    35 +-
 .../airflow/operators/mssql_operator/index.rst.txt |    53 +-
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    56 +-
 .../airflow/operators/mysql_operator/index.rst.txt |    53 +-
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    56 +-
 .../operators/oracle_operator/index.rst.txt        |    53 +-
 .../airflow/operators/pig_operator/index.rst.txt   |    66 +-
 .../operators/postgres_operator/index.rst.txt      |    53 +-
 .../operators/presto_check_operator/index.rst.txt  |    67 +-
 .../operators/presto_to_mysql/index.rst.txt        |    53 +-
 .../operators/python_operator/index.rst.txt        |   139 +-
 .../redshift_to_s3_operator/index.rst.txt          |    53 +-
 .../s3_file_transform_operator/index.rst.txt       |    53 +-
 .../operators/s3_to_hive_operator/index.rst.txt    |    62 +-
 .../s3_to_redshift_operator/index.rst.txt          |    53 +-
 .../_api/airflow/operators/sensors/index.rst.txt   |   142 +-
 .../airflow/operators/slack_operator/index.rst.txt |    69 +-
 .../operators/sqlite_operator/index.rst.txt        |    53 +-
 .../operators/subdag_operator/index.rst.txt        |    45 +-
 .../sensors/base_sensor_operator/index.rst.txt     |    76 +-
 .../sensors/external_task_sensor/index.rst.txt     |    45 +-
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |    51 +-
 .../sensors/hive_partition_sensor/index.rst.txt    |    45 +-
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    37 +-
 _sources/_api/airflow/sensors/index.rst.txt        |    49 -
 .../metastore_partition_sensor/index.rst.txt       |    45 +-
 .../named_hive_partition_sensor/index.rst.txt      |    51 +-
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    37 +-
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    37 +-
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    72 +-
 .../sensors/time_delta_sensor/index.rst.txt        |    29 +-
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    29 +-
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    37 +-
 _sources/concepts.rst.txt                          |   151 +-
 _sources/faq.rst.txt                               |    13 +-
 _sources/howto/connection/gcp.rst.txt              |    12 +-
 _sources/howto/connection/grpc.rst.txt             |    73 +
 _sources/howto/define_extra_link.rst.txt           |    56 +
 _sources/howto/executor/use-celery.rst.txt         |     1 +
 _sources/howto/index.rst.txt                       |     1 +
 _sources/howto/operator/dingding.rst.txt           |     8 +-
 _sources/howto/operator/gcp/cloud_build.rst.txt    |   115 +
 _sources/howto/operator/gcp/compute.rst.txt        |    10 +-
 _sources/howto/operator/gcp/function.rst.txt       |     4 +-
 _sources/howto/operator/gcp/gcs.rst.txt            |     4 +-
 _sources/howto/operator/gcp/spanner.rst.txt        |    10 +-
 _sources/howto/operator/gcp/speech.rst.txt         |   125 +
 _sources/howto/operator/gcp/sql.rst.txt            |    18 +-
 _sources/howto/operator/gcp/transfer.rst.txt       |    18 +-
 .../howto/operator/gcp/translate-speech.rst.txt    |    72 +
 _sources/howto/operator/gcp/translate.rst.txt      |     2 +-
 _sources/howto/operator/gcp/video.rst.txt          |   199 +
 _sources/howto/operator/gcp/vision.rst.txt         |   273 +-
 _sources/howto/write-logs.rst.txt                  |    47 +-
 _sources/installation.rst.txt                      |     7 +-
 _sources/integration.rst.txt                       |   180 +
 _sources/kubernetes.rst.txt                        |    25 +-
 _sources/lineage.rst.txt                           |     2 +-
 _sources/macros.rst.txt                            |   101 +-
 _sources/metrics.rst.txt                           |    15 +-
 _sources/plugins.rst.txt                           |    25 +
 _sources/project.rst.txt                           |    17 +-
 _sources/timezone.rst.txt                          |     4 +-
 _static/basic.css                                  |    15 +
 _static/documentation_options.js                   |     2 +-
 _static/searchtools.js                             |     7 +-
 api.html                                           |    26 +-
 changelog.html                                     |   418 +-
 cli.html                                           |     2 +-
 concepts.html                                      |   123 +-
 faq.html                                           |    17 +-
 genindex.html                                      |  2332 ++++-
 howto/check-health.html                            |     7 +-
 howto/connection/aws.html                          |     4 +-
 howto/connection/gcp.html                          |    17 +-
 howto/connection/gcp_sql.html                      |     8 +-
 howto/connection/grpc.html                         |   403 +
 howto/connection/index.html                        |     5 +-
 howto/connection/mysql.html                        |     8 +-
 howto/connection/oracle.html                       |     4 +-
 howto/connection/postgres.html                     |     4 +-
 howto/connection/ssh.html                          |     4 +-
 howto/define_extra_link.html                       |   367 +
 howto/executor/use-celery.html                     |     4 +-
 howto/executor/use-dask.html                       |     3 +-
 howto/executor/use-mesos.html                      |     3 +-
 howto/index.html                                   |     5 +-
 howto/initialize-database.html                     |     3 +-
 howto/operator/bash.html                           |     3 +-
 howto/operator/dingding.html                       |    15 +-
 howto/operator/gcp/bigtable.html                   |    12 +-
 howto/operator/gcp/cloud_build.html                |   469 +
 howto/operator/gcp/compute.html                    |    27 +-
 howto/operator/gcp/function.html                   |    14 +-
 howto/operator/gcp/gcs.html                        |    14 +-
 howto/operator/gcp/index.html                      |    13 +-
 howto/operator/gcp/natural_language.html           |     8 +-
 howto/operator/gcp/spanner.html                    |    27 +-
 howto/operator/gcp/speech.html                     |   477 +
 howto/operator/gcp/sql.html                        |    39 +-
 howto/operator/gcp/transfer.html                   |    35 +-
 howto/operator/gcp/translate-speech.html           |   421 +
 howto/operator/gcp/translate.html                  |    15 +-
 howto/operator/gcp/video.html                      |   555 +
 howto/operator/gcp/vision.html                     |   327 +-
 howto/operator/index.html                          |     8 +-
 howto/operator/python.html                         |     3 +-
 howto/run-behind-proxy.html                        |     3 +-
 howto/run-with-systemd.html                        |     3 +-
 howto/run-with-upstart.html                        |     3 +-
 howto/secure-connections.html                      |     3 +-
 howto/set-config.html                              |     3 +-
 howto/use-test-config.html                         |     3 +-
 howto/write-logs.html                              |    43 +-
 http-routingtable.html                             |     2 +-
 index.html                                         |    46 +-
 installation.html                                  |    15 +-
 integration.html                                   |   153 +-
 kubernetes.html                                    |    23 +-
 license.html                                       |     2 +-
 lineage.html                                       |     4 +-
 macros.html                                        |    58 +-
 metrics.html                                       |    33 +-
 objects.inv                                        |   Bin 34724 -> 39815 bytes
 plugins.html                                       |    27 +-
 profiling.html                                     |     2 +-
 project.html                                       |    19 +-
 py-modindex.html                                   |   162 +-
 scheduler.html                                     |     4 +-
 search.html                                        |     2 +-
 searchindex.js                                     |     2 +-
 security.html                                      |     2 +-
 start.html                                         |     2 +-
 timezone.html                                      |     6 +-
 tutorial.html                                      |     2 +-
 ui.html                                            |     6 +-
 2261 files changed, 497082 insertions(+), 51264 deletions(-)

diff --git a/1.10.4/_api/airflow/contrib/executors/index.html b/1.10.4/_api/airflow/contrib/executors/index.html
new file mode 100644
index 0000000..01365ec
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/executors/index.html
@@ -0,0 +1,341 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.kubernetes_executor" href="kubernetes_executor/index.html" />
+    <link rel="prev" title="airflow.executors.sequential_executor" href="../../executors/sequential_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">API Reference</a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../_sources/_api/airflow/contrib/executors/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors">
+<span id="airflow-contrib-executors"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors" title="airflow.contrib.executors"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="mesos_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="kubernetes_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.kubernetes_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../../executors/sequential_executor/index.html" class="btn btn-neutral float-left" title="airflow.executors.sequential_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
new file mode 100644
index 0000000..7b24bd2
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -0,0 +1,599 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.mesos_executor" href="../mesos_executor/index.html" />
+    <link rel="prev" title="airflow.contrib.executors" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/kubernetes_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.kubernetes_executor">
+<span id="airflow-contrib-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.kubernetes_executor" title="airflow.contrib.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutorConfig</code><span class="sig-paren">(</span><em class="sig-param">image=None</em>, <em class="sig-param">image_pull_policy=None</em>, <em class="sig-param">request_memory=None</em>, <em class="sig-param">request_cpu=None</em>, <em class="sig-param">limit_memory=None</em>, <em class="sig-param">limit_cpu=None</em>,  [...]
+<dd><dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__">
+<code class="sig-name descname">__repr__</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict">
+<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.from_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict" title="Perma [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict">
+<code class="sig-name descname">as_dict</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubeConfig</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section">
+<code class="sig-name descname">core_section</code><em class="property"> = core</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.core_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section">
+<code class="sig-name descname">kubernetes_section</code><em class="property"> = kubernetes</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.kubernetes_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_context_val">
+<code class="sig-name descname">_get_security_context_val</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">scontext</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._get_security_context_val"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._validate">
+<code class="sig-name descname">_validate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._validate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em class="sig-param">namespace</em>, <em class="sig-param">watcher_queue</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../.. [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code>, <a class="reference external" href="https://docs.python.org/3/library/function [...]
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run">
+<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run">
+<code class="sig-name descname">_run</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher._run"><span class="viewcode-link">[source]</span></a><a c [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
+<code class="sig-name descname">process_error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">event</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error" title= [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
+<code class="sig-name descname">process_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em>, <em class="sig-param">status</em>, <em class="sig-param">labels</em>, <em class="sig-param">resource_version</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_status"><span class="viewcode-link">[source]</span></a [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em class="sig-param">kube_config</em>, <em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../. [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
+<code class="sig-name descname">_make_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Permal [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
+<code class="sig-name descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kub [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
+<code class="sig-name descname">run_next</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">next_job</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.run_next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next" title= [...]
+<dd><p>The run_next command will check the task_queue for any un-run jobs.
+It will then create a unique job-id, launch that job in the cluster,
+and store relevant info in the current_jobs map so we can track the job’s
+status</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
+<code class="sig-name descname">delete_pod</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.delete_pod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod" ti [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>The sync function checks the status of all currently running kubernetes jobs.
+If a job is completed, it’s status is placed in the result queue to
+be sent back to the scheduler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
+<code class="sig-name descname">process_watcher_task</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">task</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.process_watcher_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesSchedu [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars">
+<em class="property">static </em><code class="sig-name descname">_strip_unsafe_kubernetes_special_chars</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuber [...]
+<dd><p>Kubernetes only supports lowercase alphanumeric characters and “-” and “.” in
+the pod name
+However, there are special rules about how “-” and “.” can be used so let’s
+only keep
+alphanumeric chars  see here for detail:
+<a class="reference external" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – The requested Pod name</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> Pod name stripped of any unsafe characters</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id">
+<em class="property">static </em><code class="sig-name descname">_make_safe_pod_id</code><span class="sig-paren">(</span><em class="sig-param">safe_dag_id</em>, <em class="sig-param">safe_task_id</em>, <em class="sig-param">safe_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerli [...]
+<dd><p>Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for
+validation
+“^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>safe_dag_id</strong> – a dag_id with only alphanumeric characters</p></li>
+<li><p><strong>safe_task_id</strong> – a task_id with only alphanumeric characters</p></li>
+<li><p><strong>random_uuid</strong> – a uuid</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> valid Pod name of appropriate length</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value">
+<em class="property">static </em><code class="sig-name descname">_make_safe_label_value</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_label_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetes [...]
+<dd><p>Valid label values must be 63 characters or less and must be empty or begin and
+end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
+dots (.), and alphanumerics between.</p>
+<p>If the label value is then greater than 63 chars once made safe, or differs in any
+way from the original value sent to this function, then we need to truncate to
+53chars, and append it with a unique hash.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id">
+<em class="property">static </em><code class="sig-name descname">_create_pod_id</code><span class="sig-paren">(</span><em class="sig-param">dag_id</em>, <em class="sig-param">task_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._create_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_execut [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime">
+<em class="property">static </em><code class="sig-name descname">_label_safe_datestring_to_datetime</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._label_safe_datestring_to_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_ex [...]
+<dd><p>Kubernetes doesn’t permit “:” in labels. ISO datetime format uses “:” but not
+“_”, let’s
+replace “:” with “_”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – str</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>datetime.datetime object</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring">
+<em class="property">static </em><code class="sig-name descname">_datetime_to_label_safe_datestring</code><span class="sig-paren">(</span><em class="sig-param">datetime_obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._datetime_to_label_safe_datestring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuberne [...]
+<dd><p>Kubernetes doesn’t like “:” in labels, since ISO datetime format uses “:” but
+not “_” let’s
+replace “:” with “_”
+:param datetime_obj: datetime.datetime object
+:return: ISO-like string representing the datetime</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key">
+<code class="sig-name descname">_labels_to_key</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">labels</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._labels_to_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition"> [...]
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
+<code class="sig-name descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">session=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.K [...]
+<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
+may not
+have been launched Thus, on starting up the scheduler let’s check every
+“Queued” task to
+see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
+<p>If it has been launched then do nothing, otherwise reset the state to “None” so
+the task
+will be rescheduled</p>
+<p>This will not be necessary in a future version of airflow in which there is
+proper support
+for State.LAUNCHED</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets">
+<code class="sig-name descname">_inject_secrets</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._inject_secrets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.execute_async"><span class="viewcode-link">[source]</span>< [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state">
+<code class="sig-name descname">_change_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">state</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._change_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executo [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mesos_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.mesos_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
new file mode 100644
index 0000000..16246b9
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -0,0 +1,446 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.models" href="../../../models/index.html" />
+    <link rel="prev" title="airflow.contrib.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/mesos_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.mesos_executor">
+<span id="airflow-contrib-executors-mesos-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.mesos_executor" title="airflow.contrib.executors.mesos_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.mesos_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">DEFAULT_FRAMEWORK_NAME</code><em class="property"> = Airflow</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#DEFAULT_FRAMEWORK_NAME"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME" title="Permalink to this definition" [...]
+<dd></dd></dl>
+
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">FRAMEWORK_CONNID_PREFIX</code><em class="property"> = mesos_framework_</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#FRAMEWORK_CONNID_PREFIX"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX" title="Permalink to this [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.executors.mesos_executor.get_framework_name">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">get_framework_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#get_framework_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.get_framework_name" title="Permalink to  [...]
+<dd></dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">AirflowMesosScheduler</code><span class="sig-paren">(</span><em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">task_cpu=1</em>, <em class="sig-param">task_mem=256</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/meso [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mesos.interface.Scheduler</span></code></p>
+<p>Airflow Mesos scheduler implements mesos scheduler interface
+to schedule airflow tasks on mesos.
+Basically, it schedules a command like
+‘airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; –local -p=&lt;pickle&gt;’
+to run on a mesos slave.</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.registered">
+<code class="sig-name descname">registered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">frameworkId</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.registered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.ex [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.reregistered">
+<code class="sig-name descname">reregistered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.reregistered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected">
+<code class="sig-name descname">disconnected</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.disconnected"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected" title="Permalink [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.offerRescinded">
+<code class="sig-name descname">offerRescinded</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offerId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.offerRescinded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesos [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.frameworkMessage">
+<code class="sig-name descname">frameworkMessage</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.frameworkMessage"><span class="viewcode-link">[source]</span></a><a  [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.executorLost">
+<code class="sig-name descname">executorLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">status</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.executorLost"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.slaveLost">
+<code class="sig-name descname">slaveLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">slaveId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.slaveLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler. [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error">
+<code class="sig-name descname">error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error" t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.resourceOffers">
+<code class="sig-name descname">resourceOffers</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offers</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.resourceOffers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.statusUpdate">
+<code class="sig-name descname">statusUpdate</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">update</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.statusUpdate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosSched [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">MesosExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>MesosExecutor allows distributing the execution of task
+instances to multiple mesos workers.</p>
+<p>Apache Mesos is a distributed systems kernel which abstracts
+CPU, memory, storage, and other compute resources away from
+machines (physical or virtual), enabling fault-tolerant and
+elastic distributed systems to easily be built and run effectively.
+See <a class="reference external" href="http://mesos.apache.org/">http://mesos.apache.org/</a></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a clas [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../../../models/index.html" class="btn btn-neutral float-right" title="airflow.models" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../kubernetes_executor/index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors.kubernetes_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
new file mode 100644
index 0000000..94e418e
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -0,0 +1,467 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_athena_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_athena_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_athena_hook">
+<span id="airflow-contrib-hooks-aws-athena-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_athena_hook" title="airflow.contrib.hooks.aws_athena_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_athena_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_athena_hook.</code><code class="sig-name descname">AWSAthenaHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">sleep_time=30</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_h [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Athena to run, poll queries and return query results</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws connection to use.</p></li>
+<li><p><strong>sleep_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Time to wait between two consecutive call to check query status on athena</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES">
+<code class="sig-name descname">INTERMEDIATE_STATES</code><em class="property"> = ['QUEUED', 'RUNNING']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.INTERMEDIATE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES">
+<code class="sig-name descname">FAILURE_STATES</code><em class="property"> = ['FAILED', 'CANCELLED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.FAILURE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES">
+<code class="sig-name descname">SUCCESS_STATES</code><em class="property"> = ['SUCCEEDED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.SUCCESS_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>check if aws conn exists already or create one and return it</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>boto3 session</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query">
+<code class="sig-name descname">run_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query</em>, <em class="sig-param">query_context</em>, <em class="sig-param">result_configuration</em>, <em class="sig-param">client_request_token=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.run_query"><span class="viewcode-link">[source]</span [...]
+<dd><p>Run Presto query on athena with provided config and return submitted query_execution_id</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Presto query to run</p></li>
+<li><p><strong>query_context</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Context in which query need to be run</p></li>
+<li><p><strong>result_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Dict with path to store results in and config related to encryption</p></li>
+<li><p><strong>client_request_token</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Unique token created by user to avoid multiple executions of same query</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status">
+<code class="sig-name descname">check_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.check_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status" title="P [...]
+<dd><p>Fetch the status of submitted athena query. Returns None or one of valid query states.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_reason">
+<code class="sig-name descname">get_state_change_reason</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_state_change_reason"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_r [...]
+<dd><p>Fetch the reason for a state change (e.g. error message). Returns None or reason string.
+:param query_execution_id: Id of submitted athena query
+:type query_execution_id: str
+:return: str</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results">
+<code class="sig-name descname">get_query_results</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_query_results"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results" title="Perm [...]
+<dd><p>Fetch submitted athena query results. returns none if query is in intermediate state or
+failed/cancelled state else dict of query output</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status">
+<code class="sig-name descname">poll_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em>, <em class="sig-param">max_tries=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.poll_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.A [...]
+<dd><p>Poll the status of submitted athena query until query state reaches final state.
+Returns one of the final states</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p></li>
+<li><p><strong>max_tries</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of times to poll for query state before function exits</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query">
+<code class="sig-name descname">stop_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.stop_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query" title="Permalink to this definit [...]
+<dd><p>Cancel the submitted athena query</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
new file mode 100644
index 0000000..49f479d
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -0,0 +1,364 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_athena_hook" href="../aws_athena_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_dynamodb_hook">
+<span id="airflow-contrib-hooks-aws-dynamodb-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="airflow.contrib.hooks.aws_dynamodb_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_dynamodb_hook.</code><code class="sig-name descname">AwsDynamoDBHook</code><span class="sig-paren">(</span><em class="sig-param">table_keys=None</em>, <em class="sig-param">table_name=None</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_m [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS DynamoDB.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>table_keys</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – partition key and sort key</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – target DynamoDB table</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">
+<code class="sig-name descname">write_batch_data</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">items</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.write_batch_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data" title="Permalink to [...]
+<dd><p>Write batch items to dynamodb table with provisioned throughout capacity.</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_athena_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_athena_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
new file mode 100644
index 0000000..de372a7
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -0,0 +1,360 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_firehose_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_firehose_hook">
+<span id="airflow-contrib-hooks-aws-firehose-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="airflow.contrib.hooks.aws_firehose_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_firehose_hook.</code><code class="sig-name descname">AwsFirehoseHook</code><span class="sig-paren">(</span><em class="sig-param">delivery_stream</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_ho [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Kinesis Firehose.
+:param delivery_stream: Name of the delivery stream
+:type delivery_stream: str
+:param region_name: AWS region name (example: us-east-1)
+:type region_name: str</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns AwsHook connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">
+<code class="sig-name descname">put_records</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">records</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.put_records"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records" title="Permalink to this definit [...]
+<dd><p>Write batch records to Kinesis Firehose</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
new file mode 100644
index 0000000..f3e9d6d
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -0,0 +1,449 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_glue_catalog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_glue_catalog_hook">
+<span id="airflow-contrib-hooks-aws-glue-catalog-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="airflow.contrib.hooks.aws_glue_catalog_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_glue_catalog_hook.</code><code class="sig-name descname">AwsGlueCatalogHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hook [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Glue Catalog</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – ID of the Airflow connection where
+credentials and extra configuration are stored</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns glue connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_partitions">
+<code class="sig-name descname">get_partitions</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression=''</em>, <em class="sig-param">page_size=None</em>, <em class="sig-param">max_items=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_par [...]
+<dd><p>Retrieves the partition values for a table.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the catalog database where the partitions reside.</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the partitions’ table.</p></li>
+<li><p><strong>expression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – An expression filtering the partitions to be returned.
+Please see official AWS documentation for further information.
+<a class="reference external" href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions">https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions</a></p></li>
+<li><p><strong>page_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – pagination size</p></li>
+<li><p><strong>max_items</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – maximum items to return</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>set of partition values where each value is a tuple since
+a partition may be composed of multiple columns. For example:
+<code class="docutils literal notranslate"><span class="pre">{('2018-01-01','1'),</span> <span class="pre">('2018-01-01','2')}</span></code></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_partition">
+<code class="sig-name descname">check_for_partition</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.check_for_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
+<dd><p>Checks whether a partition exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table &#64;partition belongs to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Expression</dt>
+<dd class="field-even"><p>Expression that matches the partitions to check for
+(eg <cite>a = ‘b’ AND c = ‘d’</cite>)</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table">
+<code class="sig-name descname">get_table</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCa [...]
+<dd><p>Get the information of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s1">&#39;db&#39;</span><span class="p">,</span> <span class="s1">&#39;table_foo&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s1">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;table_foo&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table_location">
+<code class="sig-name descname">get_table_location</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table_location"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_cata [...]
+<dd><p>Get the physical location of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
new file mode 100644
index 0000000..6fb9903
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -0,0 +1,407 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_hook">
+<span id="airflow-contrib-hooks-aws-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_hook" title="airflow.contrib.hooks.aws_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="function">
+<dt id="airflow.contrib.hooks.aws_hook._parse_s3_config">
+<code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">_parse_s3_config</code><span class="sig-paren">(</span><em class="sig-param">config_file_name</em>, <em class="sig-param">config_format='boto'</em>, <em class="sig-param">profile=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#_parse_s3_config"><span class="viewcode-link">[source]</span></a>< [...]
+<dt>
+<code class="sig-name descname">Parses a config file for s3 credentials. Can currently</code></dt>
+<dt>
+<code class="sig-name descname">parse boto, s3cmd.conf and AWS SDK config formats</code></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>config_file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – path to the config file</p></li>
+<li><p><strong>config_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – config type. One of “boto”, “s3cmd” or “aws”.
+Defaults to “boto”</p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – profile name in AWS type config file</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">AwsHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">verify=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href=" [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interact with AWS.
+This class is a thin wrapper around the boto3 python library.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook._get_credentials">
+<code class="sig-name descname">_get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook._get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook._get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_client_type">
+<code class="sig-name descname">get_client_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">client_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_client_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_resource_type">
+<code class="sig-name descname">get_resource_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_resource_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_session">
+<code class="sig-name descname">get_session</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying boto3.session.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">
+<code class="sig-name descname">get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying <cite>botocore.Credentials</cite> object.</p>
+<p>This contains the following authentication attributes: access_key, secret_key and token.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.expand_role">
+<code class="sig-name descname">expand_role</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">role</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.expand_role"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.expand_role" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.
+If IAM role is already an IAM role ARN, no change is made.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>role</strong> – IAM role name or ARN</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>IAM role ARN</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
new file mode 100644
index 0000000..9dcfa81
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -0,0 +1,366 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_lambda_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_lambda_hook">
+<span id="airflow-contrib-hooks-aws-lambda-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="airflow.contrib.hooks.aws_lambda_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_lambda_hook.</code><code class="sig-name descname">AwsLambdaHook</code><span class="sig-paren">(</span><em class="sig-param">function_name</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">log_type='None'</em>, <em class="sig-param">qualifier='$LATEST'</em>, <em class="sig-param">invocation_type='RequestResponse'</em>, <em class="sig-param">*args</em>, <em class="sig-p [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Lambda</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>function_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Name</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p></li>
+<li><p><strong>log_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Tail Invocation Request</p></li>
+<li><p><strong>qualifier</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Version or Alias Name</p></li>
+<li><p><strong>invocation_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Invocation Type (RequestResponse, Event etc)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">
+<code class="sig-name descname">invoke_lambda</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">payload</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.invoke_lambda"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda" title="Permalink to this definitio [...]
+<dd><p>Invoke Lambda Function</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sns_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
new file mode 100644
index 0000000..e9eb9e6
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -0,0 +1,365 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sns_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sns_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sns_hook">
+<span id="airflow-contrib-hooks-aws-sns-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sns_hook" title="airflow.contrib.hooks.aws_sns_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sns_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sns_hook.</code><code class="sig-name descname">AwsSnsHook</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with Amazon Simple Notification Service.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get an SNS connection</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_target">
+<code class="sig-name descname">publish_to_target</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">target_arn</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.publish_to_target"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_tar [...]
+<dd><p>Publish a message to a topic or an endpoint.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>target_arn</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – either a TopicArn or an EndpointArn</p></li>
+<li><p><strong>message</strong> – the default message you want to send</p></li>
+<li><p><strong>message</strong> – str</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
new file mode 100644
index 0000000..4b1bad3
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -0,0 +1,403 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sqs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sqs_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sqs_hook">
+<span id="airflow-contrib-hooks-aws-sqs-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="airflow.contrib.hooks.aws_sqs_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sqs_hook.</code><code class="sig-name descname">SQSHook</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Get the SQS client using boto3 library</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>SQS client</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>botocore.client.SQS</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue">
+<code class="sig-name descname">create_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_name</em>, <em class="sig-param">attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.create_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue" title="P [...]
+<dd><p>Create queue using connection object</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – name of the queue.</p></li>
+<li><p><strong>attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – additional attributes for the queue (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the queue
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.send_message">
+<code class="sig-name descname">send_message</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_url</em>, <em class="sig-param">message_body</em>, <em class="sig-param">delay_seconds=0</em>, <em class="sig-param">message_attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.send_message"><span class="viewcode-link">[source]</span></a><a [...]
+<dd><p>Send message to the queue</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_url</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – queue url</p></li>
+<li><p><strong>message_body</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the contents of the message</p></li>
+<li><p><strong>delay_seconds</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – seconds to delay the message</p></li>
+<li><p><strong>message_attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – additional attributes for the message (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the message sent
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sns_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
new file mode 100644
index 0000000..166aa3f
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -0,0 +1,485 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_instance_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_instance_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_instance_hook">
+<span id="airflow-contrib-hooks-azure-container-instance-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="airflow.contrib.hooks.azure_container_instance_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_instance_hook.</code><code class="sig-name descname">AzureContainerInstanceHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook"><span class="viewcode-link">[source]< [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with Azure Container Instances.</p>
+<p>This hook requires a service principal in order to work.
+After creating this service principal
+(Azure Active Directory/App Registrations), you need to fill in the
+client_id (Application ID) as login, the generated password as password,
+and tenantId and subscriptionId in the extra’s field as a json.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.create_or_update">
+<code class="sig-name descname">create_or_update</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">container_group</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.create_or_update"><span class="viewcode-link">[source]</span></a><a class="hea [...]
+<dd><p>Create a new container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>container_group</strong> (<em>azure.mgmt.containerinstance.models.ContainerGroup</em>) – the properties of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state_exitcode_details">
+<code class="sig-name descname">get_state_exitcode_details</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state_exitcode_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Get the state and exitcode of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A tuple with the state, exitcode, and details.
+If the exitcode is unknown 0 is returned.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)">tuple</a>(state,exitcode,details)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_messages">
+<code class="sig-name descname">get_messages</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_messages"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_containe [...]
+<dd><p>Get the messages of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of the event messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state">
+<code class="sig-name descname">get_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_inst [...]
+<dd><p>Get the state of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>ContainerGroup</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>ContainerGroup</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_logs">
+<code class="sig-name descname">get_logs</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">tail=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflo [...]
+<dd><p>Get the tail from logs of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>tail</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – the size of the tail</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of log messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.delete">
+<code class="sig-name descname">delete</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Delete a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.exists">
+<code class="sig-name descname">exists</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Test if a container group exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
new file mode 100644
index 0000000..86eb248
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -0,0 +1,355 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_registry_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_registry_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_registry_hook">
+<span id="airflow-contrib-hooks-azure-container-registry-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="airflow.contrib.hooks.azure_container_registry_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_registry_hook.</code><code class="sig-name descname">AzureContainerRegistryHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_registry'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook"><span class="viewcode-link">[source] [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with a Azure Container Registry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
new file mode 100644
index 0000000..c03fa34
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -0,0 +1,360 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_volume_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_volume_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_volume_hook">
+<span id="airflow-contrib-hooks-azure-container-volume-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="airflow.contrib.hooks.azure_container_volume_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="Permalink to this headline">¶< [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_volume_hook.</code><code class="sig-name descname">AzureContainerVolumeHook</code><span class="sig-paren">(</span><em class="sig-param">wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook"><span class="viewcode-link">[source]</spa [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook which wraps an Azure Volume.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a Azure storage account of
+which file shares should be mounted</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey">
+<code class="sig-name descname">get_storagekey</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_storagekey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey" title="Permalink to t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_file_volume">
+<code class="sig-name descname">get_file_volume</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">mount_name</em>, <em class="sig-param">share_name</em>, <em class="sig-param">storage_account_name</em>, <em class="sig-param">read_only=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_file_volume"><span class="vi [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
new file mode 100644
index 0000000..4c694d9
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -0,0 +1,450 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_cosmos_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_cosmos_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_cosmos_hook">
+<span id="airflow-contrib-hooks-azure-cosmos-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="airflow.contrib.hooks.azure_cosmos_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">AzureCosmosDBHook</code><span class="sig-paren">(</span><em class="sig-param">azure_cosmos_conn_id='azure_cosmos_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure CosmosDB.</p>
+<p>login should be the endpoint uri, password should be the master key
+optionally, you can use the following extras to default these values
+{“database_name”: “&lt;DATABASE_NAME&gt;”, “collection_name”: “COLLECTION_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_cosmos_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure CosmosDB connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a cosmos db client.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database_name">
+<code class="sig-name descname">__get_database_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_database_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_collection_name">
+<code class="sig-name descname">__get_collection_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_collection_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_co [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist">
+<code class="sig-name descname">does_collection_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_collection_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.az [...]
+<dd><p>Checks if a collection exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection">
+<code class="sig-name descname">create_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Creates a new collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist">
+<code class="sig-name descname">does_database_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_database_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist [...]
+<dd><p>Checks if a database exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database">
+<code class="sig-name descname">create_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database" title="Per [...]
+<dd><p>Creates a new database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database">
+<code class="sig-name descname">delete_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database" title="Per [...]
+<dd><p>Deletes an existing database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection">
+<code class="sig-name descname">delete_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Deletes an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.upsert_document">
+<code class="sig-name descname">upsert_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">document_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.upsert_document"><span class="viewcode-lin [...]
+<dd><p>Inserts a new document (or updates an existing one) into an existing
+collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documents">
+<code class="sig-name descname">insert_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">documents</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.insert_documents"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Insert a list of new documents into an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_document">
+<code class="sig-name descname">delete_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_document"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Delete an existing document out of a collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document">
+<code class="sig-name descname">get_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href [...]
+<dd><p>Get a document from an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_documents">
+<code class="sig-name descname">get_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">sql_string</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">partition_key=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_documents"><span class="viewcode-lin [...]
+<dd><p>Get a list of documents from an existing collection in the CosmosDB database via SQL query.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_database_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_database_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_database_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.get_dat [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_collection_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_collection_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_collection_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#a [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_document_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_document_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em>, <em class="sig-param">document_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_document_link"><span class="viewcode-link">[source]</spa [...]
+<dd></dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
new file mode 100644
index 0000000..59f0108
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -0,0 +1,432 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_data_lake_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_data_lake_hook">
+<span id="airflow-contrib-hooks-azure-data-lake-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="airflow.contrib.hooks.azure_data_lake_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_data_lake_hook.</code><code class="sig-name descname">AzureDataLakeHook</code><span class="sig-paren">(</span><em class="sig-param">azure_data_lake_conn_id='azure_data_lake_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook"><span class="viewcode-link">[source]</span></a> [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure Data Lake.</p>
+<p>Client ID and client secret should be in user and password parameters.
+Tenant and account name should be extra field as
+{“tenant”: “&lt;TENANT&gt;”, “account_name”: “ACCOUNT_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_data_lake_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure Data Lake connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a AzureDLFileSystem object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file">
+<code class="sig-name descname">check_for_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">file_path</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.check_for_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file" title="Perm [...]
+<dd><p>Check if a file exists on Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Path and name of the file.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.upload_file">
+<code class="sig-name descname">upload_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">local_path</em>, <em class="sig-param">remote_path</em>, <em class="sig-param">nthreads=64</em>, <em class="sig-param">overwrite=True</em>, <em class="sig-param">buffersize=4194304</em>, <em class="sig-param">blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data [...]
+<dd><p>Upload a file to Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. Can be single file, directory (in which case,
+upload recursively) or glob pattern. Recursive glob patterns using <cite>**</cite>
+are not supported.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Remote path to upload to; if multiple files, this is the
+directory root to write within.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.download_file">
+<code class="sig-name descname">download_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">local_path</em>, <em class="sig-param">remote_path</em>, <em class="sig-param">nthreads=64</em>, <em class="sig-param">overwrite=True</em>, <em class="sig-param">buffersize=4194304</em>, <em class="sig-param">blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_da [...]
+<dd><p>Download a file from Azure Blob Storage.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. If downloading a single file, will write to this
+specific file, unless it is an existing directory, in which case a file is
+created within it. If downloading multiple files, this is the root
+directory to write within. Will create directories as required.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – remote path/globstring to use to find remote files.
+Recursive glob patterns using <cite>**</cite> are not supported.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_fileshare_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_fileshare_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
new file mode 100644
index 0000000..0a693d2
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -0,0 +1,537 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_fileshare_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.bigquery_hook" href="../bigquery_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_fileshare_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_fileshare_hook">
+<span id="airflow-contrib-hooks-azure-fileshare-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="airflow.contrib.hooks.azure_fileshare_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_fileshare_hook.</code><code class="sig-name descname">AzureFileShareHook</code><span class="sig-paren">(</span><em class="sig-param">wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure FileShare Storage.</p>
+<p>Additional options passed in the ‘extra’ field of the connection will be
+passed to the <cite>FileService()</cite> constructor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the wasb connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the FileService object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_directory">
+<code class="sig-name descname">check_for_directory</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" hre [...]
+<dd><p>Check if a directory exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_file">
+<code class="sig-name descname">check_for_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_file"><span class="viewcode-link">[source]</span>< [...]
+<dd><p>Check if a file exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.list_directories_and_files">
+<code class="sig-name descname">list_directories_and_files</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name=None</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.list_directories_and_files"><span class="viewcode-link">[source]</span></a><a cla [...]
+<dd><p>Return the list of directories and files stored on a Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.list_directories_and_files()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of files and directories</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory">
+<code class="sig-name descname">create_directory</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.create_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ai [...]
+<dd><p>Create a new directory on a Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_directory()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of files and directories</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file">
+<code class="sig-name descname">get_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">file_path</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_file"><span class="viewc [...]
+<dd><p>Download a file from Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Where to store the file.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.get_file_to_path()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file_to_stream">
+<code class="sig-name descname">get_file_to_stream</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">stream</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_file_to_stream">< [...]
+<dd><p>Download a file from Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>stream</strong> (<em>file-like object</em>) – A filehandle to store the file to.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.get_file_to_stream()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_file">
+<code class="sig-name descname">load_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">file_path</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.load_file"><span class="vie [...]
+<dd><p>Upload a file to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Path to the file to load.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_path()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_string">
+<code class="sig-name descname">load_string</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">string_data</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.load_string"><span clas [...]
+<dd><p>Upload a string to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>string_data</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – String to load.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_text()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_stream">
+<code class="sig-name descname">load_stream</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">stream</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">count</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShar [...]
+<dd><p>Upload a stream to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>stream</strong> (<em>file-like</em>) – Opened file/stream to upload as the file content.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Size of the stream in bytes</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_stream()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../bigquery_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.bigquery_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
new file mode 100644
index 0000000..2b1095a
--- /dev/null
+++ b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -0,0 +1,1239 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.bigquery_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.cassandra_hook" href="../cassandra_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.bigquery_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/bigquery_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.bigquery_hook">
+<span id="airflow-contrib-hooks-bigquery-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.bigquery_hook" title="airflow.contrib.hooks.bigquery_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.bigquery_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.bigquery_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains a BigQuery Hook, as well as a very basic PEP 249
+implementation for BigQuery.</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="sig-name descname">BigQueryHook</code><span class="sig-paren">(</span><em class="sig-param">bigquery_conn_id='bigquery_default'</em>, <em class="sig-param">delegate_to=None</em>, <em class="sig-param">use_legacy_sql=True</em>, <em class="sig-param">location=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airfl [...]
+<dd><p>Bases: <a class="reference internal" href="../gcp_api_base_hook/index.html#airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook" title="airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook</span></code></a>, <a class="reference internal" href="../../../hooks/dbapi_hook/index.html#airflow.hooks.dbapi_hook.DbApiHook" title="airflow. [...]
+<p>Interact with BigQuery. This hook uses the Google Cloud Platform
+connection.</p>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.conn_name_attr">
+<code class="sig-name descname">conn_name_attr</code><em class="property"> = bigquery_conn_id</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.conn_name_attr"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.conn_name_attr" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery PEP 249 connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service">
+<code class="sig-name descname">get_service</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery service object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows">
+<code class="sig-name descname">insert_rows</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">table</em>, <em class="sig-param">rows</em>, <em class="sig-param">target_fields=None</em>, <em class="sig-param">commit_every=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.insert_rows"><span class="viewcode-link">[source]</span></a><a class="hea [...]
+<dd><p>Insertion is currently unsupported. Theoretically, you could use
+BigQuery’s streaming API to insert rows into a table, but this hasn’t
+been implemented.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">
+<code class="sig-name descname">get_pandas_df</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">sql</em>, <em class="sig-param">parameters=None</em>, <em class="sig-param">dialect=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_pandas_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.b [...]
+<dd><p>Returns a Pandas DataFrame for the results produced by a BigQuery
+query. The DbApiHook method must be overridden because Pandas
+doesn’t support PEP 249 connections, except for SQLite. See:</p>
+<p><a class="reference external" href="https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447">https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</a>
+<a class="reference external" href="https://github.com/pydata/pandas/issues/6900">https://github.com/pydata/pandas/issues/6900</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sql</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The BigQuery SQL to execute.</p></li>
+<li><p><strong>parameters</strong> (<em>mapping</em><em> or </em><em>iterable</em>) – The parameters to render the SQL query with (not
+used, leave to override superclass method)</p></li>
+<li><p><strong>dialect</strong> (<em>str in {'legacy'</em><em>, </em><em>'standard'}</em>) – Dialect of BigQuery SQL – legacy SQL or standard SQL
+defaults to use <cite>self.use_legacy_sql</cite> if not specified</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists">
+<code class="sig-name descname">table_exists</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">project_id</em>, <em class="sig-param">dataset_id</em>, <em class="sig-param">table_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.table_exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigqu [...]
+<dd><p>Checks for the existence of a table in Google BigQuery.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The Google cloud project in which to look for the
+table. The connection supplied to the hook must provide access to
+the specified project.</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the dataset in which to look for the
+table.</p></li>
+<li><p><strong>table_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the table to check the existence of.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryPandasConnector">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="sig-name descname">BigQueryPandasConnector</code><span class="sig-paren">(</span><em class="sig-param">project_id</em>, <em class="sig-param">service</em>, <em class="sig-param">reauth=False</em>, <em class="sig-param">verbose=False</em>, <em class="sig-param">dialect='legacy'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../.. [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pandas_gbq.gbq.GbqConnector</span></code></p>
+<p>This connector behaves identically to GbqConnector (from Pandas), except
+that it allows the service to be injected, and disables a call to
+self.get_credentials(). This allows Airflow to use BigQuery with Pandas
+without forcing a three legged OAuth connection. Instead, we can inject
+service account credentials into the binding.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="sig-name descname">BigQueryConnection</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection"><span class="viewcode-link">[source]</span></a><a class="headerlin [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>BigQuery does not have a notion of a persistent connection. Thus, these
+objects are small stateless factories for cursors, which do all the real
+work.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.close">
+<code class="sig-name descname">close</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.close" title="Permalink to this definition">¶</a></dt>
+<dd><p>BigQueryConnection does not have anything to close.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.commit">
+<code class="sig-name descname">commit</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.commit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.commit" title="Permalink to this definition">¶</a></dt>
+<dd><p>BigQueryConnection does not support transactions.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.cursor">
+<code class="sig-name descname">cursor</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.cursor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.cursor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a new <code class="xref py py-class docutils literal notranslate"><span class="pre">Cursor</span></code> object using the connection.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.rollback">
+<code class="sig-name descname">rollback</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.rollback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.rollback" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="sig-name descname">BigQueryBaseCursor</code><span class="sig-paren">(</span><em class="sig-param">service</em>, <em class="sig-param">project_id</em>, <em class="sig-param">use_legacy_sql=True</em>, <em class="sig-param">api_resource_configs=None</em>, <em class="sig-param">location=None</em>, <em class="sig-param">num_retries=None</em><span class="sig-paren">)< [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>The BigQuery base cursor contains helper methods to execute queries against
+BigQuery. The methods can be used directly by operators, in cases where a
+PEP 249 cursor isn’t needed.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.create_empty_table">
+<code class="sig-name descname">create_empty_table</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">project_id</em>, <em class="sig-param">dataset_id</em>, <em class="sig-param">table_id</em>, <em class="sig-param">schema_fields=None</em>, <em class="sig-param">time_partitioning=None</em>, <em class="sig-param">cluster_fields=None</em>, <em class="sig-param">labels=None</em>, <em class="sig-param">view=None</em>, <em class="sig-param">num_retri [...]
+<dd><p>Creates a new, empty table in the dataset.
+To create a view, which is defined by a SQL query, parse a dictionary to ‘view’ kwarg</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The project to create the table into.</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dataset to create the table into.</p></li>
... 606057 lines suppressed ...


[airflow-site] 16/30: Docs for 1.10.3

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 0f0b309d89b1b88345fc45896371cbac10d554ef
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Wed Apr 10 17:29:42 2019 +0100

    Docs for 1.10.3
---
 .buildinfo                                         |     2 +-
 1.10.3/.buildinfo                                  |     4 +
 1.10.3/_api/airflow/contrib/executors/index.html   |   341 +
 .../executors/kubernetes_executor/index.html       |   589 +
 .../contrib/executors/mesos_executor/index.html    |   446 +
 .../contrib/hooks/aws_athena_hook/index.html       |   458 +
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   364 +
 .../contrib/hooks/aws_firehose_hook/index.html     |   360 +
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   449 +
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   405 +
 .../contrib/hooks/aws_lambda_hook/index.html       |   366 +
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   365 +
 .../hooks/azure_container_instance_hook/index.html |   470 +
 .../hooks/azure_container_registry_hook/index.html |   355 +
 .../hooks/azure_container_volume_hook/index.html   |   360 +
 .../contrib/hooks/azure_cosmos_hook/index.html     |   450 +
 .../contrib/hooks/azure_data_lake_hook/index.html  |   432 +
 .../contrib/hooks/azure_fileshare_hook/index.html  |   537 +
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1229 ++
 .../contrib/hooks/cassandra_hook/index.html        |   433 +
 .../airflow/contrib/hooks/cloudant_hook/index.html |   359 +
 .../contrib/hooks/databricks_hook/index.html       |   542 +
 .../airflow/contrib/hooks/datadog_hook/index.html  |   423 +
 .../contrib/hooks/datastore_hook/index.html        |   499 +
 .../airflow/contrib/hooks/dingding_hook/index.html |   392 +
 .../contrib/hooks/discord_webhook_hook/index.html  |   402 +
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   359 +
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   360 +
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   554 +
 .../contrib/hooks/gcp_api_base_hook/index.html     |   455 +
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   507 +
 .../contrib/hooks/gcp_compute_hook/index.html      |   595 +
 .../contrib/hooks/gcp_container_hook/index.html    |   510 +
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   441 +
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   484 +
 .../contrib/hooks/gcp_function_hook/index.html     |   501 +
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   415 +
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   463 +
 .../hooks/gcp_natural_language_hook/index.html     |   516 +
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   519 +
 .../contrib/hooks/gcp_spanner_hook/index.html      |   590 +
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   916 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |   866 ++
 .../contrib/hooks/gcp_translate_hook/index.html    |   409 +
 .../contrib/hooks/gcp_vision_hook/index.html       |   509 +
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   667 +
 .../airflow/contrib/hooks/imap_hook/index.html     |   603 +
 1.10.3/_api/airflow/contrib/hooks/index.html       |   419 +
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   349 +
 .../airflow/contrib/hooks/jira_hook/index.html     |   354 +
 .../airflow/contrib/hooks/mongo_hook/index.html    |   536 +
 .../airflow/contrib/hooks/openfaas_hook/index.html |   403 +
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   384 +
 .../airflow/contrib/hooks/pinot_hook/index.html    |   411 +
 .../contrib/hooks/qubole_check_hook/index.html     |   388 +
 .../airflow/contrib/hooks/qubole_hook/index.html   |   414 +
 .../airflow/contrib/hooks/redis_hook/index.html    |   352 +
 .../airflow/contrib/hooks/redshift_hook/index.html |   414 +
 .../contrib/hooks/sagemaker_hook/index.html        |   862 ++
 .../contrib/hooks/salesforce_hook/index.html       |   480 +
 .../airflow/contrib/hooks/segment_hook/index.html  |   362 +
 .../airflow/contrib/hooks/sftp_hook/index.html     |   441 +
 .../contrib/hooks/slack_webhook_hook/index.html    |   390 +
 .../contrib/hooks/snowflake_hook/index.html        |   392 +
 .../contrib/hooks/spark_jdbc_hook/index.html       |   425 +
 .../contrib/hooks/spark_jdbc_script/index.html     |   357 +
 .../contrib/hooks/spark_sql_hook/index.html        |   404 +
 .../contrib/hooks/spark_submit_hook/index.html     |   513 +
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   503 +
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   407 +
 .../airflow/contrib/hooks/vertica_hook/index.html  |   365 +
 .../airflow/contrib/hooks/wasb_hook/index.html     |   488 +
 .../airflow/contrib/hooks/winrm_hook/index.html    |   394 +
 .../operators/adls_list_operator/index.html        |   389 +
 .../contrib/operators/adls_to_gcs/index.html       |   420 +
 .../operators/aws_athena_operator/index.html       |   386 +
 .../contrib/operators/awsbatch_operator/index.html |   424 +
 .../azure_container_instances_operator/index.html  |   438 +
 .../operators/azure_cosmos_operator/index.html     |   374 +
 .../operators/bigquery_check_operator/index.html   |   438 +
 .../contrib/operators/bigquery_get_data/index.html |   403 +
 .../contrib/operators/bigquery_operator/index.html |   693 +
 .../bigquery_table_delete_operator/index.html      |   378 +
 .../operators/bigquery_to_bigquery/index.html      |   394 +
 .../contrib/operators/bigquery_to_gcs/index.html   |   397 +
 .../contrib/operators/cassandra_to_gcs/index.html  |   485 +
 .../operators/databricks_operator/index.html       |   696 +
 .../contrib/operators/dataflow_operator/index.html |   629 +
 .../contrib/operators/dataproc_operator/index.html |  1067 ++
 .../operators/datastore_export_operator/index.html |   377 +
 .../operators/datastore_import_operator/index.html |   375 +
 .../contrib/operators/dingding_operator/index.html |   379 +
 .../operators/discord_webhook_operator/index.html  |   381 +
 .../contrib/operators/druid_operator/index.html    |   372 +
 .../contrib/operators/ecs_operator/index.html      |   414 +
 .../operators/emr_add_steps_operator/index.html    |   377 +
 .../emr_create_job_flow_operator/index.html        |   380 +
 .../emr_terminate_job_flow_operator/index.html     |   376 +
 .../contrib/operators/file_to_gcs/index.html       |   373 +
 .../contrib/operators/file_to_wasb/index.html      |   371 +
 .../operators/gcp_bigtable_operator/index.html     |   622 +
 .../operators/gcp_compute_operator/index.html      |   606 +
 .../operators/gcp_container_operator/index.html    |   541 +
 .../operators/gcp_function_operator/index.html     |   561 +
 .../gcp_natural_language_operator/index.html       |   496 +
 .../operators/gcp_spanner_operator/index.html      |   599 +
 .../contrib/operators/gcp_sql_operator/index.html  |   833 +
 .../operators/gcp_transfer_operator/index.html     |   896 ++
 .../operators/gcp_translate_operator/index.html    |   394 +
 .../operators/gcp_vision_operator/index.html       |   917 ++
 .../contrib/operators/gcs_acl_operator/index.html  |   422 +
 .../operators/gcs_download_operator/index.html     |   384 +
 .../contrib/operators/gcs_list_operator/index.html |   398 +
 .../contrib/operators/gcs_operator/index.html      |   421 +
 .../airflow/contrib/operators/gcs_to_bq/index.html |   446 +
 .../contrib/operators/gcs_to_gcs/index.html        |   442 +
 .../airflow/contrib/operators/gcs_to_s3/index.html |   400 +
 .../contrib/operators/hipchat_operator/index.html  |   411 +
 .../contrib/operators/hive_to_dynamodb/index.html  |   386 +
 .../imap_attachment_to_s3_operator/index.html      |   377 +
 1.10.3/_api/airflow/contrib/operators/index.html   |   444 +
 .../jenkins_job_trigger_operator/index.html        |   452 +
 .../contrib/operators/jira_operator/index.html     |   371 +
 .../operators/kubernetes_pod_operator/index.html   |   401 +
 .../contrib/operators/mlengine_operator/index.html |   593 +
 .../contrib/operators/mongo_to_s3/index.html       |   387 +
 .../contrib/operators/mysql_to_gcs/index.html      |   479 +
 .../operators/opsgenie_alert_operator/index.html   |   400 +
 .../oracle_to_azure_data_lake_transfer/index.html  |   385 +
 .../operators/oracle_to_oracle_transfer/index.html |   381 +
 .../operators/postgres_to_gcs_operator/index.html  |   428 +
 .../contrib/operators/pubsub_operator/index.html   |   582 +
 .../operators/qubole_check_operator/index.html     |   528 +
 .../contrib/operators/qubole_operator/index.html   |   610 +
 .../operators/s3_copy_object_operator/index.html   |   399 +
 .../s3_delete_objects_operator/index.html          |   393 +
 .../contrib/operators/s3_list_operator/index.html  |   409 +
 .../operators/s3_to_gcs_operator/index.html        |   420 +
 .../operators/s3_to_sftp_operator/index.html       |   381 +
 .../operators/sagemaker_base_operator/index.html   |   401 +
 .../sagemaker_endpoint_config_operator/index.html  |   369 +
 .../sagemaker_endpoint_operator/index.html         |   398 +
 .../operators/sagemaker_model_operator/index.html  |   369 +
 .../sagemaker_training_operator/index.html         |   382 +
 .../sagemaker_transform_operator/index.html        |   394 +
 .../operators/sagemaker_tuning_operator/index.html |   381 +
 .../segment_track_event_operator/index.html        |   375 +
 .../contrib/operators/sftp_operator/index.html     |   428 +
 .../operators/sftp_to_s3_operator/index.html       |   382 +
 .../operators/slack_webhook_operator/index.html    |   375 +
 .../operators/snowflake_operator/index.html        |   386 +
 .../operators/sns_publish_operator/index.html      |   372 +
 .../operators/spark_jdbc_operator/index.html       |   422 +
 .../operators/spark_sql_operator/index.html        |   389 +
 .../operators/spark_submit_operator/index.html     |   408 +
 .../contrib/operators/sqoop_operator/index.html    |   373 +
 .../contrib/operators/ssh_operator/index.html      |   384 +
 .../contrib/operators/vertica_operator/index.html  |   378 +
 .../contrib/operators/vertica_to_hive/index.html   |   400 +
 .../contrib/operators/vertica_to_mysql/index.html  |   390 +
 .../operators/wasb_delete_blob_operator/index.html |   372 +
 .../contrib/operators/winrm_operator/index.html    |   370 +
 .../contrib/sensors/aws_athena_sensor/index.html   |   401 +
 .../aws_glue_catalog_partition_sensor/index.html   |   391 +
 .../sensors/aws_redshift_cluster_sensor/index.html |   366 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |   366 +
 .../airflow/contrib/sensors/bash_sensor/index.html |   374 +
 .../contrib/sensors/bigquery_sensor/index.html     |   380 +
 .../sensors/cassandra_record_sensor/index.html     |   367 +
 .../sensors/cassandra_table_sensor/index.html      |   365 +
 .../contrib/sensors/datadog_sensor/index.html      |   369 +
 .../contrib/sensors/emr_base_sensor/index.html     |   360 +
 .../contrib/sensors/emr_job_flow_sensor/index.html |   384 +
 .../contrib/sensors/emr_step_sensor/index.html     |   387 +
 .../airflow/contrib/sensors/file_sensor/index.html |   375 +
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   394 +
 .../contrib/sensors/gcp_transfer_sensor/index.html |   374 +
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   527 +
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   375 +
 .../sensors/imap_attachment_sensor/index.html      |   385 +
 1.10.3/_api/airflow/contrib/sensors/index.html     |   376 +
 .../airflow/contrib/sensors/jira_sensor/index.html |   396 +
 .../contrib/sensors/mongo_sensor/index.html        |   365 +
 .../contrib/sensors/pubsub_sensor/index.html       |   378 +
 .../contrib/sensors/python_sensor/index.html       |   382 +
 .../contrib/sensors/qubole_sensor/index.html       |   410 +
 .../contrib/sensors/redis_key_sensor/index.html    |   363 +
 .../sensors/redis_pub_sub_sensor/index.html        |   373 +
 .../sensors/sagemaker_base_sensor/index.html       |   386 +
 .../sensors/sagemaker_endpoint_sensor/index.html   |   389 +
 .../sensors/sagemaker_training_sensor/index.html   |   397 +
 .../sensors/sagemaker_transform_sensor/index.html  |   390 +
 .../sensors/sagemaker_tuning_sensor/index.html     |   390 +
 .../airflow/contrib/sensors/sftp_sensor/index.html |   366 +
 .../airflow/contrib/sensors/wasb_sensor/index.html |   397 +
 .../contrib/sensors/weekday_sensor/index.html      |   404 +
 .../airflow/executors/base_executor/index.html     |   442 +
 .../airflow/executors/celery_executor/index.html   |   462 +
 .../airflow/executors/dask_executor/index.html     |   374 +
 1.10.3/_api/airflow/executors/index.html           |   669 +
 .../airflow/executors/local_executor/index.html    |   498 +
 .../executors/sequential_executor/index.html       |   363 +
 1.10.3/_api/airflow/hooks/S3_hook/index.html       |   668 +
 1.10.3/_api/airflow/hooks/base_hook/index.html     |   398 +
 1.10.3/_api/airflow/hooks/dbapi_hook/index.html    |   543 +
 1.10.3/_api/airflow/hooks/docker_hook/index.html   |   360 +
 1.10.3/_api/airflow/hooks/druid_hook/index.html    |   418 +
 1.10.3/_api/airflow/hooks/hdfs_hook/index.html     |   370 +
 1.10.3/_api/airflow/hooks/hive_hooks/index.html    |   805 +
 1.10.3/_api/airflow/hooks/http_hook/index.html     |   440 +
 1.10.3/_api/airflow/hooks/index.html               |   378 +
 1.10.3/_api/airflow/hooks/jdbc_hook/index.html     |   381 +
 1.10.3/_api/airflow/hooks/mssql_hook/index.html    |   375 +
 1.10.3/_api/airflow/hooks/mysql_hook/index.html    |   424 +
 1.10.3/_api/airflow/hooks/oracle_hook/index.html   |   431 +
 1.10.3/_api/airflow/hooks/pig_hook/index.html      |   364 +
 1.10.3/_api/airflow/hooks/postgres_hook/index.html |   415 +
 1.10.3/_api/airflow/hooks/presto_hook/index.html   |   423 +
 1.10.3/_api/airflow/hooks/samba_hook/index.html    |   354 +
 1.10.3/_api/airflow/hooks/slack_hook/index.html    |   354 +
 1.10.3/_api/airflow/hooks/sqlite_hook/index.html   |   365 +
 1.10.3/_api/airflow/hooks/webhdfs_hook/index.html  |   393 +
 1.10.3/_api/airflow/hooks/zendesk_hook/index.html  |   378 +
 1.10.3/_api/airflow/models/base/index.html         |   357 +
 1.10.3/_api/airflow/models/connection/index.html   |   478 +
 1.10.3/_api/airflow/models/dagpickle/index.html    |   375 +
 1.10.3/_api/airflow/models/errors/index.html       |   368 +
 1.10.3/_api/airflow/models/index.html              |  4417 ++++++
 1.10.3/_api/airflow/models/kubernetes/index.html   |   404 +
 1.10.3/_api/airflow/models/log/index.html          |   394 +
 1.10.3/_api/airflow/models/skipmixin/index.html    |   359 +
 1.10.3/_api/airflow/models/slamiss/index.html      |   396 +
 1.10.3/_api/airflow/models/taskfail/index.html     |   389 +
 .../_api/airflow/models/taskreschedule/index.html  |   408 +
 .../airflow/operators/bash_operator/index.html     |   395 +
 .../airflow/operators/check_operator/index.html    |   511 +
 .../airflow/operators/dagrun_operator/index.html   |   386 +
 .../airflow/operators/docker_operator/index.html   |   442 +
 .../operators/druid_check_operator/index.html      |   400 +
 .../airflow/operators/dummy_operator/index.html    |   359 +
 .../airflow/operators/email_operator/index.html    |   384 +
 .../airflow/operators/generic_transfer/index.html  |   384 +
 .../airflow/operators/hive_operator/index.html     |   413 +
 .../operators/hive_stats_operator/index.html       |   395 +
 .../airflow/operators/hive_to_druid/index.html     |   409 +
 .../airflow/operators/hive_to_mysql/index.html     |   392 +
 .../operators/hive_to_samba_operator/index.html    |   373 +
 .../airflow/operators/http_operator/index.html     |   390 +
 1.10.3/_api/airflow/operators/index.html           |   855 ++
 .../airflow/operators/jdbc_operator/index.html     |   382 +
 .../operators/latest_only_operator/index.html      |   361 +
 .../airflow/operators/mssql_operator/index.html    |   381 +
 .../airflow/operators/mssql_to_hive/index.html     |   402 +
 .../airflow/operators/mysql_operator/index.html    |   383 +
 .../airflow/operators/mysql_to_hive/index.html     |   401 +
 .../airflow/operators/oracle_operator/index.html   |   382 +
 .../_api/airflow/operators/pig_operator/index.html |   396 +
 .../airflow/operators/postgres_operator/index.html |   382 +
 .../operators/presto_check_operator/index.html     |   427 +
 .../airflow/operators/presto_to_mysql/index.html   |   385 +
 .../airflow/operators/python_operator/index.html   |   547 +
 .../operators/redshift_to_s3_operator/index.html   |   399 +
 .../s3_file_transform_operator/index.html          |   411 +
 .../operators/s3_to_hive_operator/index.html       |   440 +
 .../operators/s3_to_redshift_operator/index.html   |   399 +
 1.10.3/_api/airflow/operators/sensors/index.html   |   413 +
 .../airflow/operators/slack_operator/index.html    |   414 +
 .../airflow/operators/sqlite_operator/index.html   |   378 +
 .../airflow/operators/subdag_operator/index.html   |   374 +
 .../sensors/base_sensor_operator/index.html        |   415 +
 .../sensors/external_task_sensor/index.html        |   387 +
 1.10.3/_api/airflow/sensors/hdfs_sensor/index.html |   401 +
 .../sensors/hive_partition_sensor/index.html       |   380 +
 1.10.3/_api/airflow/sensors/http_sensor/index.html |   377 +
 1.10.3/_api/airflow/sensors/index.html             |   375 +
 .../sensors/metastore_partition_sensor/index.html  |   380 +
 .../sensors/named_hive_partition_sensor/index.html |   388 +
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   390 +
 .../airflow/sensors/s3_prefix_sensor/index.html    |   392 +
 1.10.3/_api/airflow/sensors/sql_sensor/index.html  |   379 +
 .../airflow/sensors/time_delta_sensor/index.html   |   361 +
 1.10.3/_api/airflow/sensors/time_sensor/index.html |   358 +
 .../airflow/sensors/web_hdfs_sensor/index.html     |   358 +
 1.10.3/_api/index.html                             |   444 +
 1.10.3/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.3/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.3/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.3/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.3/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.3/_images/branch_with_trigger.png             |   Bin 0 -> 34081 bytes
 1.10.3/_images/branch_without_trigger.png          |   Bin 0 -> 39815 bytes
 1.10.3/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.3/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 1.10.3/_images/code.png                            |   Bin 0 -> 285906 bytes
 1.10.3/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.3/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.3/_images/connections.png                     |   Bin 0 -> 48442 bytes
 1.10.3/_images/context.png                         |   Bin 0 -> 149588 bytes
 1.10.3/_images/dags.png                            |   Bin 0 -> 217069 bytes
 1.10.3/_images/duration.png                        |   Bin 0 -> 250846 bytes
 1.10.3/_images/gantt.png                           |   Bin 0 -> 121795 bytes
 1.10.3/_images/graph.png                           |   Bin 0 -> 152205 bytes
 1.10.3/_images/latest_only_with_trigger.png        |   Bin 0 -> 49510 bytes
 1.10.3/_images/pin_large.png                       |   Bin 0 -> 358276 bytes
 1.10.3/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.3/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.3/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 1.10.3/_images/tree.png                            |   Bin 0 -> 128024 bytes
 1.10.3/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 .../example_gcp_bigtable_operators.html            |   506 +
 .../contrib/example_dags/example_gcp_compute.html  |   415 +
 .../example_dags/example_gcp_compute_igm.html      |   445 +
 .../contrib/example_dags/example_gcp_function.html |   434 +
 .../example_dags/example_gcp_natural_language.html |   415 +
 .../contrib/example_dags/example_gcp_spanner.html  |   499 +
 .../contrib/example_dags/example_gcp_sql.html      |   724 +
 .../example_dags/example_gcp_sql_query.html        |   595 +
 .../contrib/example_dags/example_gcp_transfer.html |   554 +
 .../example_dags/example_gcp_translate.html        |   353 +
 .../contrib/example_dags/example_gcp_vision.html   |   716 +
 .../contrib/example_dags/example_gcs_acl.html      |   377 +
 .../example_dags/example_gcs_to_bq_operator.html   |   368 +
 .../contrib/executors/kubernetes_executor.html     |  1072 ++
 .../airflow/contrib/executors/mesos_executor.html  |   627 +
 1.10.3/_modules/airflow/contrib/hooks.html         |   371 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   453 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   372 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   359 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   455 +
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   508 +
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   371 +
 .../airflow/contrib/hooks/aws_sns_hook.html        |   363 +
 .../hooks/azure_container_instance_hook.html       |   470 +
 .../hooks/azure_container_registry_hook.html       |   342 +
 .../contrib/hooks/azure_container_volume_hook.html |   357 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   590 +
 .../contrib/hooks/azure_data_lake_hook.html        |   444 +
 .../contrib/hooks/azure_fileshare_hook.html        |   515 +
 .../airflow/contrib/hooks/bigquery_hook.html       |  2380 +++
 .../airflow/contrib/hooks/cassandra_hook.html      |   503 +
 .../airflow/contrib/hooks/cloudant_hook.html       |   386 +
 .../airflow/contrib/hooks/databricks_hook.html     |   576 +
 .../airflow/contrib/hooks/datadog_hook.html        |   461 +
 .../airflow/contrib/hooks/datastore_hook.html      |   509 +
 .../airflow/contrib/hooks/dingding_hook.html       |   437 +
 .../contrib/hooks/discord_webhook_hook.html        |   443 +
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   360 +
 1.10.3/_modules/airflow/contrib/hooks/fs_hook.html |   349 +
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   617 +
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   562 +
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   565 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   638 +
 .../airflow/contrib/hooks/gcp_container_hook.html  |   550 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   596 +
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   548 +
 .../airflow/contrib/hooks/gcp_function_hook.html   |   504 +
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   411 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   576 +
 .../contrib/hooks/gcp_natural_language_hook.html   |   520 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   587 +
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   652 +
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1303 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   695 +
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   400 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   757 +
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1035 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   619 +
 .../airflow/contrib/hooks/jenkins_hook.html        |   351 +
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   389 +
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   594 +
 .../airflow/contrib/hooks/openfaas_hook.html       |   402 +
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   391 +
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   408 +
 .../airflow/contrib/hooks/qubole_check_hook.html   |   420 +
 .../airflow/contrib/hooks/qubole_hook.html         |   517 +
 .../_modules/airflow/contrib/hooks/redis_hook.html |   369 +
 .../airflow/contrib/hooks/redshift_hook.html       |   416 +
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1073 ++
 .../airflow/contrib/hooks/salesforce_hook.html     |   628 +
 .../airflow/contrib/hooks/segment_hook.html        |   393 +
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   517 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   436 +
 .../airflow/contrib/hooks/snowflake_hook.html      |   401 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   549 +
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   449 +
 .../airflow/contrib/hooks/spark_sql_hook.html      |   467 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   891 ++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   658 +
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   551 +
 .../airflow/contrib/hooks/vertica_hook.html        |   356 +
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   494 +
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   553 +
 1.10.3/_modules/airflow/contrib/operators.html     |   354 +
 .../contrib/operators/adls_list_operator.html      |   375 +
 .../airflow/contrib/operators/adls_to_gcs.html     |   452 +
 .../contrib/operators/aws_athena_operator.html     |   403 +
 .../contrib/operators/awsbatch_operator.html       |   484 +
 .../azure_container_instances_operator.html        |   566 +
 .../contrib/operators/azure_cosmos_operator.html   |   372 +
 .../contrib/operators/bigquery_check_operator.html |   448 +
 .../contrib/operators/bigquery_get_data.html       |   419 +
 .../contrib/operators/bigquery_operator.html       |   945 ++
 .../operators/bigquery_table_delete_operator.html  |   369 +
 .../contrib/operators/bigquery_to_bigquery.html    |   398 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   408 +
 .../contrib/operators/cassandra_to_gcs.html        |   658 +
 .../contrib/operators/databricks_operator.html     |   788 +
 .../contrib/operators/dataflow_operator.html       |   728 +
 .../contrib/operators/dataproc_operator.html       |  1763 +++
 .../operators/datastore_export_operator.html       |   413 +
 .../operators/datastore_import_operator.html       |   401 +
 .../contrib/operators/dingding_operator.html       |   377 +
 .../operators/discord_webhook_operator.html        |   401 +
 .../airflow/contrib/operators/druid_operator.html  |   367 +
 .../airflow/contrib/operators/ecs_operator.html    |   480 +
 .../contrib/operators/emr_add_steps_operator.html  |   366 +
 .../operators/emr_create_job_flow_operator.html    |   377 +
 .../operators/emr_terminate_job_flow_operator.html |   360 +
 .../airflow/contrib/operators/file_to_gcs.html     |   385 +
 .../airflow/contrib/operators/file_to_wasb.html    |   367 +
 .../contrib/operators/gcp_bigtable_operator.html   |   788 +
 .../contrib/operators/gcp_compute_operator.html    |   787 +
 .../contrib/operators/gcp_container_operator.html  |   625 +
 .../contrib/operators/gcp_function_operator.html   |   631 +
 .../operators/gcp_natural_language_operator.html   |   565 +
 .../contrib/operators/gcp_spanner_operator.html    |   735 +
 .../contrib/operators/gcp_sql_operator.html        |  1108 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1101 ++
 .../contrib/operators/gcp_translate_operator.html  |   416 +
 .../contrib/operators/gcp_vision_operator.html     |  1266 ++
 .../contrib/operators/gcs_acl_operator.html        |   437 +
 .../contrib/operators/gcs_download_operator.html   |   394 +
 .../contrib/operators/gcs_list_operator.html       |   397 +
 .../airflow/contrib/operators/gcs_operator.html    |   432 +
 .../airflow/contrib/operators/gcs_to_bq.html       |   580 +
 .../airflow/contrib/operators/gcs_to_gcs.html      |   496 +
 .../airflow/contrib/operators/gcs_to_s3.html       |   429 +
 .../contrib/operators/hipchat_operator.html        |   438 +
 .../contrib/operators/hive_to_dynamodb.html        |   412 +
 .../operators/imap_attachment_to_s3_operator.html  |   391 +
 .../operators/jenkins_job_trigger_operator.html    |   546 +
 .../airflow/contrib/operators/jira_operator.html   |   397 +
 .../contrib/operators/kubernetes_pod_operator.html |   512 +
 .../contrib/operators/mlengine_operator.html       |   911 ++
 .../airflow/contrib/operators/mongo_to_s3.html     |   431 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   646 +
 .../contrib/operators/opsgenie_alert_operator.html |   434 +
 .../oracle_to_azure_data_lake_transfer.html        |   418 +
 .../operators/oracle_to_oracle_transfer.html       |   394 +
 .../operators/postgres_to_gcs_operator.html        |   559 +
 .../airflow/contrib/operators/pubsub_operator.html |   736 +
 .../contrib/operators/qubole_check_operator.html   |   529 +
 .../airflow/contrib/operators/qubole_operator.html |   485 +
 .../contrib/operators/s3_copy_object_operator.html |   399 +
 .../operators/s3_delete_objects_operator.html      |   390 +
 .../contrib/operators/s3_list_operator.html        |   402 +
 .../contrib/operators/s3_to_gcs_operator.html      |   510 +
 .../contrib/operators/s3_to_sftp_operator.html     |   388 +
 .../contrib/operators/sagemaker_base_operator.html |   405 +
 .../sagemaker_endpoint_config_operator.html        |   369 +
 .../operators/sagemaker_endpoint_operator.html     |   453 +
 .../operators/sagemaker_model_operator.html        |   370 +
 .../operators/sagemaker_training_operator.html     |   401 +
 .../operators/sagemaker_transform_operator.html    |   427 +
 .../operators/sagemaker_tuning_operator.html       |   402 +
 .../operators/segment_track_event_operator.html    |   372 +
 .../airflow/contrib/operators/sftp_operator.html   |   483 +
 .../contrib/operators/sftp_to_s3_operator.html     |   394 +
 .../contrib/operators/slack_webhook_operator.html  |   401 +
 .../contrib/operators/snowflake_operator.html      |   370 +
 .../contrib/operators/sns_publish_operator.html    |   368 +
 .../contrib/operators/spark_jdbc_operator.html     |   517 +
 .../contrib/operators/spark_sql_operator.html      |   414 +
 .../contrib/operators/spark_submit_operator.html   |   482 +
 .../airflow/contrib/operators/sqoop_operator.html  |   541 +
 .../airflow/contrib/operators/ssh_operator.html    |   476 +
 .../contrib/operators/vertica_operator.html        |   352 +
 .../airflow/contrib/operators/vertica_to_hive.html |   442 +
 .../contrib/operators/vertica_to_mysql.html        |   458 +
 .../operators/wasb_delete_blob_operator.html       |   374 +
 .../airflow/contrib/operators/winrm_operator.html  |   452 +
 .../airflow/contrib/sensors/aws_athena_sensor.html |   380 +
 .../sensors/aws_glue_catalog_partition_sensor.html |   394 +
 .../sensors/aws_redshift_cluster_sensor.html       |   353 +
 .../contrib/sensors/azure_cosmos_sensor.html       |   368 +
 .../airflow/contrib/sensors/bash_sensor.html       |   392 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |   371 +
 .../contrib/sensors/cassandra_record_sensor.html   |   362 +
 .../contrib/sensors/cassandra_table_sensor.html    |   357 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   384 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |   357 +
 .../contrib/sensors/emr_job_flow_sensor.html       |   356 +
 .../airflow/contrib/sensors/emr_step_sensor.html   |   359 +
 .../airflow/contrib/sensors/file_sensor.html       |   372 +
 .../airflow/contrib/sensors/ftp_sensor.html        |   401 +
 .../contrib/sensors/gcp_transfer_sensor.html       |   381 +
 .../airflow/contrib/sensors/gcs_sensor.html        |   467 +
 .../airflow/contrib/sensors/hdfs_sensor.html       |   375 +
 .../contrib/sensors/imap_attachment_sensor.html    |   377 +
 .../airflow/contrib/sensors/jira_sensor.html       |   452 +
 .../airflow/contrib/sensors/mongo_sensor.html      |   359 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   406 +
 .../airflow/contrib/sensors/python_sensor.html     |   381 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   413 +
 .../airflow/contrib/sensors/redis_key_sensor.html  |   340 +
 .../contrib/sensors/redis_pub_sub_sensor.html      |   374 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   375 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   362 +
 .../contrib/sensors/sagemaker_training_sensor.html |   403 +
 .../sensors/sagemaker_transform_sensor.html        |   363 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   363 +
 .../airflow/contrib/sensors/sftp_sensor.html       |   353 +
 .../airflow/contrib/sensors/wasb_sensor.html       |   397 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   406 +
 1.10.3/_modules/airflow/dag/base_dag.html          |   402 +
 .../example_dags/example_bash_operator.html        |   374 +
 .../example_dags/example_python_operator.html      |   375 +
 1.10.3/_modules/airflow/exceptions.html            |   410 +
 1.10.3/_modules/airflow/executors.html             |   400 +
 .../_modules/airflow/executors/base_executor.html  |   506 +
 .../airflow/executors/celery_executor.html         |   605 +
 .../_modules/airflow/executors/dask_executor.html  |   400 +
 .../_modules/airflow/executors/local_executor.html |   533 +
 .../airflow/executors/sequential_executor.html     |   360 +
 1.10.3/_modules/airflow/hooks.html                 |   397 +
 1.10.3/_modules/airflow/hooks/S3_hook.html         |   846 ++
 1.10.3/_modules/airflow/hooks/base_hook.html       |   404 +
 1.10.3/_modules/airflow/hooks/dbapi_hook.html      |   608 +
 1.10.3/_modules/airflow/hooks/docker_hook.html     |   388 +
 1.10.3/_modules/airflow/hooks/druid_hook.html      |   467 +
 1.10.3/_modules/airflow/hooks/hdfs_hook.html       |   401 +
 1.10.3/_modules/airflow/hooks/hive_hooks.html      |  1269 ++
 1.10.3/_modules/airflow/hooks/http_hook.html       |   512 +
 1.10.3/_modules/airflow/hooks/jdbc_hook.html       |   364 +
 1.10.3/_modules/airflow/hooks/mssql_hook.html      |   358 +
 1.10.3/_modules/airflow/hooks/mysql_hook.html      |   448 +
 1.10.3/_modules/airflow/hooks/oracle_hook.html     |   534 +
 1.10.3/_modules/airflow/hooks/pig_hook.html        |   397 +
 1.10.3/_modules/airflow/hooks/postgres_hook.html   |   416 +
 1.10.3/_modules/airflow/hooks/presto_hook.html     |   443 +
 1.10.3/_modules/airflow/hooks/samba_hook.html      |   355 +
 1.10.3/_modules/airflow/hooks/slack_hook.html      |   365 +
 1.10.3/_modules/airflow/hooks/sqlite_hook.html     |   344 +
 1.10.3/_modules/airflow/hooks/webhdfs_hook.html    |   414 +
 1.10.3/_modules/airflow/hooks/zendesk_hook.html    |   415 +
 1.10.3/_modules/airflow/lineage.html               |   441 +
 1.10.3/_modules/airflow/macros.html                |   394 +
 1.10.3/_modules/airflow/macros/hive.html           |   421 +
 1.10.3/_modules/airflow/models.html                |  5332 +++++++
 1.10.3/_modules/airflow/models/base.html           |   338 +
 1.10.3/_modules/airflow/models/connection.html     |   596 +
 1.10.3/_modules/airflow/models/dagpickle.html      |   355 +
 1.10.3/_modules/airflow/models/errors.html         |   334 +
 1.10.3/_modules/airflow/models/kubernetes.html     |   382 +
 1.10.3/_modules/airflow/models/log.html            |   371 +
 1.10.3/_modules/airflow/models/skipmixin.html      |   369 +
 1.10.3/_modules/airflow/models/slamiss.html        |   351 +
 1.10.3/_modules/airflow/models/taskfail.html       |   358 +
 1.10.3/_modules/airflow/models/taskreschedule.html |   388 +
 1.10.3/_modules/airflow/operators.html             |   424 +
 .../_modules/airflow/operators/bash_operator.html  |   445 +
 .../_modules/airflow/operators/check_operator.html |   562 +
 .../airflow/operators/dagrun_operator.html         |   400 +
 .../airflow/operators/docker_operator.html         |   571 +
 .../airflow/operators/druid_check_operator.html    |   394 +
 .../_modules/airflow/operators/dummy_operator.html |   340 +
 .../_modules/airflow/operators/email_operator.html |   381 +
 .../airflow/operators/generic_transfer.html        |   384 +
 .../_modules/airflow/operators/hive_operator.html  |   445 +
 .../airflow/operators/hive_stats_operator.html     |   492 +
 .../_modules/airflow/operators/hive_to_druid.html  |   549 +
 .../_modules/airflow/operators/hive_to_mysql.html  |   417 +
 .../airflow/operators/hive_to_samba_operator.html  |   370 +
 .../_modules/airflow/operators/http_operator.html  |   402 +
 .../_modules/airflow/operators/jdbc_operator.html  |   366 +
 .../airflow/operators/latest_only_operator.html    |   368 +
 .../_modules/airflow/operators/mssql_operator.html |   366 +
 .../_modules/airflow/operators/mssql_to_hive.html  |   442 +
 .../_modules/airflow/operators/mysql_operator.html |   370 +
 .../_modules/airflow/operators/mysql_to_hive.html  |   447 +
 .../airflow/operators/oracle_operator.html         |   366 +
 .../_modules/airflow/operators/pig_operator.html   |   376 +
 .../airflow/operators/postgres_operator.html       |   370 +
 .../airflow/operators/presto_check_operator.html   |   430 +
 .../airflow/operators/presto_to_mysql.html         |   383 +
 .../airflow/operators/python_operator.html         |   733 +
 .../airflow/operators/redshift_to_s3_operator.html |   453 +
 .../operators/s3_file_transform_operator.html      |   471 +
 .../airflow/operators/s3_to_hive_operator.html     |   600 +
 .../airflow/operators/s3_to_redshift_operator.html |   412 +
 1.10.3/_modules/airflow/operators/sensors.html     |   397 +
 .../_modules/airflow/operators/slack_operator.html |   441 +
 .../airflow/operators/sqlite_operator.html         |   357 +
 .../airflow/operators/subdag_operator.html         |   405 +
 1.10.3/_modules/airflow/sensors.html               |   366 +
 .../airflow/sensors/base_sensor_operator.html      |   445 +
 .../airflow/sensors/external_task_sensor.html      |   457 +
 1.10.3/_modules/airflow/sensors/hdfs_sensor.html   |   426 +
 .../airflow/sensors/hive_partition_sensor.html     |   378 +
 1.10.3/_modules/airflow/sensors/http_sensor.html   |   395 +
 .../sensors/metastore_partition_sensor.html        |   386 +
 .../sensors/named_hive_partition_sensor.html       |   405 +
 1.10.3/_modules/airflow/sensors/s3_key_sensor.html |   396 +
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   385 +
 1.10.3/_modules/airflow/sensors/sql_sensor.html    |   375 +
 .../airflow/sensors/time_delta_sensor.html         |   349 +
 1.10.3/_modules/airflow/sensors/time_sensor.html   |   343 +
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   347 +
 1.10.3/_modules/airflow/ti_deps/dep_context.html   |   431 +
 .../ti_deps/deps/not_in_retry_period_dep.html      |   354 +
 .../airflow/ti_deps/deps/prev_dagrun_dep.html      |   387 +
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |   525 +
 1.10.3/_modules/airflow/utils/dag_processing.html  |  1612 ++
 1.10.3/_modules/airflow/utils/dates.html           |   550 +
 1.10.3/_modules/airflow/utils/db.html              |   684 +
 1.10.3/_modules/airflow/utils/decorators.html      |   422 +
 1.10.3/_modules/airflow/utils/email.html           |   441 +
 1.10.3/_modules/airflow/utils/helpers.html         |   738 +
 .../_modules/airflow/utils/log/logging_mixin.html  |   479 +
 1.10.3/_modules/airflow/utils/net.html             |   346 +
 .../_modules/airflow/utils/operator_resources.html |   423 +
 1.10.3/_modules/airflow/utils/sqlalchemy.html      |   507 +
 1.10.3/_modules/airflow/utils/state.html           |   423 +
 1.10.3/_modules/airflow/utils/timeout.html         |   359 +
 1.10.3/_modules/airflow/utils/trigger_rule.html    |   351 +
 1.10.3/_modules/airflow/utils/weight_rule.html     |   346 +
 1.10.3/_modules/index.html                         |   616 +
 .../_api/airflow/contrib/executors/index.rst.txt   |    25 +
 .../executors/kubernetes_executor/index.rst.txt    |   410 +
 .../contrib/executors/mesos_executor/index.rst.txt |   220 +
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |   176 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    66 +
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    66 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |   147 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |   128 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    70 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    67 +
 .../azure_container_instance_hook/index.rst.txt    |   173 +
 .../azure_container_registry_hook/index.rst.txt    |    52 +
 .../azure_container_volume_hook/index.rst.txt      |    60 +
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   232 +
 .../hooks/azure_data_lake_hook/index.rst.txt       |   143 +
 .../hooks/azure_fileshare_hook/index.rst.txt       |   260 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |  1257 ++
 .../contrib/hooks/cassandra_hook/index.rst.txt     |   153 +
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    65 +
 .../contrib/hooks/databricks_hook/index.rst.txt    |   385 +
 .../contrib/hooks/datadog_hook/index.rst.txt       |   133 +
 .../contrib/hooks/datastore_hook/index.rst.txt     |   215 +
 .../contrib/hooks/dingding_hook/index.rst.txt      |   107 +
 .../hooks/discord_webhook_hook/index.rst.txt       |   106 +
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    63 +
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    64 +
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   319 +
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   220 +
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |   243 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   351 +
 .../contrib/hooks/gcp_container_hook/index.rst.txt |   217 +
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   211 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   287 +
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |   220 +
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |   129 +
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |   203 +
 .../hooks/gcp_natural_language_hook/index.rst.txt  |   233 +
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |   259 +
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |   312 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   842 ++
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   948 ++
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |   115 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   312 +
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   427 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   357 +
 .../_api/airflow/contrib/hooks/index.rst.txt       |   186 +
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    48 +
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    51 +
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |   301 +
 .../contrib/hooks/openfaas_hook/index.rst.txt      |   143 +
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    90 +
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |   151 +
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |   134 +
 .../contrib/hooks/qubole_hook/index.rst.txt        |   167 +
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    58 +
 .../contrib/hooks/redshift_hook/index.rst.txt      |   124 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   676 +
 .../contrib/hooks/salesforce_hook/index.rst.txt    |   192 +
 .../contrib/hooks/segment_hook/index.rst.txt       |    66 +
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |   187 +
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |   106 +
 .../contrib/hooks/snowflake_hook/index.rst.txt     |   131 +
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |   155 +
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    68 +
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |   114 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |   265 +
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |   214 +
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |   119 +
 .../contrib/hooks/vertica_hook/index.rst.txt       |    82 +
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |   206 +
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |   107 +
 .../operators/adls_list_operator/index.rst.txt     |    90 +
 .../contrib/operators/adls_to_gcs/index.rst.txt    |   126 +
 .../operators/aws_athena_operator/index.rst.txt    |   103 +
 .../operators/awsbatch_operator/index.rst.txt      |   157 +
 .../index.rst.txt                                  |   190 +
 .../operators/azure_cosmos_operator/index.rst.txt  |    80 +
 .../bigquery_check_operator/index.rst.txt          |   163 +
 .../operators/bigquery_get_data/index.rst.txt      |   111 +
 .../operators/bigquery_operator/index.rst.txt      |   563 +
 .../bigquery_table_delete_operator/index.rst.txt   |    84 +
 .../operators/bigquery_to_bigquery/index.rst.txt   |   108 +
 .../operators/bigquery_to_gcs/index.rst.txt        |   113 +
 .../operators/cassandra_to_gcs/index.rst.txt       |   262 +
 .../operators/databricks_operator/index.rst.txt    |   485 +
 .../operators/dataflow_operator/index.rst.txt      |   422 +
 .../operators/dataproc_operator/index.rst.txt      |  1171 ++
 .../datastore_export_operator/index.rst.txt        |    77 +
 .../datastore_import_operator/index.rst.txt        |    74 +
 .../operators/dingding_operator/index.rst.txt      |    87 +
 .../discord_webhook_operator/index.rst.txt         |    87 +
 .../contrib/operators/druid_operator/index.rst.txt |    76 +
 .../contrib/operators/ecs_operator/index.rst.txt   |   150 +
 .../operators/emr_add_steps_operator/index.rst.txt |    88 +
 .../emr_create_job_flow_operator/index.rst.txt     |    91 +
 .../emr_terminate_job_flow_operator/index.rst.txt  |    86 +
 .../contrib/operators/file_to_gcs/index.rst.txt    |    78 +
 .../contrib/operators/file_to_wasb/index.rst.txt   |    74 +
 .../operators/gcp_bigtable_operator/index.rst.txt  |   496 +
 .../operators/gcp_compute_operator/index.rst.txt   |   453 +
 .../operators/gcp_container_operator/index.rst.txt |   315 +
 .../operators/gcp_function_operator/index.rst.txt  |   410 +
 .../gcp_natural_language_operator/index.rst.txt    |   257 +
 .../operators/gcp_spanner_operator/index.rst.txt   |   448 +
 .../operators/gcp_sql_operator/index.rst.txt       |   848 ++
 .../operators/gcp_transfer_operator/index.rst.txt  |   898 ++
 .../operators/gcp_translate_operator/index.rst.txt |   101 +
 .../operators/gcp_vision_operator/index.rst.txt    |   881 ++
 .../operators/gcs_acl_operator/index.rst.txt       |   146 +
 .../operators/gcs_download_operator/index.rst.txt  |    92 +
 .../operators/gcs_list_operator/index.rst.txt      |   102 +
 .../contrib/operators/gcs_operator/index.rst.txt   |   125 +
 .../contrib/operators/gcs_to_bq/index.rst.txt      |   180 +
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |   152 +
 .../contrib/operators/gcs_to_s3/index.rst.txt      |   102 +
 .../operators/hipchat_operator/index.rst.txt       |   140 +
 .../operators/hive_to_dynamodb/index.rst.txt       |   104 +
 .../imap_attachment_to_s3_operator/index.rst.txt   |    80 +
 .../_api/airflow/contrib/operators/index.rst.txt   |   228 +
 .../jenkins_job_trigger_operator/index.rst.txt     |   168 +
 .../contrib/operators/jira_operator/index.rst.txt  |    72 +
 .../kubernetes_pod_operator/index.rst.txt          |   121 +
 .../operators/mlengine_operator/index.rst.txt      |   429 +
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    99 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |   241 +
 .../opsgenie_alert_operator/index.rst.txt          |   115 +
 .../index.rst.txt                                  |   101 +
 .../oracle_to_oracle_transfer/index.rst.txt        |    93 +
 .../postgres_to_gcs_operator/index.rst.txt         |   173 +
 .../operators/pubsub_operator/index.rst.txt        |   414 +
 .../operators/qubole_check_operator/index.rst.txt  |   307 +
 .../operators/qubole_operator/index.rst.txt        |   242 +
 .../s3_copy_object_operator/index.rst.txt          |    97 +
 .../s3_delete_objects_operator/index.rst.txt       |    89 +
 .../operators/s3_list_operator/index.rst.txt       |   108 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |   130 +
 .../operators/s3_to_sftp_operator/index.rst.txt    |    87 +
 .../sagemaker_base_operator/index.rst.txt          |   129 +
 .../index.rst.txt                                  |    68 +
 .../sagemaker_endpoint_operator/index.rst.txt      |   105 +
 .../sagemaker_model_operator/index.rst.txt         |    65 +
 .../sagemaker_training_operator/index.rst.txt      |    88 +
 .../sagemaker_transform_operator/index.rst.txt     |    98 +
 .../sagemaker_tuning_operator/index.rst.txt        |    86 +
 .../segment_track_event_operator/index.rst.txt     |    82 +
 .../contrib/operators/sftp_operator/index.rst.txt  |   154 +
 .../operators/sftp_to_s3_operator/index.rst.txt    |    88 +
 .../operators/slack_webhook_operator/index.rst.txt |    77 +
 .../operators/snowflake_operator/index.rst.txt     |   101 +
 .../operators/sns_publish_operator/index.rst.txt   |    77 +
 .../operators/spark_jdbc_operator/index.rst.txt    |   144 +
 .../operators/spark_sql_operator/index.rst.txt     |   108 +
 .../operators/spark_submit_operator/index.rst.txt  |   138 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    90 +
 .../contrib/operators/ssh_operator/index.rst.txt   |    95 +
 .../operators/vertica_operator/index.rst.txt       |    88 +
 .../operators/vertica_to_hive/index.rst.txt        |   119 +
 .../operators/vertica_to_mysql/index.rst.txt       |   105 +
 .../wasb_delete_blob_operator/index.rst.txt        |    73 +
 .../contrib/operators/winrm_operator/index.rst.txt |    72 +
 .../sensors/aws_athena_sensor/index.rst.txt        |   134 +
 .../index.rst.txt                                  |   106 +
 .../aws_redshift_cluster_sensor/index.rst.txt      |    64 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    66 +
 .../contrib/sensors/bash_sensor/index.rst.txt      |    76 +
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    87 +
 .../sensors/cassandra_record_sensor/index.rst.txt  |    68 +
 .../sensors/cassandra_table_sensor/index.rst.txt   |    66 +
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    66 +
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    61 +
 .../sensors/emr_job_flow_sensor/index.rst.txt      |   104 +
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |   106 +
 .../contrib/sensors/file_sensor/index.rst.txt      |    80 +
 .../contrib/sensors/ftp_sensor/index.rst.txt       |   134 +
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    74 +
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   246 +
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    77 +
 .../sensors/imap_attachment_sensor/index.rst.txt   |    81 +
 .../_api/airflow/contrib/sensors/index.rst.txt     |    87 +
 .../contrib/sensors/jira_sensor/index.rst.txt      |   116 +
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    65 +
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    93 +
 .../contrib/sensors/python_sensor/index.rst.txt    |    84 +
 .../contrib/sensors/qubole_sensor/index.rst.txt    |   134 +
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    70 +
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    79 +
 .../sensors/sagemaker_base_sensor/index.rst.txt    |   102 +
 .../sagemaker_endpoint_sensor/index.rst.txt        |   106 +
 .../sagemaker_training_sensor/index.rst.txt        |   116 +
 .../sagemaker_transform_sensor/index.rst.txt       |   107 +
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |   107 +
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    64 +
 .../contrib/sensors/wasb_sensor/index.rst.txt      |   119 +
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    93 +
 .../airflow/executors/base_executor/index.rst.txt  |   185 +
 .../executors/celery_executor/index.rst.txt        |   231 +
 .../airflow/executors/dask_executor/index.rst.txt  |    88 +
 .../_sources/_api/airflow/executors/index.rst.txt  |   626 +
 .../airflow/executors/local_executor/index.rst.txt |   295 +
 .../executors/sequential_executor/index.rst.txt    |    69 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |   433 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |   129 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   300 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    60 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |   171 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    85 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   633 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |   150 +
 1.10.3/_sources/_api/airflow/hooks/index.rst.txt   |   107 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    97 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |   100 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |   156 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |   151 +
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |    68 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |   148 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |   172 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    56 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    56 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    82 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |   128 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    82 +
 .../_api/airflow/models/base/index.rst.txt         |    71 +
 .../_api/airflow/models/connection/index.rst.txt   |   304 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |   102 +
 .../_api/airflow/models/errors/index.rst.txt       |    88 +
 1.10.3/_sources/_api/airflow/models/index.rst.txt  |  7249 +++++++++
 .../_api/airflow/models/kubernetes/index.rst.txt   |   153 +
 .../_sources/_api/airflow/models/log/index.rst.txt |   150 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    49 +
 .../_api/airflow/models/slamiss/index.rst.txt      |   147 +
 .../_api/airflow/models/taskfail/index.rst.txt     |   139 +
 .../airflow/models/taskreschedule/index.rst.txt    |   176 +
 .../airflow/operators/bash_operator/index.rst.txt  |   111 +
 .../airflow/operators/check_operator/index.rst.txt |   321 +
 .../operators/dagrun_operator/index.rst.txt        |   101 +
 .../operators/docker_operator/index.rst.txt        |   182 +
 .../operators/druid_check_operator/index.rst.txt   |   101 +
 .../airflow/operators/dummy_operator/index.rst.txt |    60 +
 .../airflow/operators/email_operator/index.rst.txt |   100 +
 .../operators/generic_transfer/index.rst.txt       |    98 +
 .../airflow/operators/hive_operator/index.rst.txt  |   141 +
 .../operators/hive_stats_operator/index.rst.txt    |   104 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |   140 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |   107 +
 .../operators/hive_to_samba_operator/index.rst.txt |    78 +
 .../airflow/operators/http_operator/index.rst.txt  |   107 +
 .../_sources/_api/airflow/operators/index.rst.txt  |   885 ++
 .../airflow/operators/jdbc_operator/index.rst.txt  |    95 +
 .../operators/latest_only_operator/index.rst.txt   |    61 +
 .../airflow/operators/mssql_operator/index.rst.txt |    94 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |   122 +
 .../airflow/operators/mysql_operator/index.rst.txt |    96 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |   121 +
 .../operators/oracle_operator/index.rst.txt        |    94 +
 .../airflow/operators/pig_operator/index.rst.txt   |   116 +
 .../operators/postgres_operator/index.rst.txt      |    95 +
 .../operators/presto_check_operator/index.rst.txt  |   151 +
 .../operators/presto_to_mysql/index.rst.txt        |    98 +
 .../operators/python_operator/index.rst.txt        |   351 +
 .../redshift_to_s3_operator/index.rst.txt          |   107 +
 .../s3_file_transform_operator/index.rst.txt       |   122 +
 .../operators/s3_to_hive_operator/index.rst.txt    |   166 +
 .../s3_to_redshift_operator/index.rst.txt          |   107 +
 .../_api/airflow/operators/sensors/index.rst.txt   |   187 +
 .../airflow/operators/slack_operator/index.rst.txt |   145 +
 .../operators/sqlite_operator/index.rst.txt        |    89 +
 .../operators/subdag_operator/index.rst.txt        |    79 +
 .../sensors/base_sensor_operator/index.rst.txt     |   145 +
 .../sensors/external_task_sensor/index.rst.txt     |    95 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |   105 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    86 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    78 +
 1.10.3/_sources/_api/airflow/sensors/index.rst.txt |    93 +
 .../metastore_partition_sensor/index.rst.txt       |    86 +
 .../named_hive_partition_sensor/index.rst.txt      |    98 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    83 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    85 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    90 +
 .../sensors/time_delta_sensor/index.rst.txt        |    54 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    51 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    59 +
 1.10.3/_sources/_api/index.rst.txt                 |   129 +
 1.10.3/_sources/api.rst.txt                        |   143 +
 1.10.3/_sources/changelog.rst.txt                  |    21 +
 1.10.3/_sources/cli.rst.txt                        |    32 +
 1.10.3/_sources/concepts.rst.txt                   |   999 ++
 1.10.3/_sources/faq.rst.txt                        |   201 +
 1.10.3/_sources/howto/check-health.rst.txt         |    49 +
 1.10.3/_sources/howto/connection/aws.rst.txt       |    64 +
 1.10.3/_sources/howto/connection/gcp.rst.txt       |   117 +
 1.10.3/_sources/howto/connection/gcp_sql.rst.txt   |    76 +
 1.10.3/_sources/howto/connection/index.rst.txt     |    92 +
 1.10.3/_sources/howto/connection/mysql.rst.txt     |    94 +
 1.10.3/_sources/howto/connection/oracle.rst.txt    |    85 +
 1.10.3/_sources/howto/connection/postgres.rst.txt  |    79 +
 1.10.3/_sources/howto/connection/ssh.rst.txt       |    65 +
 1.10.3/_sources/howto/executor/use-celery.rst.txt  |    71 +
 1.10.3/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.3/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 1.10.3/_sources/howto/index.rst.txt                |    43 +
 1.10.3/_sources/howto/initialize-database.rst.txt  |    48 +
 1.10.3/_sources/howto/operator/bash.rst.txt        |    62 +
 1.10.3/_sources/howto/operator/dingding.rst.txt    |    91 +
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |   170 +
 1.10.3/_sources/howto/operator/gcp/compute.rst.txt |   325 +
 .../_sources/howto/operator/gcp/function.rst.txt   |   202 +
 1.10.3/_sources/howto/operator/gcp/gcs.rst.txt     |   127 +
 1.10.3/_sources/howto/operator/gcp/index.rst.txt   |    26 +
 .../howto/operator/gcp/natural_language.rst.txt    |   180 +
 1.10.3/_sources/howto/operator/gcp/spanner.rst.txt |   276 +
 1.10.3/_sources/howto/operator/gcp/sql.rst.txt     |   644 +
 .../_sources/howto/operator/gcp/transfer.rst.txt   |   420 +
 .../_sources/howto/operator/gcp/translate.rst.txt  |    68 +
 1.10.3/_sources/howto/operator/gcp/vision.rst.txt  |   933 ++
 1.10.3/_sources/howto/operator/index.rst.txt       |    34 +
 1.10.3/_sources/howto/operator/python.rst.txt      |    50 +
 1.10.3/_sources/howto/run-behind-proxy.rst.txt     |    82 +
 1.10.3/_sources/howto/run-with-systemd.rst.txt     |    38 +
 1.10.3/_sources/howto/run-with-upstart.rst.txt     |    42 +
 1.10.3/_sources/howto/secure-connections.rst.txt   |    61 +
 1.10.3/_sources/howto/set-config.rst.txt           |    66 +
 1.10.3/_sources/howto/use-test-config.rst.txt      |    32 +
 1.10.3/_sources/howto/write-logs.rst.txt           |   139 +
 1.10.3/_sources/index.rst.txt                      |    97 +
 1.10.3/_sources/installation.rst.txt               |   137 +
 1.10.3/_sources/integration.rst.txt                |   722 +
 1.10.3/_sources/kubernetes.rst.txt                 |   144 +
 1.10.3/_sources/license.rst.txt                    |   199 +
 1.10.3/_sources/lineage.rst.txt                    |   111 +
 1.10.3/_sources/macros.rst.txt                     |   118 +
 1.10.3/_sources/metrics.rst.txt                    |    83 +
 1.10.3/_sources/plugins.rst.txt                    |   275 +
 1.10.3/_sources/profiling.rst.txt                  |    58 +
 1.10.3/_sources/project.rst.txt                    |    79 +
 1.10.3/_sources/scheduler.rst.txt                  |   186 +
 1.10.3/_sources/security.rst.txt                   |   592 +
 1.10.3/_sources/start.rst.txt                      |    71 +
 1.10.3/_sources/timezone.rst.txt                   |   163 +
 1.10.3/_sources/tutorial.rst.txt                   |   472 +
 1.10.3/_sources/ui.rst.txt                         |   119 +
 1.10.3/_static/basic.css                           |   748 +
 1.10.3/_static/css/badge_only.css                  |     1 +
 1.10.3/_static/css/theme.css                       |     6 +
 1.10.3/_static/doctools.js                         |   314 +
 1.10.3/_static/documentation_options.js            |    10 +
 1.10.3/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.3/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.3/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.3/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.3/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.3/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.3/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.3/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.3/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.3/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.3/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.3/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.3/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.3/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.3/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.3/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.3/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.3/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.3/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.3/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.3/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.3/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.3/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.3/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.3/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.3/_static/fonts/fontawesome-webfont.svg       |  2671 ++++
 1.10.3/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.3/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.3/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.3/_static/jquery-3.2.1.js                     | 10253 +++++++++++++
 1.10.3/_static/jquery.js                           |     4 +
 1.10.3/_static/js/modernizr.min.js                 |     4 +
 1.10.3/_static/js/theme.js                         |     3 +
 1.10.3/_static/language_data.js                    |   297 +
 1.10.3/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.3/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.3/_static/pygments.css                        |    69 +
 1.10.3/_static/searchtools.js                      |   495 +
 1.10.3/_static/underscore-1.3.1.js                 |   999 ++
 1.10.3/_static/underscore.js                       |    31 +
 1.10.3/api.html                                    |   479 +
 1.10.3/changelog.html                              |  3009 ++++
 1.10.3/cli.html                                    |  1600 ++
 1.10.3/concepts.html                               |  1205 ++
 1.10.3/faq.html                                    |   485 +
 1.10.3/genindex.html                               |  8096 ++++++++++
 1.10.3/howto/check-health.html                     |   365 +
 1.10.3/howto/connection/aws.html                   |   389 +
 1.10.3/howto/connection/gcp.html                   |   436 +
 1.10.3/howto/connection/gcp_sql.html               |   399 +
 1.10.3/howto/connection/index.html                 |   414 +
 1.10.3/howto/connection/mysql.html                 |   420 +
 1.10.3/howto/connection/oracle.html                |   409 +
 1.10.3/howto/connection/postgres.html              |   405 +
 1.10.3/howto/connection/ssh.html                   |   392 +
 1.10.3/howto/executor/use-celery.html              |   377 +
 1.10.3/howto/executor/use-dask.html                |   359 +
 1.10.3/howto/executor/use-mesos.html               |   401 +
 1.10.3/howto/index.html                            |   378 +
 1.10.3/howto/initialize-database.html              |   364 +
 1.10.3/howto/operator/bash.html                    |   394 +
 1.10.3/howto/operator/dingding.html                |   455 +
 1.10.3/howto/operator/gcp/bigtable.html            |   573 +
 1.10.3/howto/operator/gcp/compute.html             |   726 +
 1.10.3/howto/operator/gcp/function.html            |   571 +
 1.10.3/howto/operator/gcp/gcs.html                 |   482 +
 1.10.3/howto/operator/gcp/index.html               |   369 +
 1.10.3/howto/operator/gcp/natural_language.html    |   541 +
 1.10.3/howto/operator/gcp/spanner.html             |   702 +
 1.10.3/howto/operator/gcp/sql.html                 |  1362 ++
 1.10.3/howto/operator/gcp/transfer.html            |   893 ++
 1.10.3/howto/operator/gcp/translate.html           |   410 +
 1.10.3/howto/operator/gcp/vision.html              |  1336 ++
 1.10.3/howto/operator/index.html                   |   383 +
 1.10.3/howto/operator/python.html                  |   399 +
 1.10.3/howto/run-behind-proxy.html                 |   399 +
 1.10.3/howto/run-with-systemd.html                 |   349 +
 1.10.3/howto/run-with-upstart.html                 |   359 +
 1.10.3/howto/secure-connections.html               |   377 +
 1.10.3/howto/set-config.html                       |   374 +
 1.10.3/howto/use-test-config.html                  |   344 +
 1.10.3/howto/write-logs.html                       |   447 +
 1.10.3/http-routingtable.html                      |   377 +
 1.10.3/index.html                                  |   963 ++
 1.10.3/installation.html                           |   502 +
 1.10.3/integration.html                            |   916 ++
 1.10.3/kubernetes.html                             |   441 +
 1.10.3/license.html                                |   493 +
 1.10.3/lineage.html                                |   402 +
 1.10.3/macros.html                                 |   611 +
 1.10.3/metrics.html                                |   443 +
 1.10.3/objects.inv                                 |   Bin 0 -> 34724 bytes
 1.10.3/plugins.html                                |   554 +
 1.10.3/profiling.html                              |   354 +
 1.10.3/project.html                                |   374 +
 1.10.3/py-modindex.html                            |  1729 +++
 1.10.3/scheduler.html                              |   495 +
 1.10.3/search.html                                 |   320 +
 1.10.3/searchindex.js                              |     1 +
 1.10.3/security.html                               |   866 ++
 1.10.3/start.html                                  |   365 +
 1.10.3/timezone.html                               |   447 +
 1.10.3/tutorial.html                               |   748 +
 1.10.3/ui.html                                     |   400 +
 _api/airflow/contrib/executors/index.html          |   341 +
 .../executors/kubernetes_executor/index.html       |   589 +
 .../contrib/executors/mesos_executor/index.html    |   446 +
 .../contrib/hooks/aws_athena_hook/index.html       |   458 +
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   364 +
 .../contrib/hooks/aws_firehose_hook/index.html     |   360 +
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   449 +
 _api/airflow/contrib/hooks/aws_hook/index.html     |   405 +
 .../contrib/hooks/aws_lambda_hook/index.html       |   366 +
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |   365 +
 .../hooks/azure_container_instance_hook/index.html |   470 +
 .../hooks/azure_container_registry_hook/index.html |   355 +
 .../hooks/azure_container_volume_hook/index.html   |   360 +
 .../contrib/hooks/azure_cosmos_hook/index.html     |   450 +
 .../contrib/hooks/azure_data_lake_hook/index.html  |   432 +
 .../contrib/hooks/azure_fileshare_hook/index.html  |   537 +
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1229 ++
 .../contrib/hooks/cassandra_hook/index.html        |   433 +
 .../airflow/contrib/hooks/cloudant_hook/index.html |   359 +
 .../contrib/hooks/databricks_hook/index.html       |   542 +
 _api/airflow/contrib/hooks/datadog_hook/index.html |   423 +
 .../contrib/hooks/datastore_hook/index.html        |   499 +
 .../airflow/contrib/hooks/dingding_hook/index.html |   392 +
 .../contrib/hooks/discord_webhook_hook/index.html  |   402 +
 _api/airflow/contrib/hooks/emr_hook/index.html     |   359 +
 _api/airflow/contrib/hooks/fs_hook/index.html      |   360 +
 _api/airflow/contrib/hooks/ftp_hook/index.html     |   554 +
 .../contrib/hooks/gcp_api_base_hook/index.html     |   455 +
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   507 +
 .../contrib/hooks/gcp_compute_hook/index.html      |   595 +
 .../contrib/hooks/gcp_container_hook/index.html    |   510 +
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   441 +
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   484 +
 .../contrib/hooks/gcp_function_hook/index.html     |   501 +
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |   415 +
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   463 +
 .../hooks/gcp_natural_language_hook/index.html     |   516 +
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   519 +
 .../contrib/hooks/gcp_spanner_hook/index.html      |   590 +
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   916 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |   866 ++
 .../contrib/hooks/gcp_translate_hook/index.html    |   409 +
 .../contrib/hooks/gcp_vision_hook/index.html       |   509 +
 _api/airflow/contrib/hooks/gcs_hook/index.html     |   667 +
 _api/airflow/contrib/hooks/imap_hook/index.html    |   603 +
 _api/airflow/contrib/hooks/index.html              |   419 +
 _api/airflow/contrib/hooks/jenkins_hook/index.html |   349 +
 _api/airflow/contrib/hooks/jira_hook/index.html    |   354 +
 _api/airflow/contrib/hooks/mongo_hook/index.html   |   536 +
 .../airflow/contrib/hooks/openfaas_hook/index.html |   403 +
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   384 +
 _api/airflow/contrib/hooks/pinot_hook/index.html   |   411 +
 .../contrib/hooks/qubole_check_hook/index.html     |   388 +
 _api/airflow/contrib/hooks/qubole_hook/index.html  |   414 +
 _api/airflow/contrib/hooks/redis_hook/index.html   |   352 +
 .../airflow/contrib/hooks/redshift_hook/index.html |   414 +
 .../contrib/hooks/sagemaker_hook/index.html        |   862 ++
 .../contrib/hooks/salesforce_hook/index.html       |   480 +
 _api/airflow/contrib/hooks/segment_hook/index.html |   362 +
 _api/airflow/contrib/hooks/sftp_hook/index.html    |   441 +
 .../contrib/hooks/slack_webhook_hook/index.html    |   390 +
 .../contrib/hooks/snowflake_hook/index.html        |   392 +
 .../contrib/hooks/spark_jdbc_hook/index.html       |   425 +
 .../contrib/hooks/spark_jdbc_script/index.html     |   357 +
 .../contrib/hooks/spark_sql_hook/index.html        |   404 +
 .../contrib/hooks/spark_submit_hook/index.html     |   513 +
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |   503 +
 _api/airflow/contrib/hooks/ssh_hook/index.html     |   407 +
 _api/airflow/contrib/hooks/vertica_hook/index.html |   365 +
 _api/airflow/contrib/hooks/wasb_hook/index.html    |   488 +
 _api/airflow/contrib/hooks/winrm_hook/index.html   |   394 +
 .../operators/adls_list_operator/index.html        |   389 +
 .../contrib/operators/adls_to_gcs/index.html       |   420 +
 .../operators/aws_athena_operator/index.html       |   386 +
 .../contrib/operators/awsbatch_operator/index.html |   424 +
 .../azure_container_instances_operator/index.html  |   438 +
 .../operators/azure_cosmos_operator/index.html     |   374 +
 .../operators/bigquery_check_operator/index.html   |   438 +
 .../contrib/operators/bigquery_get_data/index.html |   403 +
 .../contrib/operators/bigquery_operator/index.html |   693 +
 .../bigquery_table_delete_operator/index.html      |   378 +
 .../operators/bigquery_to_bigquery/index.html      |   394 +
 .../contrib/operators/bigquery_to_gcs/index.html   |   397 +
 .../contrib/operators/cassandra_to_gcs/index.html  |   485 +
 .../operators/databricks_operator/index.html       |   696 +
 .../contrib/operators/dataflow_operator/index.html |   629 +
 .../contrib/operators/dataproc_operator/index.html |  1067 ++
 .../operators/datastore_export_operator/index.html |   377 +
 .../operators/datastore_import_operator/index.html |   375 +
 .../contrib/operators/dingding_operator/index.html |   379 +
 .../operators/discord_webhook_operator/index.html  |   381 +
 .../contrib/operators/druid_operator/index.html    |   372 +
 .../contrib/operators/ecs_operator/index.html      |   414 +
 .../operators/emr_add_steps_operator/index.html    |   377 +
 .../emr_create_job_flow_operator/index.html        |   380 +
 .../emr_terminate_job_flow_operator/index.html     |   376 +
 .../contrib/operators/file_to_gcs/index.html       |   373 +
 .../contrib/operators/file_to_wasb/index.html      |   371 +
 .../operators/gcp_bigtable_operator/index.html     |   622 +
 .../operators/gcp_compute_operator/index.html      |   606 +
 .../operators/gcp_container_operator/index.html    |   541 +
 .../operators/gcp_function_operator/index.html     |   561 +
 .../gcp_natural_language_operator/index.html       |   496 +
 .../operators/gcp_spanner_operator/index.html      |   599 +
 .../contrib/operators/gcp_sql_operator/index.html  |   833 +
 .../operators/gcp_transfer_operator/index.html     |   896 ++
 .../operators/gcp_translate_operator/index.html    |   394 +
 .../operators/gcp_vision_operator/index.html       |   917 ++
 .../contrib/operators/gcs_acl_operator/index.html  |   422 +
 .../operators/gcs_download_operator/index.html     |   384 +
 .../contrib/operators/gcs_list_operator/index.html |   398 +
 .../contrib/operators/gcs_operator/index.html      |   421 +
 .../airflow/contrib/operators/gcs_to_bq/index.html |   446 +
 .../contrib/operators/gcs_to_gcs/index.html        |   442 +
 .../airflow/contrib/operators/gcs_to_s3/index.html |   400 +
 .../contrib/operators/hipchat_operator/index.html  |   411 +
 .../contrib/operators/hive_to_dynamodb/index.html  |   386 +
 .../imap_attachment_to_s3_operator/index.html      |   377 +
 _api/airflow/contrib/operators/index.html          |   444 +
 .../jenkins_job_trigger_operator/index.html        |   452 +
 .../contrib/operators/jira_operator/index.html     |   371 +
 .../operators/kubernetes_pod_operator/index.html   |   401 +
 .../contrib/operators/mlengine_operator/index.html |   593 +
 .../contrib/operators/mongo_to_s3/index.html       |   387 +
 .../contrib/operators/mysql_to_gcs/index.html      |   479 +
 .../operators/opsgenie_alert_operator/index.html   |   400 +
 .../oracle_to_azure_data_lake_transfer/index.html  |   385 +
 .../operators/oracle_to_oracle_transfer/index.html |   381 +
 .../operators/postgres_to_gcs_operator/index.html  |   428 +
 .../contrib/operators/pubsub_operator/index.html   |   582 +
 .../operators/qubole_check_operator/index.html     |   528 +
 .../contrib/operators/qubole_operator/index.html   |   610 +
 .../operators/s3_copy_object_operator/index.html   |   399 +
 .../s3_delete_objects_operator/index.html          |   393 +
 .../contrib/operators/s3_list_operator/index.html  |   409 +
 .../operators/s3_to_gcs_operator/index.html        |   420 +
 .../operators/s3_to_sftp_operator/index.html       |   381 +
 .../operators/sagemaker_base_operator/index.html   |   401 +
 .../sagemaker_endpoint_config_operator/index.html  |   369 +
 .../sagemaker_endpoint_operator/index.html         |   398 +
 .../operators/sagemaker_model_operator/index.html  |   369 +
 .../sagemaker_training_operator/index.html         |   382 +
 .../sagemaker_transform_operator/index.html        |   394 +
 .../operators/sagemaker_tuning_operator/index.html |   381 +
 .../segment_track_event_operator/index.html        |   375 +
 .../contrib/operators/sftp_operator/index.html     |   428 +
 .../operators/sftp_to_s3_operator/index.html       |   382 +
 .../operators/slack_webhook_operator/index.html    |   375 +
 .../operators/snowflake_operator/index.html        |   386 +
 .../operators/sns_publish_operator/index.html      |   372 +
 .../operators/spark_jdbc_operator/index.html       |   422 +
 .../operators/spark_sql_operator/index.html        |   389 +
 .../operators/spark_submit_operator/index.html     |   408 +
 .../contrib/operators/sqoop_operator/index.html    |   373 +
 .../contrib/operators/ssh_operator/index.html      |   384 +
 .../contrib/operators/vertica_operator/index.html  |   378 +
 .../contrib/operators/vertica_to_hive/index.html   |   400 +
 .../contrib/operators/vertica_to_mysql/index.html  |   390 +
 .../operators/wasb_delete_blob_operator/index.html |   372 +
 .../contrib/operators/winrm_operator/index.html    |   370 +
 .../contrib/sensors/aws_athena_sensor/index.html   |   401 +
 .../aws_glue_catalog_partition_sensor/index.html   |   391 +
 .../sensors/aws_redshift_cluster_sensor/index.html |   366 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |   366 +
 .../airflow/contrib/sensors/bash_sensor/index.html |   374 +
 .../contrib/sensors/bigquery_sensor/index.html     |   380 +
 .../sensors/cassandra_record_sensor/index.html     |   367 +
 .../sensors/cassandra_table_sensor/index.html      |   365 +
 .../contrib/sensors/datadog_sensor/index.html      |   369 +
 .../contrib/sensors/emr_base_sensor/index.html     |   360 +
 .../contrib/sensors/emr_job_flow_sensor/index.html |   384 +
 .../contrib/sensors/emr_step_sensor/index.html     |   387 +
 .../airflow/contrib/sensors/file_sensor/index.html |   375 +
 _api/airflow/contrib/sensors/ftp_sensor/index.html |   394 +
 .../contrib/sensors/gcp_transfer_sensor/index.html |   374 +
 _api/airflow/contrib/sensors/gcs_sensor/index.html |   527 +
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   375 +
 .../sensors/imap_attachment_sensor/index.html      |   385 +
 _api/airflow/contrib/sensors/index.html            |   376 +
 .../airflow/contrib/sensors/jira_sensor/index.html |   396 +
 .../contrib/sensors/mongo_sensor/index.html        |   365 +
 .../contrib/sensors/pubsub_sensor/index.html       |   378 +
 .../contrib/sensors/python_sensor/index.html       |   382 +
 .../contrib/sensors/qubole_sensor/index.html       |   410 +
 .../contrib/sensors/redis_key_sensor/index.html    |   363 +
 .../sensors/redis_pub_sub_sensor/index.html        |   373 +
 .../sensors/sagemaker_base_sensor/index.html       |   386 +
 .../sensors/sagemaker_endpoint_sensor/index.html   |   389 +
 .../sensors/sagemaker_training_sensor/index.html   |   397 +
 .../sensors/sagemaker_transform_sensor/index.html  |   390 +
 .../sensors/sagemaker_tuning_sensor/index.html     |   390 +
 .../airflow/contrib/sensors/sftp_sensor/index.html |   366 +
 .../airflow/contrib/sensors/wasb_sensor/index.html |   397 +
 .../contrib/sensors/weekday_sensor/index.html      |   404 +
 _api/airflow/executors/base_executor/index.html    |   442 +
 _api/airflow/executors/celery_executor/index.html  |   462 +
 _api/airflow/executors/dask_executor/index.html    |   374 +
 _api/airflow/executors/index.html                  |   669 +
 _api/airflow/executors/local_executor/index.html   |   498 +
 .../executors/sequential_executor/index.html       |   363 +
 _api/airflow/hooks/S3_hook/index.html              |   668 +
 _api/airflow/hooks/base_hook/index.html            |   398 +
 _api/airflow/hooks/dbapi_hook/index.html           |   543 +
 _api/airflow/hooks/docker_hook/index.html          |   360 +
 _api/airflow/hooks/druid_hook/index.html           |   418 +
 _api/airflow/hooks/hdfs_hook/index.html            |   370 +
 _api/airflow/hooks/hive_hooks/index.html           |   805 +
 _api/airflow/hooks/http_hook/index.html            |   440 +
 _api/airflow/hooks/index.html                      |   378 +
 _api/airflow/hooks/jdbc_hook/index.html            |   381 +
 _api/airflow/hooks/mssql_hook/index.html           |   375 +
 _api/airflow/hooks/mysql_hook/index.html           |   424 +
 _api/airflow/hooks/oracle_hook/index.html          |   431 +
 _api/airflow/hooks/pig_hook/index.html             |   364 +
 _api/airflow/hooks/postgres_hook/index.html        |   415 +
 _api/airflow/hooks/presto_hook/index.html          |   423 +
 _api/airflow/hooks/samba_hook/index.html           |   354 +
 _api/airflow/hooks/slack_hook/index.html           |   354 +
 _api/airflow/hooks/sqlite_hook/index.html          |   365 +
 _api/airflow/hooks/webhdfs_hook/index.html         |   393 +
 _api/airflow/hooks/zendesk_hook/index.html         |   378 +
 _api/airflow/models/base/index.html                |   357 +
 _api/airflow/models/connection/index.html          |   478 +
 _api/airflow/models/dagpickle/index.html           |   375 +
 _api/airflow/models/errors/index.html              |   368 +
 _api/airflow/models/index.html                     |  4417 ++++++
 _api/airflow/models/kubernetes/index.html          |   404 +
 _api/airflow/models/log/index.html                 |   394 +
 _api/airflow/models/skipmixin/index.html           |   359 +
 _api/airflow/models/slamiss/index.html             |   396 +
 _api/airflow/models/taskfail/index.html            |   389 +
 _api/airflow/models/taskreschedule/index.html      |   408 +
 _api/airflow/operators/bash_operator/index.html    |   395 +
 _api/airflow/operators/check_operator/index.html   |   511 +
 _api/airflow/operators/dagrun_operator/index.html  |   386 +
 _api/airflow/operators/docker_operator/index.html  |   442 +
 .../operators/druid_check_operator/index.html      |   400 +
 _api/airflow/operators/dummy_operator/index.html   |   359 +
 _api/airflow/operators/email_operator/index.html   |   384 +
 _api/airflow/operators/generic_transfer/index.html |   384 +
 _api/airflow/operators/hive_operator/index.html    |   413 +
 .../operators/hive_stats_operator/index.html       |   395 +
 _api/airflow/operators/hive_to_druid/index.html    |   409 +
 _api/airflow/operators/hive_to_mysql/index.html    |   392 +
 .../operators/hive_to_samba_operator/index.html    |   373 +
 _api/airflow/operators/http_operator/index.html    |   390 +
 _api/airflow/operators/index.html                  |   855 ++
 _api/airflow/operators/jdbc_operator/index.html    |   382 +
 .../operators/latest_only_operator/index.html      |   361 +
 _api/airflow/operators/mssql_operator/index.html   |   381 +
 _api/airflow/operators/mssql_to_hive/index.html    |   402 +
 _api/airflow/operators/mysql_operator/index.html   |   383 +
 _api/airflow/operators/mysql_to_hive/index.html    |   401 +
 _api/airflow/operators/oracle_operator/index.html  |   382 +
 _api/airflow/operators/pig_operator/index.html     |   396 +
 .../airflow/operators/postgres_operator/index.html |   382 +
 .../operators/presto_check_operator/index.html     |   427 +
 _api/airflow/operators/presto_to_mysql/index.html  |   385 +
 _api/airflow/operators/python_operator/index.html  |   547 +
 .../operators/redshift_to_s3_operator/index.html   |   399 +
 .../s3_file_transform_operator/index.html          |   411 +
 .../operators/s3_to_hive_operator/index.html       |   440 +
 .../operators/s3_to_redshift_operator/index.html   |   399 +
 _api/airflow/operators/sensors/index.html          |   413 +
 _api/airflow/operators/slack_operator/index.html   |   414 +
 _api/airflow/operators/sqlite_operator/index.html  |   378 +
 _api/airflow/operators/subdag_operator/index.html  |   374 +
 .../sensors/base_sensor_operator/index.html        |   415 +
 .../sensors/external_task_sensor/index.html        |   387 +
 _api/airflow/sensors/hdfs_sensor/index.html        |   401 +
 .../sensors/hive_partition_sensor/index.html       |   380 +
 _api/airflow/sensors/http_sensor/index.html        |   377 +
 _api/airflow/sensors/index.html                    |   375 +
 .../sensors/metastore_partition_sensor/index.html  |   380 +
 .../sensors/named_hive_partition_sensor/index.html |   388 +
 _api/airflow/sensors/s3_key_sensor/index.html      |   390 +
 _api/airflow/sensors/s3_prefix_sensor/index.html   |   392 +
 _api/airflow/sensors/sql_sensor/index.html         |   379 +
 _api/airflow/sensors/time_delta_sensor/index.html  |   361 +
 _api/airflow/sensors/time_sensor/index.html        |   358 +
 _api/airflow/sensors/web_hdfs_sensor/index.html    |   358 +
 _api/index.html                                    |   444 +
 _images/branch_with_trigger.png                    |   Bin 0 -> 34081 bytes
 _images/branch_without_trigger.png                 |   Bin 0 -> 39815 bytes
 _images/latest_only_with_trigger.png               |   Bin 40034 -> 49510 bytes
 .../example_gcp_bigtable_operators.html            |   506 +
 .../contrib/example_dags/example_gcp_compute.html  |   415 +
 .../example_dags/example_gcp_compute_igm.html      |   445 +
 .../contrib/example_dags/example_gcp_function.html |   434 +
 .../example_dags/example_gcp_natural_language.html |   415 +
 .../contrib/example_dags/example_gcp_spanner.html  |   499 +
 .../contrib/example_dags/example_gcp_sql.html      |   724 +
 .../example_dags/example_gcp_sql_query.html        |   595 +
 .../contrib/example_dags/example_gcp_transfer.html |   554 +
 .../example_dags/example_gcp_translate.html        |   353 +
 .../contrib/example_dags/example_gcp_vision.html   |   716 +
 .../contrib/example_dags/example_gcs_acl.html      |   377 +
 .../example_dags/example_gcs_to_bq_operator.html   |   368 +
 .../contrib/executors/kubernetes_executor.html     |   385 +-
 .../airflow/contrib/executors/mesos_executor.html  |   206 +-
 _modules/airflow/contrib/hooks.html                |   371 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   158 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   150 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   144 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |   184 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |   162 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   146 +-
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |   363 +
 .../hooks/azure_container_instance_hook.html       |   470 +
 .../hooks/azure_container_registry_hook.html       |   342 +
 .../contrib/hooks/azure_container_volume_hook.html |   357 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   184 +-
 .../contrib/hooks/azure_data_lake_hook.html        |   150 +-
 .../contrib/hooks/azure_fileshare_hook.html        |   160 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |   630 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |   175 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   146 +-
 .../airflow/contrib/hooks/databricks_hook.html     |   261 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |   212 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |   168 +-
 _modules/airflow/contrib/hooks/dingding_hook.html  |   437 +
 .../contrib/hooks/discord_webhook_hook.html        |   150 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |   146 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |   150 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |   185 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   244 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   565 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   202 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |   550 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   243 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   240 +-
 .../airflow/contrib/hooks/gcp_function_hook.html   |   173 +-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   411 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   172 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |   520 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   207 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   652 +
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |   341 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   539 +-
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   400 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   757 +
 _modules/airflow/contrib/hooks/gcs_hook.html       |   318 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |   318 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   351 +
 _modules/airflow/contrib/hooks/jira_hook.html      |   147 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |   332 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   170 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   391 +
 _modules/airflow/contrib/hooks/pinot_hook.html     |   160 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |   420 +
 _modules/airflow/contrib/hooks/qubole_hook.html    |   174 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |   211 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |   154 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |   238 +-
 .../airflow/contrib/hooks/salesforce_hook.html     |   164 +-
 _modules/airflow/contrib/hooks/segment_hook.html   |   393 +
 _modules/airflow/contrib/hooks/sftp_hook.html      |   184 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   166 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |   160 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   158 +-
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   449 +
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   160 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |   273 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   195 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |   159 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |   148 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |   158 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |   421 +-
 _modules/airflow/contrib/kubernetes/secret.html    |   260 -
 _modules/airflow/contrib/operators.html            |   354 +
 .../contrib/operators/adls_list_operator.html      |   150 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |   151 +-
 .../contrib/operators/aws_athena_operator.html     |   162 +-
 .../contrib/operators/awsbatch_operator.html       |   190 +-
 .../azure_container_instances_operator.html        |   566 +
 .../contrib/operators/azure_cosmos_operator.html   |   148 +-
 .../contrib/operators/bigquery_check_operator.html |   170 +-
 .../contrib/operators/bigquery_get_data.html       |   160 +-
 .../contrib/operators/bigquery_operator.html       |   289 +-
 .../operators/bigquery_table_delete_operator.html  |   158 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   168 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |   168 +-
 .../contrib/operators/cassandra_to_gcs.html        |   240 +-
 .../contrib/operators/databricks_operator.html     |   217 +-
 .../contrib/operators/dataflow_operator.html       |   275 +-
 .../contrib/operators/dataproc_operator.html       |   471 +-
 .../operators/datastore_export_operator.html       |   152 +-
 .../operators/datastore_import_operator.html       |   152 +-
 .../contrib/operators/dingding_operator.html       |   377 +
 .../operators/discord_webhook_operator.html        |   144 +-
 .../airflow/contrib/operators/druid_operator.html  |   150 +-
 .../airflow/contrib/operators/ecs_operator.html    |   209 +-
 .../contrib/operators/emr_add_steps_operator.html  |   150 +-
 .../operators/emr_create_job_flow_operator.html    |   150 +-
 .../operators/emr_terminate_job_flow_operator.html |   150 +-
 .../airflow/contrib/operators/file_to_gcs.html     |   158 +-
 .../airflow/contrib/operators/file_to_wasb.html    |   144 +-
 .../contrib/operators/gcp_bigtable_operator.html   |   788 +
 .../contrib/operators/gcp_compute_operator.html    |   246 +-
 .../contrib/operators/gcp_container_operator.html  |   625 +
 .../contrib/operators/gcp_function_operator.html   |   246 +-
 .../operators/gcp_natural_language_operator.html   |   565 +
 .../contrib/operators/gcp_spanner_operator.html    |   735 +
 .../contrib/operators/gcp_sql_operator.html        |   350 +-
 .../contrib/operators/gcp_transfer_operator.html   |  1101 ++
 .../contrib/operators/gcp_translate_operator.html  |   416 +
 .../contrib/operators/gcp_vision_operator.html     |  1266 ++
 .../contrib/operators/gcs_acl_operator.html        |   164 +-
 .../contrib/operators/gcs_download_operator.html   |   160 +-
 .../contrib/operators/gcs_list_operator.html       |   160 +-
 .../airflow/contrib/operators/gcs_operator.html    |   199 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   196 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   273 +-
 .../operators/gcs_to_gcs_transfer_operator.html    |   346 -
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   165 +-
 .../contrib/operators/hipchat_operator.html        |   154 +-
 .../contrib/operators/hive_to_dynamodb.html        |   150 +-
 .../operators/imap_attachment_to_s3_operator.html  |   391 +
 .../operators/jenkins_job_trigger_operator.html    |   546 +
 .../airflow/contrib/operators/jira_operator.html   |   146 +-
 .../contrib/operators/kubernetes_pod_operator.html |   186 +-
 .../contrib/operators/mlengine_operator.html       |   294 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |   152 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |   348 +-
 .../contrib/operators/opsgenie_alert_operator.html |   434 +
 .../oracle_to_azure_data_lake_transfer.html        |   418 +
 .../operators/oracle_to_oracle_transfer.html       |   394 +
 .../operators/postgres_to_gcs_operator.html        |   190 +-
 .../airflow/contrib/operators/pubsub_operator.html |   236 +-
 .../contrib/operators/qubole_check_operator.html   |   211 +-
 .../airflow/contrib/operators/qubole_operator.html |   196 +-
 .../contrib/operators/s3_copy_object_operator.html |   399 +
 .../operators/s3_delete_objects_operator.html      |   390 +
 .../contrib/operators/s3_list_operator.html        |   171 +-
 .../contrib/operators/s3_to_gcs_operator.html      |   178 +-
 .../operators/s3_to_gcs_transfer_operator.html     |   356 -
 .../contrib/operators/s3_to_sftp_operator.html     |   388 +
 .../contrib/operators/sagemaker_base_operator.html |   170 +-
 .../sagemaker_endpoint_config_operator.html        |   150 +-
 .../operators/sagemaker_endpoint_operator.html     |   156 +-
 .../operators/sagemaker_model_operator.html        |   150 +-
 .../operators/sagemaker_training_operator.html     |   154 +-
 .../operators/sagemaker_transform_operator.html    |   154 +-
 .../operators/sagemaker_tuning_operator.html       |   154 +-
 .../operators/segment_track_event_operator.html    |   372 +
 .../airflow/contrib/operators/sftp_operator.html   |   160 +-
 .../contrib/operators/sftp_to_s3_operator.html     |   394 +
 .../contrib/operators/slack_webhook_operator.html  |   148 +-
 .../contrib/operators/snowflake_operator.html      |   160 +-
 .../contrib/operators/sns_publish_operator.html    |   368 +
 .../contrib/operators/spark_jdbc_operator.html     |   148 +-
 .../contrib/operators/spark_sql_operator.html      |   150 +-
 .../contrib/operators/spark_submit_operator.html   |   198 +-
 .../airflow/contrib/operators/sqoop_operator.html  |   154 +-
 .../airflow/contrib/operators/ssh_operator.html    |   158 +-
 .../contrib/operators/vertica_operator.html        |   152 +-
 .../airflow/contrib/operators/vertica_to_hive.html |   154 +-
 .../contrib/operators/vertica_to_mysql.html        |   458 +
 .../operators/wasb_delete_blob_operator.html       |   374 +
 .../airflow/contrib/operators/winrm_operator.html  |   253 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |   158 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |   150 +-
 .../sensors/aws_redshift_cluster_sensor.html       |   142 +-
 .../contrib/sensors/azure_cosmos_sensor.html       |   142 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |   154 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   176 +-
 .../contrib/sensors/cassandra_record_sensor.html   |   146 +-
 .../contrib/sensors/cassandra_table_sensor.html    |   146 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   144 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |   142 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |   158 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |   158 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |   148 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   160 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |   381 +
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   190 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   154 +-
 .../contrib/sensors/imap_attachment_sensor.html    |   377 +
 _modules/airflow/contrib/sensors/jira_sensor.html  |   152 +-
 _modules/airflow/contrib/sensors/mongo_sensor.html |   359 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   154 +-
 .../airflow/contrib/sensors/python_sensor.html     |   149 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   156 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |   158 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |   374 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   162 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   162 +-
 .../contrib/sensors/sagemaker_training_sensor.html |   168 +-
 .../sensors/sagemaker_transform_sensor.html        |   162 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   162 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   146 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   153 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |   144 +-
 _modules/airflow/dag/base_dag.html                 |   402 +
 .../example_dags/example_bash_operator.html        |   374 +
 .../example_dags/example_python_operator.html      |   375 +
 _modules/airflow/exceptions.html                   |   410 +
 _modules/airflow/executors.html                    |   400 +
 _modules/airflow/executors/base_executor.html      |   506 +
 _modules/airflow/executors/celery_executor.html    |   383 +-
 _modules/airflow/executors/dask_executor.html      |   400 +
 _modules/airflow/executors/local_executor.html     |   215 +-
 .../airflow/executors/sequential_executor.html     |   148 +-
 _modules/airflow/hooks.html                        |   397 +
 _modules/airflow/hooks/S3_hook.html                |   192 +-
 _modules/airflow/hooks/base_hook.html              |   404 +
 _modules/airflow/hooks/dbapi_hook.html             |   194 +-
 _modules/airflow/hooks/docker_hook.html            |   388 +
 _modules/airflow/hooks/druid_hook.html             |   175 +-
 _modules/airflow/hooks/hdfs_hook.html              |   163 +-
 _modules/airflow/hooks/hive_hooks.html             |   319 +-
 _modules/airflow/hooks/http_hook.html              |   162 +-
 _modules/airflow/hooks/jdbc_hook.html              |   364 +
 _modules/airflow/hooks/mssql_hook.html             |   155 +-
 _modules/airflow/hooks/mysql_hook.html             |   163 +-
 _modules/airflow/hooks/oracle_hook.html            |   534 +
 _modules/airflow/hooks/pig_hook.html               |   154 +-
 _modules/airflow/hooks/postgres_hook.html          |   158 +-
 _modules/airflow/hooks/presto_hook.html            |   168 +-
 _modules/airflow/hooks/samba_hook.html             |   148 +-
 _modules/airflow/hooks/slack_hook.html             |   152 +-
 _modules/airflow/hooks/sqlite_hook.html            |   148 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   414 +
 _modules/airflow/hooks/zendesk_hook.html           |   150 +-
 _modules/airflow/lineage.html                      |   441 +
 _modules/airflow/macros.html                       |   140 +-
 _modules/airflow/macros/hive.html                  |   150 +-
 _modules/airflow/models.html                       |  2389 ++-
 _modules/airflow/models/base.html                  |   338 +
 _modules/airflow/models/connection.html            |   596 +
 _modules/airflow/models/dagpickle.html             |   355 +
 _modules/airflow/models/errors.html                |   334 +
 _modules/airflow/models/kubernetes.html            |   382 +
 _modules/airflow/models/log.html                   |   371 +
 _modules/airflow/models/skipmixin.html             |   369 +
 _modules/airflow/models/slamiss.html               |   351 +
 _modules/airflow/models/taskfail.html              |   358 +
 _modules/airflow/models/taskreschedule.html        |   388 +
 _modules/airflow/operators.html                    |   424 +
 _modules/airflow/operators/bash_operator.html      |   160 +-
 _modules/airflow/operators/check_operator.html     |   217 +-
 _modules/airflow/operators/dagrun_operator.html    |   153 +-
 _modules/airflow/operators/docker_operator.html    |   571 +
 .../airflow/operators/druid_check_operator.html    |   158 +-
 _modules/airflow/operators/dummy_operator.html     |   147 +-
 _modules/airflow/operators/email_operator.html     |   158 +-
 _modules/airflow/operators/generic_transfer.html   |   152 +-
 _modules/airflow/operators/hive_operator.html      |   182 +-
 .../airflow/operators/hive_stats_operator.html     |   154 +-
 _modules/airflow/operators/hive_to_druid.html      |   156 +-
 _modules/airflow/operators/hive_to_mysql.html      |   152 +-
 .../airflow/operators/hive_to_samba_operator.html  |   154 +-
 _modules/airflow/operators/http_operator.html      |   170 +-
 _modules/airflow/operators/jdbc_operator.html      |   366 +
 .../airflow/operators/latest_only_operator.html    |   149 +-
 _modules/airflow/operators/mssql_operator.html     |   163 +-
 _modules/airflow/operators/mssql_to_hive.html      |   154 +-
 _modules/airflow/operators/mysql_operator.html     |   168 +-
 _modules/airflow/operators/mysql_to_hive.html      |   158 +-
 _modules/airflow/operators/oracle_operator.html    |   366 +
 _modules/airflow/operators/pig_operator.html       |   168 +-
 _modules/airflow/operators/postgres_operator.html  |   161 +-
 .../airflow/operators/presto_check_operator.html   |   168 +-
 _modules/airflow/operators/presto_to_mysql.html    |   150 +-
 _modules/airflow/operators/python_operator.html    |   289 +-
 .../airflow/operators/redshift_to_s3_operator.html |   171 +-
 .../operators/s3_file_transform_operator.html      |   153 +-
 .../airflow/operators/s3_to_hive_operator.html     |   189 +-
 .../airflow/operators/s3_to_redshift_operator.html |   169 +-
 _modules/airflow/operators/sensors.html            |   397 +
 _modules/airflow/operators/slack_operator.html     |   170 +-
 _modules/airflow/operators/sqlite_operator.html    |   158 +-
 _modules/airflow/operators/subdag_operator.html    |   173 +-
 _modules/airflow/sensors.html                      |   366 +
 _modules/airflow/sensors/base_sensor_operator.html |   183 +-
 _modules/airflow/sensors/external_task_sensor.html |   233 +-
 _modules/airflow/sensors/hdfs_sensor.html          |   170 +-
 .../airflow/sensors/hive_partition_sensor.html     |   154 +-
 _modules/airflow/sensors/http_sensor.html          |   150 +-
 .../sensors/metastore_partition_sensor.html        |   146 +-
 .../sensors/named_hive_partition_sensor.html       |   166 +-
 _modules/airflow/sensors/s3_key_sensor.html        |   152 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |   152 +-
 _modules/airflow/sensors/sql_sensor.html           |   174 +-
 _modules/airflow/sensors/time_delta_sensor.html    |   142 +-
 _modules/airflow/sensors/time_sensor.html          |   142 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |   146 +-
 _modules/airflow/ti_deps/dep_context.html          |   431 +
 .../ti_deps/deps/not_in_retry_period_dep.html      |   354 +
 _modules/airflow/ti_deps/deps/prev_dagrun_dep.html |   387 +
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |   525 +
 _modules/airflow/utils/dag_processing.html         |  1612 ++
 _modules/airflow/utils/dates.html                  |   550 +
 _modules/airflow/utils/db.html                     |   684 +
 _modules/airflow/utils/decorators.html             |   422 +
 _modules/airflow/utils/email.html                  |   441 +
 _modules/airflow/utils/helpers.html                |   738 +
 _modules/airflow/utils/log/logging_mixin.html      |   479 +
 _modules/airflow/utils/net.html                    |   346 +
 _modules/airflow/utils/operator_resources.html     |   423 +
 _modules/airflow/utils/sqlalchemy.html             |   507 +
 _modules/airflow/utils/state.html                  |   423 +
 _modules/airflow/utils/timeout.html                |   359 +
 _modules/airflow/utils/trigger_rule.html           |   351 +
 _modules/airflow/utils/weight_rule.html            |   346 +
 _modules/index.html                                |   259 +-
 .../_api/airflow/contrib/executors/index.rst.txt   |    25 +
 .../executors/kubernetes_executor/index.rst.txt    |   410 +
 .../contrib/executors/mesos_executor/index.rst.txt |   220 +
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |   176 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    66 +
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    66 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |   147 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |   128 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    70 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    67 +
 .../azure_container_instance_hook/index.rst.txt    |   173 +
 .../azure_container_registry_hook/index.rst.txt    |    52 +
 .../azure_container_volume_hook/index.rst.txt      |    60 +
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   232 +
 .../hooks/azure_data_lake_hook/index.rst.txt       |   143 +
 .../hooks/azure_fileshare_hook/index.rst.txt       |   260 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |  1257 ++
 .../contrib/hooks/cassandra_hook/index.rst.txt     |   153 +
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    65 +
 .../contrib/hooks/databricks_hook/index.rst.txt    |   385 +
 .../contrib/hooks/datadog_hook/index.rst.txt       |   133 +
 .../contrib/hooks/datastore_hook/index.rst.txt     |   215 +
 .../contrib/hooks/dingding_hook/index.rst.txt      |   107 +
 .../hooks/discord_webhook_hook/index.rst.txt       |   106 +
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    63 +
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    64 +
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   319 +
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   220 +
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |   243 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   351 +
 .../contrib/hooks/gcp_container_hook/index.rst.txt |   217 +
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   211 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   287 +
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |   220 +
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |   129 +
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |   203 +
 .../hooks/gcp_natural_language_hook/index.rst.txt  |   233 +
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |   259 +
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |   312 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   842 ++
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   948 ++
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |   115 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   312 +
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   427 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   357 +
 _sources/_api/airflow/contrib/hooks/index.rst.txt  |   186 +
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    48 +
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    51 +
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |   301 +
 .../contrib/hooks/openfaas_hook/index.rst.txt      |   143 +
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    90 +
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |   151 +
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |   134 +
 .../contrib/hooks/qubole_hook/index.rst.txt        |   167 +
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    58 +
 .../contrib/hooks/redshift_hook/index.rst.txt      |   124 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   676 +
 .../contrib/hooks/salesforce_hook/index.rst.txt    |   192 +
 .../contrib/hooks/segment_hook/index.rst.txt       |    66 +
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |   187 +
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |   106 +
 .../contrib/hooks/snowflake_hook/index.rst.txt     |   131 +
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |   155 +
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    68 +
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |   114 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |   265 +
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |   214 +
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |   119 +
 .../contrib/hooks/vertica_hook/index.rst.txt       |    82 +
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |   206 +
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |   107 +
 .../operators/adls_list_operator/index.rst.txt     |    90 +
 .../contrib/operators/adls_to_gcs/index.rst.txt    |   126 +
 .../operators/aws_athena_operator/index.rst.txt    |   103 +
 .../operators/awsbatch_operator/index.rst.txt      |   157 +
 .../index.rst.txt                                  |   190 +
 .../operators/azure_cosmos_operator/index.rst.txt  |    80 +
 .../bigquery_check_operator/index.rst.txt          |   163 +
 .../operators/bigquery_get_data/index.rst.txt      |   111 +
 .../operators/bigquery_operator/index.rst.txt      |   563 +
 .../bigquery_table_delete_operator/index.rst.txt   |    84 +
 .../operators/bigquery_to_bigquery/index.rst.txt   |   108 +
 .../operators/bigquery_to_gcs/index.rst.txt        |   113 +
 .../operators/cassandra_to_gcs/index.rst.txt       |   262 +
 .../operators/databricks_operator/index.rst.txt    |   485 +
 .../operators/dataflow_operator/index.rst.txt      |   422 +
 .../operators/dataproc_operator/index.rst.txt      |  1171 ++
 .../datastore_export_operator/index.rst.txt        |    77 +
 .../datastore_import_operator/index.rst.txt        |    74 +
 .../operators/dingding_operator/index.rst.txt      |    87 +
 .../discord_webhook_operator/index.rst.txt         |    87 +
 .../contrib/operators/druid_operator/index.rst.txt |    76 +
 .../contrib/operators/ecs_operator/index.rst.txt   |   150 +
 .../operators/emr_add_steps_operator/index.rst.txt |    88 +
 .../emr_create_job_flow_operator/index.rst.txt     |    91 +
 .../emr_terminate_job_flow_operator/index.rst.txt  |    86 +
 .../contrib/operators/file_to_gcs/index.rst.txt    |    78 +
 .../contrib/operators/file_to_wasb/index.rst.txt   |    74 +
 .../operators/gcp_bigtable_operator/index.rst.txt  |   496 +
 .../operators/gcp_compute_operator/index.rst.txt   |   453 +
 .../operators/gcp_container_operator/index.rst.txt |   315 +
 .../operators/gcp_function_operator/index.rst.txt  |   410 +
 .../gcp_natural_language_operator/index.rst.txt    |   257 +
 .../operators/gcp_spanner_operator/index.rst.txt   |   448 +
 .../operators/gcp_sql_operator/index.rst.txt       |   848 ++
 .../operators/gcp_transfer_operator/index.rst.txt  |   898 ++
 .../operators/gcp_translate_operator/index.rst.txt |   101 +
 .../operators/gcp_vision_operator/index.rst.txt    |   881 ++
 .../operators/gcs_acl_operator/index.rst.txt       |   146 +
 .../operators/gcs_download_operator/index.rst.txt  |    92 +
 .../operators/gcs_list_operator/index.rst.txt      |   102 +
 .../contrib/operators/gcs_operator/index.rst.txt   |   125 +
 .../contrib/operators/gcs_to_bq/index.rst.txt      |   180 +
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |   152 +
 .../contrib/operators/gcs_to_s3/index.rst.txt      |   102 +
 .../operators/hipchat_operator/index.rst.txt       |   140 +
 .../operators/hive_to_dynamodb/index.rst.txt       |   104 +
 .../imap_attachment_to_s3_operator/index.rst.txt   |    80 +
 .../_api/airflow/contrib/operators/index.rst.txt   |   228 +
 .../jenkins_job_trigger_operator/index.rst.txt     |   168 +
 .../contrib/operators/jira_operator/index.rst.txt  |    72 +
 .../kubernetes_pod_operator/index.rst.txt          |   121 +
 .../operators/mlengine_operator/index.rst.txt      |   429 +
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    99 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |   241 +
 .../opsgenie_alert_operator/index.rst.txt          |   115 +
 .../index.rst.txt                                  |   101 +
 .../oracle_to_oracle_transfer/index.rst.txt        |    93 +
 .../postgres_to_gcs_operator/index.rst.txt         |   173 +
 .../operators/pubsub_operator/index.rst.txt        |   414 +
 .../operators/qubole_check_operator/index.rst.txt  |   307 +
 .../operators/qubole_operator/index.rst.txt        |   242 +
 .../s3_copy_object_operator/index.rst.txt          |    97 +
 .../s3_delete_objects_operator/index.rst.txt       |    89 +
 .../operators/s3_list_operator/index.rst.txt       |   108 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |   130 +
 .../operators/s3_to_sftp_operator/index.rst.txt    |    87 +
 .../sagemaker_base_operator/index.rst.txt          |   129 +
 .../index.rst.txt                                  |    68 +
 .../sagemaker_endpoint_operator/index.rst.txt      |   105 +
 .../sagemaker_model_operator/index.rst.txt         |    65 +
 .../sagemaker_training_operator/index.rst.txt      |    88 +
 .../sagemaker_transform_operator/index.rst.txt     |    98 +
 .../sagemaker_tuning_operator/index.rst.txt        |    86 +
 .../segment_track_event_operator/index.rst.txt     |    82 +
 .../contrib/operators/sftp_operator/index.rst.txt  |   154 +
 .../operators/sftp_to_s3_operator/index.rst.txt    |    88 +
 .../operators/slack_webhook_operator/index.rst.txt |    77 +
 .../operators/snowflake_operator/index.rst.txt     |   101 +
 .../operators/sns_publish_operator/index.rst.txt   |    77 +
 .../operators/spark_jdbc_operator/index.rst.txt    |   144 +
 .../operators/spark_sql_operator/index.rst.txt     |   108 +
 .../operators/spark_submit_operator/index.rst.txt  |   138 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    90 +
 .../contrib/operators/ssh_operator/index.rst.txt   |    95 +
 .../operators/vertica_operator/index.rst.txt       |    88 +
 .../operators/vertica_to_hive/index.rst.txt        |   119 +
 .../operators/vertica_to_mysql/index.rst.txt       |   105 +
 .../wasb_delete_blob_operator/index.rst.txt        |    73 +
 .../contrib/operators/winrm_operator/index.rst.txt |    72 +
 .../sensors/aws_athena_sensor/index.rst.txt        |   134 +
 .../index.rst.txt                                  |   106 +
 .../aws_redshift_cluster_sensor/index.rst.txt      |    64 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    66 +
 .../contrib/sensors/bash_sensor/index.rst.txt      |    76 +
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    87 +
 .../sensors/cassandra_record_sensor/index.rst.txt  |    68 +
 .../sensors/cassandra_table_sensor/index.rst.txt   |    66 +
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    66 +
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    61 +
 .../sensors/emr_job_flow_sensor/index.rst.txt      |   104 +
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |   106 +
 .../contrib/sensors/file_sensor/index.rst.txt      |    80 +
 .../contrib/sensors/ftp_sensor/index.rst.txt       |   134 +
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    74 +
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   246 +
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    77 +
 .../sensors/imap_attachment_sensor/index.rst.txt   |    81 +
 .../_api/airflow/contrib/sensors/index.rst.txt     |    87 +
 .../contrib/sensors/jira_sensor/index.rst.txt      |   116 +
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    65 +
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    93 +
 .../contrib/sensors/python_sensor/index.rst.txt    |    84 +
 .../contrib/sensors/qubole_sensor/index.rst.txt    |   134 +
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    70 +
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    79 +
 .../sensors/sagemaker_base_sensor/index.rst.txt    |   102 +
 .../sagemaker_endpoint_sensor/index.rst.txt        |   106 +
 .../sagemaker_training_sensor/index.rst.txt        |   116 +
 .../sagemaker_transform_sensor/index.rst.txt       |   107 +
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |   107 +
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    64 +
 .../contrib/sensors/wasb_sensor/index.rst.txt      |   119 +
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    93 +
 .../airflow/executors/base_executor/index.rst.txt  |   185 +
 .../executors/celery_executor/index.rst.txt        |   231 +
 .../airflow/executors/dask_executor/index.rst.txt  |    88 +
 _sources/_api/airflow/executors/index.rst.txt      |   626 +
 .../airflow/executors/local_executor/index.rst.txt |   295 +
 .../executors/sequential_executor/index.rst.txt    |    69 +
 _sources/_api/airflow/hooks/S3_hook/index.rst.txt  |   433 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |   129 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   300 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    60 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |   171 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    85 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   633 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |   150 +
 _sources/_api/airflow/hooks/index.rst.txt          |   107 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    97 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |   100 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |   156 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |   151 +
 _sources/_api/airflow/hooks/pig_hook/index.rst.txt |    68 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |   148 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |   172 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    56 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    56 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    82 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |   128 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    82 +
 _sources/_api/airflow/models/base/index.rst.txt    |    71 +
 .../_api/airflow/models/connection/index.rst.txt   |   304 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |   102 +
 _sources/_api/airflow/models/errors/index.rst.txt  |    88 +
 _sources/_api/airflow/models/index.rst.txt         |  7249 +++++++++
 .../_api/airflow/models/kubernetes/index.rst.txt   |   153 +
 _sources/_api/airflow/models/log/index.rst.txt     |   150 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    49 +
 _sources/_api/airflow/models/slamiss/index.rst.txt |   147 +
 .../_api/airflow/models/taskfail/index.rst.txt     |   139 +
 .../airflow/models/taskreschedule/index.rst.txt    |   176 +
 .../airflow/operators/bash_operator/index.rst.txt  |   111 +
 .../airflow/operators/check_operator/index.rst.txt |   321 +
 .../operators/dagrun_operator/index.rst.txt        |   101 +
 .../operators/docker_operator/index.rst.txt        |   182 +
 .../operators/druid_check_operator/index.rst.txt   |   101 +
 .../airflow/operators/dummy_operator/index.rst.txt |    60 +
 .../airflow/operators/email_operator/index.rst.txt |   100 +
 .../operators/generic_transfer/index.rst.txt       |    98 +
 .../airflow/operators/hive_operator/index.rst.txt  |   141 +
 .../operators/hive_stats_operator/index.rst.txt    |   104 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |   140 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |   107 +
 .../operators/hive_to_samba_operator/index.rst.txt |    78 +
 .../airflow/operators/http_operator/index.rst.txt  |   107 +
 _sources/_api/airflow/operators/index.rst.txt      |   885 ++
 .../airflow/operators/jdbc_operator/index.rst.txt  |    95 +
 .../operators/latest_only_operator/index.rst.txt   |    61 +
 .../airflow/operators/mssql_operator/index.rst.txt |    94 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |   122 +
 .../airflow/operators/mysql_operator/index.rst.txt |    96 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |   121 +
 .../operators/oracle_operator/index.rst.txt        |    94 +
 .../airflow/operators/pig_operator/index.rst.txt   |   116 +
 .../operators/postgres_operator/index.rst.txt      |    95 +
 .../operators/presto_check_operator/index.rst.txt  |   151 +
 .../operators/presto_to_mysql/index.rst.txt        |    98 +
 .../operators/python_operator/index.rst.txt        |   351 +
 .../redshift_to_s3_operator/index.rst.txt          |   107 +
 .../s3_file_transform_operator/index.rst.txt       |   122 +
 .../operators/s3_to_hive_operator/index.rst.txt    |   166 +
 .../s3_to_redshift_operator/index.rst.txt          |   107 +
 .../_api/airflow/operators/sensors/index.rst.txt   |   187 +
 .../airflow/operators/slack_operator/index.rst.txt |   145 +
 .../operators/sqlite_operator/index.rst.txt        |    89 +
 .../operators/subdag_operator/index.rst.txt        |    79 +
 .../sensors/base_sensor_operator/index.rst.txt     |   145 +
 .../sensors/external_task_sensor/index.rst.txt     |    95 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |   105 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    86 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    78 +
 _sources/_api/airflow/sensors/index.rst.txt        |    93 +
 .../metastore_partition_sensor/index.rst.txt       |    86 +
 .../named_hive_partition_sensor/index.rst.txt      |    98 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    83 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    85 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    90 +
 .../sensors/time_delta_sensor/index.rst.txt        |    54 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    51 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    59 +
 _sources/_api/index.rst.txt                        |   129 +
 _sources/cli.rst.txt                               |     4 +
 _sources/code.rst.txt                              |   483 -
 _sources/concepts.rst.txt                          |   186 +-
 _sources/howto/check-health.rst.txt                |    24 +-
 _sources/howto/connection/aws.rst.txt              |    64 +
 _sources/howto/connection/gcp.rst.txt              |   117 +
 _sources/howto/connection/gcp_sql.rst.txt          |    76 +
 _sources/howto/connection/index.rst.txt            |    92 +
 _sources/howto/connection/mysql.rst.txt            |    94 +
 _sources/howto/connection/oracle.rst.txt           |    85 +
 _sources/howto/connection/postgres.rst.txt         |    79 +
 _sources/howto/connection/ssh.rst.txt              |    65 +
 _sources/howto/executor/use-dask.rst.txt           |     4 +-
 _sources/howto/executor/use-mesos.rst.txt          |     4 +-
 _sources/howto/index.rst.txt                       |     5 +-
 _sources/howto/manage-connections.rst.txt          |   400 -
 _sources/howto/operator.rst.txt                    |  1657 --
 _sources/howto/operator/bash.rst.txt               |    62 +
 _sources/howto/operator/dingding.rst.txt           |    91 +
 _sources/howto/operator/gcp/bigtable.rst.txt       |   170 +
 _sources/howto/operator/gcp/compute.rst.txt        |   325 +
 _sources/howto/operator/gcp/function.rst.txt       |   202 +
 _sources/howto/operator/gcp/gcs.rst.txt            |   127 +
 _sources/howto/operator/gcp/index.rst.txt          |    26 +
 .../howto/operator/gcp/natural_language.rst.txt    |   180 +
 _sources/howto/operator/gcp/spanner.rst.txt        |   276 +
 _sources/howto/operator/gcp/sql.rst.txt            |   644 +
 _sources/howto/operator/gcp/transfer.rst.txt       |   420 +
 _sources/howto/operator/gcp/translate.rst.txt      |    68 +
 _sources/howto/operator/gcp/vision.rst.txt         |   933 ++
 _sources/howto/operator/index.rst.txt              |    34 +
 _sources/howto/operator/python.rst.txt             |    50 +
 _sources/howto/run-behind-proxy.rst.txt            |    82 +
 _sources/howto/run-with-systemd.rst.txt            |    28 +-
 _sources/howto/run-with-upstart.rst.txt            |    15 +-
 _sources/howto/secure-connections.rst.txt          |    41 +-
 _sources/howto/set-config.rst.txt                  |    10 +-
 _sources/howto/use-test-config.rst.txt             |    12 +-
 _sources/howto/write-logs.rst.txt                  |    51 +-
 _sources/index.rst.txt                             |     3 +-
 _sources/installation.rst.txt                      |   152 +-
 _sources/integration.rst.txt                       |  1447 +-
 _sources/kubernetes.rst.txt                        |    30 +-
 _sources/lineage.rst.txt                           |    19 +-
 _sources/macros.rst.txt                            |   118 +
 _sources/metrics.rst.txt                           |    36 +-
 _sources/plugins.rst.txt                           |    26 +-
 _sources/project.rst.txt                           |     9 +-
 _sources/scheduler.rst.txt                         |     8 +-
 _sources/security.rst.txt                          |   165 +-
 _sources/start.rst.txt                             |     2 +-
 _sources/timezone.rst.txt                          |     2 +-
 _sources/tutorial.rst.txt                          |     8 +-
 _static/ajax-loader.gif                            |   Bin 673 -> 0 bytes
 _static/basic.css                                  |    76 +-
 _static/comment-bright.png                         |   Bin 756 -> 0 bytes
 _static/comment-close.png                          |   Bin 829 -> 0 bytes
 _static/comment.png                                |   Bin 641 -> 0 bytes
 _static/css/badge_only.css                         |     2 +-
 _static/css/theme.css                              |     8 +-
 _static/doctools.js                                |     7 +-
 _static/documentation_options.js                   |     4 +-
 _static/down-pressed.png                           |   Bin 222 -> 0 bytes
 _static/down.png                                   |   Bin 202 -> 0 bytes
 _static/js/theme.js                                |     6 +-
 _static/language_data.js                           |     2 +-
 _static/searchtools.js                             |    56 +-
 _static/up-pressed.png                             |   Bin 214 -> 0 bytes
 _static/up.png                                     |   Bin 203 -> 0 bytes
 _static/websupport.js                              |   808 -
 api.html                                           |   176 +-
 changelog.html                                     |  5012 +++---
 cli.html                                           |  2376 ++-
 code.html                                          | 15156 -------------------
 concepts.html                                      |   490 +-
 faq.html                                           |   208 +-
 genindex.html                                      |  8162 ++++++++--
 howto/check-health.html                            |   171 +-
 howto/connection/aws.html                          |   389 +
 howto/connection/gcp.html                          |   436 +
 howto/connection/gcp_sql.html                      |   399 +
 howto/connection/index.html                        |   414 +
 howto/connection/mysql.html                        |   420 +
 howto/connection/oracle.html                       |   409 +
 howto/connection/postgres.html                     |   405 +
 howto/connection/ssh.html                          |   392 +
 howto/executor/use-celery.html                     |   162 +-
 howto/executor/use-dask.html                       |   156 +-
 howto/executor/use-mesos.html                      |   197 +-
 howto/index.html                                   |   171 +-
 howto/initialize-database.html                     |   156 +-
 howto/manage-connections.html                      |   597 -
 howto/operator.html                                |  2514 ---
 howto/operator/bash.html                           |   394 +
 howto/operator/dingding.html                       |   455 +
 howto/operator/gcp/bigtable.html                   |   573 +
 howto/operator/gcp/compute.html                    |   726 +
 howto/operator/gcp/function.html                   |   571 +
 howto/operator/gcp/gcs.html                        |   482 +
 howto/operator/gcp/index.html                      |   369 +
 howto/operator/gcp/natural_language.html           |   541 +
 howto/operator/gcp/spanner.html                    |   702 +
 howto/operator/gcp/sql.html                        |  1362 ++
 howto/operator/gcp/transfer.html                   |   893 ++
 howto/operator/gcp/translate.html                  |   410 +
 howto/operator/gcp/vision.html                     |  1336 ++
 howto/operator/index.html                          |   383 +
 howto/operator/python.html                         |   399 +
 howto/run-behind-proxy.html                        |   399 +
 howto/run-with-systemd.html                        |   167 +-
 howto/run-with-upstart.html                        |   165 +-
 howto/secure-connections.html                      |   187 +-
 howto/set-config.html                              |   170 +-
 howto/use-test-config.html                         |   155 +-
 howto/write-logs.html                              |   227 +-
 http-routingtable.html                             |   140 +-
 index.html                                         |   642 +-
 installation.html                                  |   395 +-
 integration.html                                   |  9329 +-----------
 kubernetes.html                                    |   240 +-
 license.html                                       |   138 +-
 lineage.html                                       |   183 +-
 macros.html                                        |   611 +
 metrics.html                                       |   262 +-
 objects.inv                                        |   Bin 9678 -> 34724 bytes
 plugins.html                                       |   211 +-
 profiling.html                                     |   138 +-
 project.html                                       |   192 +-
 py-modindex.html                                   |  1603 +-
 scheduler.html                                     |   260 +-
 search.html                                        |   138 +-
 searchindex.js                                     |     2 +-
 security.html                                      |   346 +-
 start.html                                         |   140 +-
 timezone.html                                      |   154 +-
 tutorial.html                                      |   217 +-
 ui.html                                            |   138 +-
 2109 files changed, 711801 insertions(+), 50696 deletions(-)

diff --git a/.buildinfo b/.buildinfo
index 2cd3f36..74f4ee9 100644
--- a/.buildinfo
+++ b/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 31d38953a908168368629ac053123a0f
+config: f2e98561f7424cf7f40f59134c898a70
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.3/.buildinfo b/1.10.3/.buildinfo
new file mode 100644
index 0000000..74f4ee9
--- /dev/null
+++ b/1.10.3/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: f2e98561f7424cf7f40f59134c898a70
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.3/_api/airflow/contrib/executors/index.html b/1.10.3/_api/airflow/contrib/executors/index.html
new file mode 100644
index 0000000..3f9c446
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/executors/index.html
@@ -0,0 +1,341 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.kubernetes_executor" href="kubernetes_executor/index.html" />
+    <link rel="prev" title="airflow.executors.sequential_executor" href="../../executors/sequential_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">API Reference</a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../_sources/_api/airflow/contrib/executors/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors">
+<span id="airflow-contrib-executors"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors" title="airflow.contrib.executors"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="mesos_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="kubernetes_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.kubernetes_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../../executors/sequential_executor/index.html" class="btn btn-neutral float-left" title="airflow.executors.sequential_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html
new file mode 100644
index 0000000..59bfa69
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -0,0 +1,589 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.mesos_executor" href="../mesos_executor/index.html" />
+    <link rel="prev" title="airflow.contrib.executors" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/kubernetes_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.kubernetes_executor">
+<span id="airflow-contrib-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.kubernetes_executor" title="airflow.contrib.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="descname">KubernetesExecutorConfig</code><span class="sig-paren">(</span><em>image=None</em>, <em>image_pull_policy=None</em>, <em>request_memory=None</em>, <em>request_cpu=None</em>, <em>limit_memory=None</em>, <em>limit_cpu=None</em>, <em>gcp_service_account_key=None</em>, <em>node_selectors=None</em>, <em>affinity=None</em>, <em>annotations=None</em>, <em>volum [...]
+<dd><dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__">
+<code class="descname">__repr__</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict">
+<em class="property">static </em><code class="descname">from_dict</code><span class="sig-paren">(</span><em>obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.from_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict" title="Permalink to this definition">¶< [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict">
+<code class="descname">as_dict</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="descname">KubeConfig</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section">
+<code class="descname">core_section</code><em class="property"> = core</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.core_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section">
+<code class="descname">kubernetes_section</code><em class="property"> = kubernetes</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.kubernetes_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._validate">
+<code class="descname">_validate</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._validate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em>namespace</em>, <em>watcher_queue</em>, <em>resource_version</em>, <em>worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher"><span class="viewcode-link">[source]</spa [...]
+<dd><p>Bases:<a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code>, <a class="reference external" href="https://docs.python.org/3/library/functions [...]
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run">
+<code class="descname">run</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run">
+<code class="descname">_run</code><span class="sig-paren">(</span><em>self</em>, <em>kube_client</em>, <em>resource_version</em>, <em>worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher._run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run" title="Permalink to thi [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
+<code class="descname">process_error</code><span class="sig-paren">(</span><em>self</em>, <em>event</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
+<code class="descname">process_status</code><span class="sig-paren">(</span><em>self</em>, <em>pod_id</em>, <em>status</em>, <em>labels</em>, <em>resource_version</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.pr [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em>kube_config</em>, <em>task_queue</em>, <em>result_queue</em>, <em>kube_client</em>, <em>worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler"><span class= [...]
+<dd><p>Bases:<code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
+<code class="descname">_make_kube_watcher</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
+<code class="descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher" title="Permalink [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
+<code class="descname">run_next</code><span class="sig-paren">(</span><em>self</em>, <em>next_job</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.run_next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next" title="Permalink to this definition">¶</a></dt>
+<dd><p>The run_next command will check the task_queue for any un-run jobs.
+It will then create a unique job-id, launch that job in the cluster,
+and store relevant info in the current_jobs map so we can track the job’s
+status</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
+<code class="descname">delete_pod</code><span class="sig-paren">(</span><em>self</em>, <em>pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.delete_pod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
+<code class="descname">sync</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>The sync function checks the status of all currently running kubernetes jobs.
+If a job is completed, it’s status is placed in the result queue to
+be sent back to the scheduler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
+<code class="descname">process_watcher_task</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.process_watcher_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task" title="Permalink to this definitio [...]
+<dd></dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars">
+<em class="property">static </em><code class="descname">_strip_unsafe_kubernetes_special_chars</code><span class="sig-paren">(</span><em>string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKuber [...]
+<dd><p>Kubernetes only supports lowercase alphanumeric characters and “-” and “.” in
+the pod name
+However, there are special rules about how “-” and “.” can be used so let’s
+only keep
+alphanumeric chars  see here for detail:
+<a class="reference external" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – The requested Pod name</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> Pod name stripped of any unsafe characters</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id">
+<em class="property">static </em><code class="descname">_make_safe_pod_id</code><span class="sig-paren">(</span><em>safe_dag_id</em>, <em>safe_task_id</em>, <em>safe_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.Airflo [...]
+<dd><p>Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for
+validation
+“^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>safe_dag_id</strong> – a dag_id with only alphanumeric characters</p></li>
+<li><p><strong>safe_task_id</strong> – a task_id with only alphanumeric characters</p></li>
+<li><p><strong>random_uuid</strong> – a uuid</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> valid Pod name of appropriate length</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value">
+<em class="property">static </em><code class="descname">_make_safe_label_value</code><span class="sig-paren">(</span><em>string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_label_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_ [...]
+<dd><p>Valid label values must be 63 characters or less and must be empty or begin and
+end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
+dots (.), and alphanumerics between.</p>
+<p>If the label value is then greater than 63 chars once made safe, or differs in any
+way from the original value sent to this function, then we need to truncate to
+53chars, and append it with a unique hash.</p>
+</dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id">
+<em class="property">static </em><code class="descname">_create_pod_id</code><span class="sig-paren">(</span><em>dag_id</em>, <em>task_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._create_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id" [...]
+<dd></dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime">
+<em class="property">static </em><code class="descname">_label_safe_datestring_to_datetime</code><span class="sig-paren">(</span><em>string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._label_safe_datestring_to_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesSch [...]
+<dd><p>Kubernetes doesn’t permit “:” in labels. ISO datetime format uses “:” but not
+“_”, let’s
+replace “:” with “_”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – str</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>datetime.datetime object</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="staticmethod">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring">
+<em class="property">static </em><code class="descname">_datetime_to_label_safe_datestring</code><span class="sig-paren">(</span><em>datetime_obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._datetime_to_label_safe_datestring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKuberne [...]
+<dd><p>Kubernetes doesn’t like “:” in labels, since ISO datetime format uses “:” but
+not “_” let’s
+replace “:” with “_”
+:param datetime_obj: datetime.datetime object
+:return: ISO-like string representing the datetime</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key">
+<code class="descname">_labels_to_key</code><span class="sig-paren">(</span><em>self</em>, <em>labels</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._labels_to_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key" title="Permalink to this definition [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="descname">KubernetesExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases:<a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
+<code class="descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em>self</em>, <em>session=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_t [...]
+<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
+may not
+have been launched Thus, on starting up the scheduler let’s check every
+“Queued” task to
+see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
+<p>If it has been launched then do nothing, otherwise reset the state to “None” so
+the task
+will be rescheduled</p>
+<p>This will not be necessary in a future version of airflow in which there is
+proper support
+for State.LAUNCHED</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets">
+<code class="descname">_inject_secrets</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._inject_secrets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">
+<code class="descname">start</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">
+<code class="descname">execute_async</code><span class="sig-paren">(</span><em>self</em>, <em>key</em>, <em>command</em>, <em>queue=None</em>, <em>executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.ex [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">
+<code class="descname">sync</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state">
+<code class="descname">_change_state</code><span class="sig-paren">(</span><em>self</em>, <em>key</em>, <em>state</em>, <em>pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._change_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state" title="Permalink to this [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">
+<code class="descname">end</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mesos_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.mesos_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html
new file mode 100644
index 0000000..a26bb2e
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -0,0 +1,446 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.models" href="../../../models/index.html" />
+    <link rel="prev" title="airflow.contrib.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/mesos_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.mesos_executor">
+<span id="airflow-contrib-executors-mesos-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.mesos_executor" title="airflow.contrib.executors.mesos_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.mesos_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME">
+<code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">DEFAULT_FRAMEWORK_NAME</code><em class="property"> = Airflow</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#DEFAULT_FRAMEWORK_NAME"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX">
+<code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">FRAMEWORK_CONNID_PREFIX</code><em class="property"> = mesos_framework_</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#FRAMEWORK_CONNID_PREFIX"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.executors.mesos_executor.get_framework_name">
+<code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">get_framework_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#get_framework_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.get_framework_name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">AirflowMesosScheduler</code><span class="sig-paren">(</span><em>task_queue</em>, <em>result_queue</em>, <em>task_cpu=1</em>, <em>task_mem=256</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler"><span class="viewcode-link">[source]</span></a><a clas [...]
+<dd><p>Bases:<code class="xref py py-class docutils literal notranslate"><span class="pre">mesos.interface.Scheduler</span></code></p>
+<p>Airflow Mesos scheduler implements mesos scheduler interface
+to schedule airflow tasks on mesos.
+Basically, it schedules a command like
+‘airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; –local -p=&lt;pickle&gt;’
+to run on a mesos slave.</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.registered">
+<code class="descname">registered</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>frameworkId</em>, <em>masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.registered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.registered" title="Permalink to this [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.reregistered">
+<code class="descname">reregistered</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.reregistered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.reregistered" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected">
+<code class="descname">disconnected</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.disconnected"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.offerRescinded">
+<code class="descname">offerRescinded</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>offerId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.offerRescinded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.offerRescinded" title="Permalink to this definition"> [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.frameworkMessage">
+<code class="descname">frameworkMessage</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>executorId</em>, <em>slaveId</em>, <em>message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.frameworkMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.frameworkM [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.executorLost">
+<code class="descname">executorLost</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>executorId</em>, <em>slaveId</em>, <em>status</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.executorLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.executorLost" title [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.slaveLost">
+<code class="descname">slaveLost</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>slaveId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.slaveLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.slaveLost" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error">
+<code class="descname">error</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.resourceOffers">
+<code class="descname">resourceOffers</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>offers</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.resourceOffers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.resourceOffers" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.statusUpdate">
+<code class="descname">statusUpdate</code><span class="sig-paren">(</span><em>self</em>, <em>driver</em>, <em>update</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.statusUpdate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.statusUpdate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor">
+<em class="property">class </em><code class="descclassname">airflow.contrib.executors.mesos_executor.</code><code class="descname">MesosExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases:<a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>MesosExecutor allows distributing the execution of task
+instances to multiple mesos workers.</p>
+<p>Apache Mesos is a distributed systems kernel which abstracts
+CPU, memory, storage, and other compute resources away from
+machines (physical or virtual), enabling fault-tolerant and
+elastic distributed systems to easily be built and run effectively.
+See <a class="reference external" href="http://mesos.apache.org/">http://mesos.apache.org/</a></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.start">
+<code class="descname">start</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">
+<code class="descname">execute_async</code><span class="sig-paren">(</span><em>self</em>, <em>key</em>, <em>command</em>, <em>queue=None</em>, <em>executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async" title=" [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.sync">
+<code class="descname">sync</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.end">
+<code class="descname">end</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../../../models/index.html" class="btn btn-neutral float-right" title="airflow.models" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../kubernetes_executor/index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors.kubernetes_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html
new file mode 100644
index 0000000..cfa6a0e
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -0,0 +1,458 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_athena_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_athena_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_athena_hook">
+<span id="airflow-contrib-hooks-aws-athena-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_athena_hook" title="airflow.contrib.hooks.aws_athena_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_athena_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_athena_hook.</code><code class="descname">AWSAthenaHook</code><span class="sig-paren">(</span><em>aws_conn_id='aws_default'</em>, <em>sleep_time=30</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook"><span class="viewcode-link">[source]</span></a><a class="headerlink"  [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Athena to run, poll queries and return query results</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws connection to use.</p></li>
+<li><p><strong>sleep_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Time to wait between two consecutive call to check query status on athena</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES">
+<code class="descname">INTERMEDIATE_STATES</code><em class="property"> = ['QUEUED', 'RUNNING']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.INTERMEDIATE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES">
+<code class="descname">FAILURE_STATES</code><em class="property"> = ['FAILED', 'CANCELLED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.FAILURE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES">
+<code class="descname">SUCCESS_STATES</code><em class="property"> = ['SUCCEEDED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.SUCCESS_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>check if aws conn exists already or create one and return it</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>boto3 session</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query">
+<code class="descname">run_query</code><span class="sig-paren">(</span><em>self</em>, <em>query</em>, <em>query_context</em>, <em>result_configuration</em>, <em>client_request_token=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.run_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query" ti [...]
+<dd><p>Run Presto query on athena with provided config and return submitted query_execution_id</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Presto query to run</p></li>
+<li><p><strong>query_context</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Context in which query need to be run</p></li>
+<li><p><strong>result_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Dict with path to store results in and config related to encryption</p></li>
+<li><p><strong>client_request_token</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Unique token created by user to avoid multiple executions of same query</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status">
+<code class="descname">check_query_status</code><span class="sig-paren">(</span><em>self</em>, <em>query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.check_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status" title="Permalink to this definition">¶</a></dt>
+<dd><p>Fetch the status of submitted athena query. Returns None or one of valid query states.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results">
+<code class="descname">get_query_results</code><span class="sig-paren">(</span><em>self</em>, <em>query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_query_results"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results" title="Permalink to this definition">¶</a></dt>
+<dd><p>Fetch submitted athena query results. returns none if query is in intermediate state or
+failed/cancelled state else dict of query output</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status">
+<code class="descname">poll_query_status</code><span class="sig-paren">(</span><em>self</em>, <em>query_execution_id</em>, <em>max_tries=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.poll_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status" title="Permalink to this defini [...]
+<dd><p>Poll the status of submitted athena query until query state reaches final state.
+Returns one of the final states</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p></li>
+<li><p><strong>max_tries</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of times to poll for query state before function exits</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query">
+<code class="descname">stop_query</code><span class="sig-paren">(</span><em>self</em>, <em>query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.stop_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query" title="Permalink to this definition">¶</a></dt>
+<dd><p>Cancel the submitted athena query</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
new file mode 100644
index 0000000..4a5c79c
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -0,0 +1,364 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_athena_hook" href="../aws_athena_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_dynamodb_hook">
+<span id="airflow-contrib-hooks-aws-dynamodb-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="airflow.contrib.hooks.aws_dynamodb_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_dynamodb_hook.</code><code class="descname">AwsDynamoDBHook</code><span class="sig-paren">(</span><em>table_keys=None</em>, <em>table_name=None</em>, <em>region_name=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook"><span class="viewcode-link">[source]</span [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS DynamoDB.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>table_keys</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – partition key and sort key</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – target DynamoDB table</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">
+<code class="descname">write_batch_data</code><span class="sig-paren">(</span><em>self</em>, <em>items</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.write_batch_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data" title="Permalink to this definition">¶</a></dt>
+<dd><p>Write batch items to dynamodb table with provisioned throughout capacity.</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_athena_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_athena_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
new file mode 100644
index 0000000..88b1f83
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -0,0 +1,360 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_firehose_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_firehose_hook">
+<span id="airflow-contrib-hooks-aws-firehose-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="airflow.contrib.hooks.aws_firehose_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_firehose_hook.</code><code class="descname">AwsFirehoseHook</code><span class="sig-paren">(</span><em>delivery_stream</em>, <em>region_name=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Kinesis Firehose.
+:param delivery_stream: Name of the delivery stream
+:type delivery_stream: str
+:param region_name: AWS region name (example: us-east-1)
+:type region_name: str</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns AwsHook connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">
+<code class="descname">put_records</code><span class="sig-paren">(</span><em>self</em>, <em>records</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.put_records"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records" title="Permalink to this definition">¶</a></dt>
+<dd><p>Write batch records to Kinesis Firehose</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
new file mode 100644
index 0000000..b79af88
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -0,0 +1,449 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_glue_catalog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_glue_catalog_hook">
+<span id="airflow-contrib-hooks-aws-glue-catalog-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="airflow.contrib.hooks.aws_glue_catalog_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_glue_catalog_hook.</code><code class="descname">AwsGlueCatalogHook</code><span class="sig-paren">(</span><em>aws_conn_id='aws_default'</em>, <em>region_name=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook"><span class="viewcode-link">[source]</span>< [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Glue Catalog</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – ID of the Airflow connection where
+credentials and extra configuration are stored</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns glue connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_partitions">
+<code class="descname">get_partitions</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em>, <em>table_name</em>, <em>expression=''</em>, <em>page_size=None</em>, <em>max_items=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_partitions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_c [...]
+<dd><p>Retrieves the partition values for a table.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the catalog database where the partitions reside.</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the partitions’ table.</p></li>
+<li><p><strong>expression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – An expression filtering the partitions to be returned.
+Please see official AWS documentation for further information.
+<a class="reference external" href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions">https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions</a></p></li>
+<li><p><strong>page_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – pagination size</p></li>
+<li><p><strong>max_items</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – maximum items to return</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>set of partition values where each value is a tuple since
+a partition may be composed of multiple columns. For example:
+<code class="docutils literal notranslate"><span class="pre">{('2018-01-01','1'),</span> <span class="pre">('2018-01-01','2')}</span></code></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_partition">
+<code class="descname">check_for_partition</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em>, <em>table_name</em>, <em>expression</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.check_for_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_pa [...]
+<dd><p>Checks whether a partition exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table &#64;partition belongs to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Expression</dt>
+<dd class="field-even"><p>Expression that matches the partitions to check for
+(eg <cite>a = ‘b’ AND c = ‘d’</cite>)</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table">
+<code class="descname">get_table</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em>, <em>table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the information of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s1">&#39;db&#39;</span><span class="p">,</span> <span class="s1">&#39;table_foo&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s1">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;table_foo&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table_location">
+<code class="descname">get_table_location</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em>, <em>table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table_location"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table_location" title="Permalin [...]
+<dd><p>Get the physical location of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html
new file mode 100644
index 0000000..06678f2
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -0,0 +1,405 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_hook">
+<span id="airflow-contrib-hooks-aws-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_hook" title="airflow.contrib.hooks.aws_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="function">
+<dt id="airflow.contrib.hooks.aws_hook._parse_s3_config">
+<code class="descclassname">airflow.contrib.hooks.aws_hook.</code><code class="descname">_parse_s3_config</code><span class="sig-paren">(</span><em>config_file_name</em>, <em>config_format='boto'</em>, <em>profile=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#_parse_s3_config"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook._parse_s3_config [...]
+<dd><p>Parses a config file for s3 credentials. Can currently
+parse boto, s3cmd.conf and AWS SDK config formats</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>config_file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – path to the config file</p></li>
+<li><p><strong>config_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – config type. One of “boto”, “s3cmd” or “aws”.
+Defaults to “boto”</p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – profile name in AWS type config file</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_hook.</code><code class="descname">AwsHook</code><span class="sig-paren">(</span><em>aws_conn_id='aws_default'</em>, <em>verify=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook" title="Permalink [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interact with AWS.
+This class is a thin wrapper around the boto3 python library.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook._get_credentials">
+<code class="descname">_get_credentials</code><span class="sig-paren">(</span><em>self</em>, <em>region_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook._get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook._get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_client_type">
+<code class="descname">get_client_type</code><span class="sig-paren">(</span><em>self</em>, <em>client_type</em>, <em>region_name=None</em>, <em>config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_client_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_client_type" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_resource_type">
+<code class="descname">get_resource_type</code><span class="sig-paren">(</span><em>self</em>, <em>resource_type</em>, <em>region_name=None</em>, <em>config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_resource_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_resource_type" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_session">
+<code class="descname">get_session</code><span class="sig-paren">(</span><em>self</em>, <em>region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying boto3.session.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">
+<code class="descname">get_credentials</code><span class="sig-paren">(</span><em>self</em>, <em>region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying <cite>botocore.Credentials</cite> object.</p>
+<p>This contains the following authentication attributes: access_key, secret_key and token.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.expand_role">
+<code class="descname">expand_role</code><span class="sig-paren">(</span><em>self</em>, <em>role</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.expand_role"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.expand_role" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.
+If IAM role is already an IAM role ARN, no change is made.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>role</strong> – IAM role name or ARN</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>IAM role ARN</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
new file mode 100644
index 0000000..bc91884
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -0,0 +1,366 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_lambda_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_lambda_hook">
+<span id="airflow-contrib-hooks-aws-lambda-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="airflow.contrib.hooks.aws_lambda_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_lambda_hook.</code><code class="descname">AwsLambdaHook</code><span class="sig-paren">(</span><em>function_name</em>, <em>region_name=None</em>, <em>log_type='None'</em>, <em>qualifier='$LATEST'</em>, <em>invocation_type='RequestResponse'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hoo [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Lambda</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>function_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Name</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p></li>
+<li><p><strong>log_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Tail Invocation Request</p></li>
+<li><p><strong>qualifier</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Version or Alias Name</p></li>
+<li><p><strong>invocation_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Invocation Type (RequestResponse, Event etc)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">
+<code class="descname">invoke_lambda</code><span class="sig-paren">(</span><em>self</em>, <em>payload</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.invoke_lambda"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda" title="Permalink to this definition">¶</a></dt>
+<dd><p>Invoke Lambda Function</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sns_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html
new file mode 100644
index 0000000..8332f58
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -0,0 +1,365 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sns_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sns_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sns_hook">
+<span id="airflow-contrib-hooks-aws-sns-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sns_hook" title="airflow.contrib.hooks.aws_sns_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sns_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.aws_sns_hook.</code><code class="descname">AwsSnsHook</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook" title="Permalink t [...]
+<dd><p>Bases:<a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with Amazon Simple Notification Service.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get an SNS connection</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_target">
+<code class="descname">publish_to_target</code><span class="sig-paren">(</span><em>self</em>, <em>target_arn</em>, <em>message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.publish_to_target"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_target" title="Permalink to this definition">¶</a></dt>
+<dd><p>Publish a message to a topic or an endpoint.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>target_arn</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – either a TopicArn or an EndpointArn</p></li>
+<li><p><strong>message</strong> – the default message you want to send</p></li>
+<li><p><strong>message</strong> – str</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
new file mode 100644
index 0000000..de4b156
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -0,0 +1,470 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_instance_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_instance_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_instance_hook">
+<span id="airflow-contrib-hooks-azure-container-instance-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="airflow.contrib.hooks.azure_container_instance_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_container_instance_hook.</code><code class="descname">AzureContainerInstanceHook</code><span class="sig-paren">(</span><em>conn_id='azure_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="# [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with Azure Container Instances.</p>
+<p>This hook requires a service principal in order to work.
+After creating this service principal
+(Azure Active Directory/App Registrations), you need to fill in the
+client_id (Application ID) as login, the generated password as password,
+and tenantId and subscriptionId in the extra’s field as a json.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.create_or_update">
+<code class="descname">create_or_update</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em>, <em>container_group</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.create_or_update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContaine [...]
+<dd><p>Create a new container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>container_group</strong> (<em>azure.mgmt.containerinstance.models.ContainerGroup</em>) – the properties of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state_exitcode_details">
+<code class="descname">get_state_exitcode_details</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state_exitcode_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInsta [...]
+<dd><p>Get the state and exitcode of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A tuple with the state, exitcode, and details.
+If the exitcode is unknown 0 is returned.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)">tuple</a>(state,exitcode,details)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook._get_instance_view">
+<code class="descname">_get_instance_view</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook._get_instance_view"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook._get_ins [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_messages">
+<code class="descname">get_messages</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_messages"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_messages" title= [...]
+<dd><p>Get the messages of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of the event messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_logs">
+<code class="descname">get_logs</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em>, <em>tail=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_logs [...]
+<dd><p>Get the tail from logs of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>tail</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – the size of the tail</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of log messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.delete">
+<code class="descname">delete</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.delete" title="Permalink to this [...]
+<dd><p>Delete a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.exists">
+<code class="descname">exists</code><span class="sig-paren">(</span><em>self</em>, <em>resource_group</em>, <em>name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.exists" title="Permalink to this [...]
+<dd><p>Test if a container group exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sns_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
new file mode 100644
index 0000000..d3f278d
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -0,0 +1,355 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_registry_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_registry_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_registry_hook">
+<span id="airflow-contrib-hooks-azure-container-registry-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="airflow.contrib.hooks.azure_container_registry_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_container_registry_hook.</code><code class="descname">AzureContainerRegistryHook</code><span class="sig-paren">(</span><em>conn_id='azure_registry'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href=" [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with a Azure Container Registry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
new file mode 100644
index 0000000..0dd45ec
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -0,0 +1,360 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_volume_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_volume_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_volume_hook">
+<span id="airflow-contrib-hooks-azure-container-volume-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="airflow.contrib.hooks.azure_container_volume_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="Permalink to this headline">¶< [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_container_volume_hook.</code><code class="descname">AzureContainerVolumeHook</code><span class="sig-paren">(</span><em>wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airf [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook which wraps an Azure Volume.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a Azure storage account of
+which file shares should be mounted</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey">
+<code class="descname">get_storagekey</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_storagekey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_file_volume">
+<code class="descname">get_file_volume</code><span class="sig-paren">(</span><em>self</em>, <em>mount_name</em>, <em>share_name</em>, <em>storage_account_name</em>, <em>read_only=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_file_volume"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_ [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
new file mode 100644
index 0000000..6b07db4
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -0,0 +1,450 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_cosmos_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_cosmos_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_cosmos_hook">
+<span id="airflow-contrib-hooks-azure-cosmos-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="airflow.contrib.hooks.azure_cosmos_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="descname">AzureCosmosDBHook</code><span class="sig-paren">(</span><em>azure_cosmos_conn_id='azure_cosmos_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks. [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure CosmosDB.</p>
+<p>login should be the endpoint uri, password should be the master key
+optionally, you can use the following extras to default these values
+{“database_name”: “&lt;DATABASE_NAME&gt;”, “collection_name”: “COLLECTION_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_cosmos_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure CosmosDB connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a cosmos db client.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database_name">
+<code class="descname">__get_database_name</code><span class="sig-paren">(</span><em>self</em>, <em>database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_database_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database_name" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_collection_name">
+<code class="descname">__get_collection_name</code><span class="sig-paren">(</span><em>self</em>, <em>collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_collection_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_collection_name" title="Permalink to this defin [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist">
+<code class="descname">does_collection_exist</code><span class="sig-paren">(</span><em>self</em>, <em>collection_name</em>, <em>database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_collection_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist" title= [...]
+<dd><p>Checks if a collection exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection">
+<code class="descname">create_collection</code><span class="sig-paren">(</span><em>self</em>, <em>collection_name</em>, <em>database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection" title="Permalink t [...]
+<dd><p>Creates a new collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist">
+<code class="descname">does_database_exist</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_database_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks if a database exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database">
+<code class="descname">create_database</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a new database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database">
+<code class="descname">delete_database</code><span class="sig-paren">(</span><em>self</em>, <em>database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database" title="Permalink to this definition">¶</a></dt>
+<dd><p>Deletes an existing database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection">
+<code class="descname">delete_collection</code><span class="sig-paren">(</span><em>self</em>, <em>collection_name</em>, <em>database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection" title="Permalink t [...]
+<dd><p>Deletes an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.upsert_document">
+<code class="descname">upsert_document</code><span class="sig-paren">(</span><em>self</em>, <em>document</em>, <em>database_name=None</em>, <em>collection_name=None</em>, <em>document_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.upsert_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCos [...]
+<dd><p>Inserts a new document (or updates an existing one) into an existing
+collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documents">
+<code class="descname">insert_documents</code><span class="sig-paren">(</span><em>self</em>, <em>documents</em>, <em>database_name=None</em>, <em>collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.insert_documents"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documen [...]
+<dd><p>Insert a list of new documents into an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_document">
+<code class="descname">delete_document</code><span class="sig-paren">(</span><em>self</em>, <em>document_id</em>, <em>database_name=None</em>, <em>collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_documen [...]
+<dd><p>Delete an existing document out of a collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document">
+<code class="descname">get_document</code><span class="sig-paren">(</span><em>self</em>, <em>document_id</em>, <em>database_name=None</em>, <em>collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document" title= [...]
+<dd><p>Get a document from an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_documents">
+<code class="descname">get_documents</code><span class="sig-paren">(</span><em>self</em>, <em>sql_string</em>, <em>database_name=None</em>, <em>collection_name=None</em>, <em>partition_key=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_documents"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCos [...]
+<dd><p>Get a list of documents from an existing collection in the CosmosDB database via SQL query.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_database_link">
+<code class="descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="descname">get_database_link</code><span class="sig-paren">(</span><em>database_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_database_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.get_database_link" title="Permalink to this de [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_collection_link">
+<code class="descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="descname">get_collection_link</code><span class="sig-paren">(</span><em>database_id</em>, <em>collection_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_collection_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.get_collection_lin [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_document_link">
+<code class="descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="descname">get_document_link</code><span class="sig-paren">(</span><em>database_id</em>, <em>collection_id</em>, <em>document_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_document_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook. [...]
+<dd></dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
new file mode 100644
index 0000000..b7e9ea7
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -0,0 +1,432 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_data_lake_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_data_lake_hook">
+<span id="airflow-contrib-hooks-azure-data-lake-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="airflow.contrib.hooks.azure_data_lake_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_data_lake_hook.</code><code class="descname">AzureDataLakeHook</code><span class="sig-paren">(</span><em>azure_data_lake_conn_id='azure_data_lake_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.co [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure Data Lake.</p>
+<p>Client ID and client secret should be in user and password parameters.
+Tenant and account name should be extra field as
+{“tenant”: “&lt;TENANT&gt;”, “account_name”: “ACCOUNT_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_data_lake_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure Data Lake connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a AzureDLFileSystem object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file">
+<code class="descname">check_for_file</code><span class="sig-paren">(</span><em>self</em>, <em>file_path</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.check_for_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file" title="Permalink to this definition">¶</a></dt>
+<dd><p>Check if a file exists on Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Path and name of the file.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.upload_file">
+<code class="descname">upload_file</code><span class="sig-paren">(</span><em>self</em>, <em>local_path</em>, <em>remote_path</em>, <em>nthreads=64</em>, <em>overwrite=True</em>, <em>buffersize=4194304</em>, <em>blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.upload_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.cont [...]
+<dd><p>Upload a file to Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. Can be single file, directory (in which case,
+upload recursively) or glob pattern. Recursive glob patterns using <cite>**</cite>
+are not supported.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Remote path to upload to; if multiple files, this is the
+directory root to write within.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.download_file">
+<code class="descname">download_file</code><span class="sig-paren">(</span><em>self</em>, <em>local_path</em>, <em>remote_path</em>, <em>nthreads=64</em>, <em>overwrite=True</em>, <em>buffersize=4194304</em>, <em>blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.download_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Download a file from Azure Blob Storage.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. If downloading a single file, will write to this
+specific file, unless it is an existing directory, in which case a file is
+created within it. If downloading multiple files, this is the root
+directory to write within. Will create directories as required.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – remote path/globstring to use to find remote files.
+Recursive glob patterns using <cite>**</cite> are not supported.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_fileshare_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_fileshare_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
new file mode 100644
index 0000000..bbbefa6
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -0,0 +1,537 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_fileshare_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.bigquery_hook" href="../bigquery_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_fileshare_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_fileshare_hook">
+<span id="airflow-contrib-hooks-azure-fileshare-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="airflow.contrib.hooks.azure_fileshare_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.azure_fileshare_hook.</code><code class="descname">AzureFileShareHook</code><span class="sig-paren">(</span><em>wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fi [...]
+<dd><p>Bases:<a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure FileShare Storage.</p>
+<p>Additional options passed in the ‘extra’ field of the connection will be
+passed to the <cite>FileService()</cite> constructor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the wasb connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the FileService object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_directory">
+<code class="descname">check_for_directory</code><span class="sig-paren">(</span><em>self</em>, <em>share_name</em>, <em>directory_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_direc [...]
+<dd><p>Check if a directory exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_file">
+<code class="descname">check_for_file</code><span class="sig-paren">(</span><em>self</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check [...]
+<dd><p>Check if a file exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.list_directories_and_files">
+<code class="descname">list_directories_and_files</code><span class="sig-paren">(</span><em>self</em>, <em>share_name</em>, <em>directory_name=None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.list_directories_and_files"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareH [...]
+<dd><p>Return the list of directories and files stored on a Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.list_directories_and_files()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of files and directories</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory">
+<code class="descname">create_directory</code><span class="sig-paren">(</span><em>self</em>, <em>share_name</em>, <em>directory_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.create_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory" tit [...]
+<dd><p>Create a new directory on a Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_directory()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of files and directories</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file">
+<code class="descname">get_file</code><span class="sig-paren">(</span><em>self</em>, <em>file_path</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHo [...]
+<dd><p>Download a file from Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Where to store the file.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.get_file_to_path()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_file_to_stream">
+<code class="descname">get_file_to_stream</code><span class="sig-paren">(</span><em>self</em>, <em>stream</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_file_to_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook [...]
+<dd><p>Download a file from Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>stream</strong> (<em>file-like object</em>) – A filehandle to store the file to.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.get_file_to_stream()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_file">
+<code class="descname">load_file</code><span class="sig-paren">(</span><em>self</em>, <em>file_path</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.load_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShare [...]
+<dd><p>Upload a file to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Path to the file to load.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_path()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_string">
+<code class="descname">load_string</code><span class="sig-paren">(</span><em>self</em>, <em>string_data</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.load_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFil [...]
+<dd><p>Upload a string to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>string_data</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – String to load.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_text()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.load_stream">
+<code class="descname">load_stream</code><span class="sig-paren">(</span><em>self</em>, <em>stream</em>, <em>share_name</em>, <em>directory_name</em>, <em>file_name</em>, <em>count</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.load_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_ho [...]
+<dd><p>Upload a stream to Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>stream</strong> (<em>file-like</em>) – Opened file/stream to upload as the file content.</p></li>
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Size of the stream in bytes</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.create_file_from_stream()</cite> takes.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../bigquery_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.bigquery_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html
new file mode 100644
index 0000000..431d499
--- /dev/null
+++ b/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -0,0 +1,1229 @@
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.bigquery_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.cassandra_hook" href="../cassandra_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.3
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.bigquery_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/bigquery_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.bigquery_hook">
+<span id="airflow-contrib-hooks-bigquery-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.bigquery_hook" title="airflow.contrib.hooks.bigquery_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.bigquery_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.bigquery_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains a BigQuery Hook, as well as a very basic PEP 249
+implementation for BigQuery.</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="descname">BigQueryHook</code><span class="sig-paren">(</span><em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em>, <em>use_legacy_sql=True</em>, <em>location=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook"><span class="viewcode-link">[source]</span> [...]
+<dd><p>Bases:<a class="reference internal" href="../gcp_api_base_hook/index.html#airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook" title="airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook</span></code></a>, <a class="reference internal" href="../../../hooks/dbapi_hook/index.html#airflow.hooks.dbapi_hook.DbApiHook" title="airflow.h [...]
+<p>Interact with BigQuery. This hook uses the Google Cloud Platform
+connection.</p>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.conn_name_attr">
+<code class="descname">conn_name_attr</code><em class="property"> = bigquery_conn_id</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.conn_name_attr"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.conn_name_attr" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn">
+<code class="descname">get_conn</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery PEP 249 connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service">
+<code class="descname">get_service</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a BigQuery service object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows">
+<code class="descname">insert_rows</code><span class="sig-paren">(</span><em>self</em>, <em>table</em>, <em>rows</em>, <em>target_fields=None</em>, <em>commit_every=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.insert_rows"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.insert_rows" title="Permalink to t [...]
+<dd><p>Insertion is currently unsupported. Theoretically, you could use
+BigQuery’s streaming API to insert rows into a table, but this hasn’t
+been implemented.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">
+<code class="descname">get_pandas_df</code><span class="sig-paren">(</span><em>self</em>, <em>sql</em>, <em>parameters=None</em>, <em>dialect=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.get_pandas_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns a Pandas DataFrame for the results produced by a BigQuery
+query. The DbApiHook method must be overridden because Pandas
+doesn’t support PEP 249 connections, except for SQLite. See:</p>
+<p><a class="reference external" href="https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447">https://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L447</a>
+<a class="reference external" href="https://github.com/pydata/pandas/issues/6900">https://github.com/pydata/pandas/issues/6900</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sql</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The BigQuery SQL to execute.</p></li>
+<li><p><strong>parameters</strong> (<em>mapping</em><em> or </em><em>iterable</em>) – The parameters to render the SQL query with (not
+used, leave to override superclass method)</p></li>
+<li><p><strong>dialect</strong> (<em>str in {'legacy'</em><em>, </em><em>'standard'}</em>) – Dialect of BigQuery SQL – legacy SQL or standard SQL
+defaults to use <cite>self.use_legacy_sql</cite> if not specified</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists">
+<code class="descname">table_exists</code><span class="sig-paren">(</span><em>self</em>, <em>project_id</em>, <em>dataset_id</em>, <em>table_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryHook.table_exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks for the existence of a table in Google BigQuery.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The Google cloud project in which to look for the
+table. The connection supplied to the hook must provide access to
+the specified project.</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the dataset in which to look for the
+table.</p></li>
+<li><p><strong>table_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the table to check the existence of.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryPandasConnector">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="descname">BigQueryPandasConnector</code><span class="sig-paren">(</span><em>project_id</em>, <em>service</em>, <em>reauth=False</em>, <em>verbose=False</em>, <em>dialect='legacy'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryPandasConnector"><span class="viewcode-link">[source [...]
+<dd><p>Bases:<code class="xref py py-class docutils literal notranslate"><span class="pre">pandas_gbq.gbq.GbqConnector</span></code></p>
+<p>This connector behaves identically to GbqConnector (from Pandas), except
+that it allows the service to be injected, and disables a call to
+self.get_credentials(). This allows Airflow to use BigQuery with Pandas
+without forcing a three legged OAuth connection. Instead, we can inject
+service account credentials into the binding.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="descname">BigQueryConnection</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryCon [...]
+<dd><p>Bases:<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
+<p>BigQuery does not have a notion of a persistent connection. Thus, these
+objects are small stateless factories for cursors, which do all the real
+work.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.close">
+<code class="descname">close</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.close" title="Permalink to this definition">¶</a></dt>
+<dd><p>BigQueryConnection does not have anything to close.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.commit">
+<code class="descname">commit</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.commit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.commit" title="Permalink to this definition">¶</a></dt>
+<dd><p>BigQueryConnection does not support transactions.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.cursor">
+<code class="descname">cursor</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.cursor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.cursor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a new <code class="xref py py-class docutils literal notranslate"><span class="pre">Cursor</span></code> object using the connection.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryConnection.rollback">
+<code class="descname">rollback</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryConnection.rollback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryConnection.rollback" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor">
+<em class="property">class </em><code class="descclassname">airflow.contrib.hooks.bigquery_hook.</code><code class="descname">BigQueryBaseCursor</code><span class="sig-paren">(</span><em>service</em>, <em>project_id</em>, <em>use_legacy_sql=True</em>, <em>api_resource_configs=None</em>, <em>location=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor"><span class="viewcode-link">[ [...]
+<dd><p>Bases:<code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>The BigQuery base cursor contains helper methods to execute queries against
+BigQuery. The methods can be used directly by operators, in cases where a
+PEP 249 cursor isn’t needed.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.create_empty_table">
+<code class="descname">create_empty_table</code><span class="sig-paren">(</span><em>self</em>, <em>project_id</em>, <em>dataset_id</em>, <em>table_id</em>, <em>schema_fields=None</em>, <em>time_partitioning=None</em>, <em>labels=None</em>, <em>view=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.create_empty_table"><span class="viewcode-link">[source]</span></a><a class="heade [...]
+<dd><p>Creates a new, empty table in the dataset.
+To create a view, which is defined by a SQL query, parse a dictionary to ‘view’ kwarg</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The project to create the table into.</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dataset to create the table into.</p></li>
+<li><p><strong>table_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The Name of the table to be created.</p></li>
+<li><p><strong>schema_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – If set, the schema field list as defined here:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema">https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</a></p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the table, passed to BigQuery</p></li>
+</ul>
+</dd>
+</dl>
+<p><strong>Example</strong>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema_fields</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">: [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+</pre></div>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>time_partitioning</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>configure optional time partitioning fields i.e.
+partition by field, type and expiration as per API specifications.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#timePartitioning">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#timePartitioning</a></p>
+</div>
+</p></li>
+<li><p><strong>view</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – [Optional] A dictionary containing definition for the view.
+If set, it will create a view instead of a table:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view</a></p></li>
+</ul>
+</dd>
+</dl>
+<p><strong>Example</strong>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 1000&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="kc">False</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.create_external_table">
+<code class="descname">create_external_table</code><span class="sig-paren">(</span><em>self</em>, <em>external_project_dataset_table</em>, <em>schema_fields</em>, <em>source_uris</em>, <em>source_format='CSV'</em>, <em>autodetect=False</em>, <em>compression='NONE'</em>, <em>ignore_unknown_values=False</em>, <em>max_bad_records=0</em>, <em>skip_leading_rows=0</em>, <em>field_delimiter='</em>, <em>'</em>, <em>quote_character=None</em>, <em>allow_quoted_newlines=False</em>, <em>allow_jagged [...]
+<dd><p>Creates a new external table in the dataset with the data in Google
+Cloud Storage. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</a></p>
+<p>for more details about these parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>external_project_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dotted <code class="docutils literal notranslate"><span class="pre">(&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;)</span></code> BigQuery
+table name to create external table.
+If <code class="docutils literal notranslate"><span class="pre">&lt;project&gt;</span></code> is not included, project will be the
+project defined in the connection json.</p></li>
+<li><p><strong>schema_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The schema field list as defined here:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</a></p></li>
+<li><p><strong>source_uris</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The source Google Cloud
+Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild
+per-object name can be used.</p></li>
+<li><p><strong>source_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – File format to export.</p></li>
+<li><p><strong>autodetect</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Try to detect schema and format options automatically.
+Any option specified explicitly will be honored.</p></li>
+<li><p><strong>compression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – [Optional] The compression type of the data source.
+Possible values include GZIP and NONE.
+The default value is NONE.
+This setting is ignored for Google Cloud Bigtable,
+Google Cloud Datastore backups and Avro formats.</p></li>
+<li><p><strong>ignore_unknown_values</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – [Optional] Indicates if BigQuery should allow
+extra values that are not represented in the table schema.
+If true, the extra values are ignored. If false, records with extra columns
+are treated as bad records, and if there are too many bad records, an
+invalid error is returned in the job result.</p></li>
+<li><p><strong>max_bad_records</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – The maximum number of bad records that BigQuery can
+ignore when running the job.</p></li>
+<li><p><strong>skip_leading_rows</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of rows to skip when loading from a CSV.</p></li>
+<li><p><strong>field_delimiter</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The delimiter to use when loading from a CSV.</p></li>
+<li><p><strong>quote_character</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The value that is used to quote data sections in a CSV
+file.</p></li>
+<li><p><strong>allow_quoted_newlines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to allow quoted newlines (true) or not
+(false).</p></li>
+<li><p><strong>allow_jagged_rows</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Accept rows that are missing trailing optional columns.
+The missing values are treated as nulls. If false, records with missing
+trailing columns are treated as bad records, and if there are too many bad
+records, an invalid error is returned in the job result. Only applicable when
+soure_format is CSV.</p></li>
+<li><p><strong>src_fmt_configs</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – configure optional fields specific to the source format</p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the table, passed to BigQuery</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.patch_table">
+<code class="descname">patch_table</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id</em>, <em>table_id</em>, <em>project_id=None</em>, <em>description=None</em>, <em>expiration_time=None</em>, <em>external_data_configuration=None</em>, <em>friendly_name=None</em>, <em>labels=None</em>, <em>schema=None</em>, <em>time_partitioning=None</em>, <em>view=None</em>, <em>require_partition_filter=None</em><span class="sig-paren">)</span><a class="reference internal" href="../.. [...]
+<dd><p>Patch information in an existing table.
+It only updates fileds that are provided in the request object.</p>
+<p>Reference: <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables/patch">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables/patch</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dataset containing the table to be patched.</p></li>
+<li><p><strong>table_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The Name of the table to be patched.</p></li>
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The project containing the table to be patched.</p></li>
+<li><p><strong>description</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – [Optional] A user-friendly description of this table.</p></li>
+<li><p><strong>expiration_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – [Optional] The time when this table expires,
+in milliseconds since the epoch.</p></li>
+<li><p><strong>external_data_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – [Optional] A dictionary containing
+properties of a table stored outside of BigQuery.</p></li>
+<li><p><strong>friendly_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – [Optional] A descriptive name for this table.</p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – [Optional] A dictionary containing labels associated with this table.</p></li>
+<li><p><strong>schema</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – <p>[Optional] If set, the schema field list as defined here:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema">https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</a>
+The supported schema modifications and unsupported schema modification are listed here:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/managing-table-schemas">https://cloud.google.com/bigquery/docs/managing-table-schemas</a>
+<strong>Example</strong>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">schema</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;emp_name&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;STRING&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> [...]
+               <span class="p">{</span><span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;salary&quot;</span><span class="p">,</span> <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;INTEGER&quot;</span><span class="p">,</span> <span class="s2">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;NULLABLE&quot;</span><span class="p">}]</span>
+</pre></div>
+</div>
+</p></li>
+<li><p><strong>time_partitioning</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – [Optional] A dictionary containing time-based partitioning
+definition for the table.</p></li>
+<li><p><strong>view</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>[Optional] A dictionary containing definition for the view.
+If set, it will patch a view instead of a table:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view">https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#view</a>
+<strong>Example</strong>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">view</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;query&quot;</span><span class="p">:</span> <span class="s2">&quot;SELECT * FROM `test-project-id.test_dataset_id.test_table_prefix*` LIMIT 500&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;useLegacySql&quot;</span><span class="p">:</span> <span class="kc">False</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</p></li>
+<li><p><strong>require_partition_filter</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – [Optional] If true, queries over the this table require a
+partition filter. If false, queries over the table</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_query">
+<code class="descname">run_query</code><span class="sig-paren">(</span><em>self</em>, <em>bql=None</em>, <em>sql=None</em>, <em>destination_dataset_table=None</em>, <em>write_disposition='WRITE_EMPTY'</em>, <em>allow_large_results=False</em>, <em>flatten_results=None</em>, <em>udf_config=None</em>, <em>use_legacy_sql=None</em>, <em>maximum_billing_tier=None</em>, <em>maximum_bytes_billed=None</em>, <em>create_disposition='CREATE_IF_NEEDED'</em>, <em>query_params=None</em>, <em>labels=Non [...]
+<dd><p>Executes a BigQuery SQL query. Optionally persists results in a BigQuery
+table. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs">https://cloud.google.com/bigquery/docs/reference/v2/jobs</a></p>
+<p>For more details about these parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bql</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – (Deprecated. Use <cite>sql</cite> parameter instead) The BigQuery SQL
+to execute.</p></li>
+<li><p><strong>sql</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The BigQuery SQL to execute.</p></li>
+<li><p><strong>destination_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dotted <code class="docutils literal notranslate"><span class="pre">&lt;dataset&gt;.&lt;table&gt;</span></code>
+BigQuery table to save the query results.</p></li>
+<li><p><strong>write_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – What to do if the table already exists in
+BigQuery.</p></li>
+<li><p><strong>allow_large_results</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to allow large results.</p></li>
+<li><p><strong>flatten_results</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If true and query uses legacy SQL dialect, flattens
+all nested and repeated fields in the query results. <code class="docutils literal notranslate"><span class="pre">allowLargeResults</span></code>
+must be true if this is set to false. For standard SQL queries, this
+flag is ignored and results are never flattened.</p></li>
+<li><p><strong>udf_config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The User Defined Function configuration for the query.
+See <a class="reference external" href="https://cloud.google.com/bigquery/user-defined-functions">https://cloud.google.com/bigquery/user-defined-functions</a> for details.</p></li>
+<li><p><strong>use_legacy_sql</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to use legacy SQL (true) or standard SQL (false).
+If <cite>None</cite>, defaults to <cite>self.use_legacy_sql</cite>.</p></li>
+<li><p><strong>api_resource_configs</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary that contain params
+‘configuration’ applied for Google BigQuery Jobs API:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs">https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs</a>
+for example, {‘query’: {‘useQueryCache’: False}}. You could use it
+if you need to provide some params that are not supported by the
+BigQueryHook like args.</p></li>
+<li><p><strong>maximum_billing_tier</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Positive integer that serves as a
+multiplier of the basic price.</p></li>
+<li><p><strong>maximum_bytes_billed</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.7)"><em>float</em></a>) – Limits the bytes billed for this job.
+Queries that will have bytes billed beyond this limit will fail
+(without incurring a charge). If unspecified, this will be
+set to your project default.</p></li>
+<li><p><strong>create_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Specifies whether the job is allowed to
+create new tables.</p></li>
+<li><p><strong>query_params</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – a list of dictionary containing query parameter types and
+values, passed to BigQuery</p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the job/query,
+passed to BigQuery</p></li>
+<li><p><strong>schema_update_options</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)"><em>tuple</em></a>) – Allows the schema of the destination
+table to be updated as a side effect of the query job.</p></li>
+<li><p><strong>priority</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Specifies a priority for the query.
+Possible values include INTERACTIVE and BATCH.
+The default value is INTERACTIVE.</p></li>
+<li><p><strong>time_partitioning</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – configure optional time partitioning fields i.e.
+partition by field, type and expiration as per API specifications.</p></li>
+<li><p><strong>cluster_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a><em>]</em>) – Request that the result of this query be stored sorted
+by one or more columns. This is only available in combination with
+time_partitioning. The order of columns given determines the sort order.</p></li>
+<li><p><strong>location</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The geographic location of the job. Required except for
+US and EU. See details at
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/locations#specifying_your_location">https://cloud.google.com/bigquery/docs/locations#specifying_your_location</a></p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_extract">
+<code class="descname">run_extract</code><span class="sig-paren">(</span><em>self</em>, <em>source_project_dataset_table</em>, <em>destination_cloud_storage_uris</em>, <em>compression='NONE'</em>, <em>export_format='CSV'</em>, <em>field_delimiter='</em>, <em>'</em>, <em>print_header=True</em>, <em>labels=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_extract"><span class= [...]
+<dd><p>Executes a BigQuery extract command to copy data from BigQuery to
+Google Cloud Storage. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs">https://cloud.google.com/bigquery/docs/reference/v2/jobs</a></p>
+<p>For more details about these parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>source_project_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dotted <code class="docutils literal notranslate"><span class="pre">&lt;dataset&gt;.&lt;table&gt;</span></code>
+BigQuery table to use as the source data.</p></li>
+<li><p><strong>destination_cloud_storage_uris</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The destination Google Cloud
+Storage URI (e.g. gs://some-bucket/some-file.txt). Follows
+convention defined here:
+https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple</p></li>
+<li><p><strong>compression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Type of compression to use.</p></li>
+<li><p><strong>export_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – File format to export.</p></li>
+<li><p><strong>field_delimiter</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The delimiter to use when extracting to a CSV.</p></li>
+<li><p><strong>print_header</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to print a header for a CSV file extract.</p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the job/query,
+passed to BigQuery</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_copy">
+<code class="descname">run_copy</code><span class="sig-paren">(</span><em>self</em>, <em>source_project_dataset_tables</em>, <em>destination_project_dataset_table</em>, <em>write_disposition='WRITE_EMPTY'</em>, <em>create_disposition='CREATE_IF_NEEDED'</em>, <em>labels=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_copy"><span class="viewcode-link">[source]</span></a><a c [...]
+<dd><p>Executes a BigQuery copy command to copy data from one BigQuery table
+to another. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy">https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy</a></p>
+<p>For more details about these parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>source_project_dataset_tables</strong> (<em>list|string</em>) – One or more dotted
+<code class="docutils literal notranslate"><span class="pre">(project:|project.)&lt;dataset&gt;.&lt;table&gt;</span></code>
+BigQuery tables to use as the source data. Use a list if there are
+multiple source tables.
+If <code class="docutils literal notranslate"><span class="pre">&lt;project&gt;</span></code> is not included, project will be the project defined
+in the connection json.</p></li>
+<li><p><strong>destination_project_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The destination BigQuery
+table. Format is: <code class="docutils literal notranslate"><span class="pre">(project:|project.)&lt;dataset&gt;.&lt;table&gt;</span></code></p></li>
+<li><p><strong>write_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The write disposition if the table already exists.</p></li>
+<li><p><strong>create_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The create disposition if the table doesn’t exist.</p></li>
+<li><p><strong>labels</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a dictionary containing labels for the job/query,
+passed to BigQuery</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_load">
+<code class="descname">run_load</code><span class="sig-paren">(</span><em>self</em>, <em>destination_project_dataset_table</em>, <em>source_uris</em>, <em>schema_fields=None</em>, <em>source_format='CSV'</em>, <em>create_disposition='CREATE_IF_NEEDED'</em>, <em>skip_leading_rows=0</em>, <em>write_disposition='WRITE_EMPTY'</em>, <em>field_delimiter='</em>, <em>'</em>, <em>max_bad_records=0</em>, <em>quote_character=None</em>, <em>ignore_unknown_values=False</em>, <em>allow_quoted_newlines [...]
+<dd><p>Executes a BigQuery load command to load data from Google Cloud Storage
+to BigQuery. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs">https://cloud.google.com/bigquery/docs/reference/v2/jobs</a></p>
+<p>For more details about these parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>destination_project_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The dotted <code class="docutils literal notranslate"><span class="pre">(&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;)</span></code> BigQuery
+table to load data into. If <code class="docutils literal notranslate"><span class="pre">&lt;project&gt;</span></code> is not included, project will be the
+project defined in the connection json. If a partition is specified the
+operator will automatically append the data, create a new partition or create
+a new DAY partitioned table.</p></li>
+<li><p><strong>schema_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The schema field list as defined here:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load">https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</a>
+Required if autodetect=False; optional if autodetect=True.</p></li>
+<li><p><strong>autodetect</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Attempt to autodetect the schema for CSV and JSON
+source files.</p></li>
+<li><p><strong>source_uris</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – The source Google Cloud
+Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild
+per-object name can be used.</p></li>
+<li><p><strong>source_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – File format to export.</p></li>
+<li><p><strong>create_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The create disposition if the table doesn’t exist.</p></li>
+<li><p><strong>skip_leading_rows</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of rows to skip when loading from a CSV.</p></li>
+<li><p><strong>write_disposition</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The write disposition if the table already exists.</p></li>
+<li><p><strong>field_delimiter</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The delimiter to use when loading from a CSV.</p></li>
+<li><p><strong>max_bad_records</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – The maximum number of bad records that BigQuery can
+ignore when running the job.</p></li>
+<li><p><strong>quote_character</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The value that is used to quote data sections in a CSV
+file.</p></li>
+<li><p><strong>ignore_unknown_values</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – [Optional] Indicates if BigQuery should allow
+extra values that are not represented in the table schema.
+If true, the extra values are ignored. If false, records with extra columns
+are treated as bad records, and if there are too many bad records, an
+invalid error is returned in the job result.</p></li>
+<li><p><strong>allow_quoted_newlines</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to allow quoted newlines (true) or not
+(false).</p></li>
+<li><p><strong>allow_jagged_rows</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Accept rows that are missing trailing optional columns.
+The missing values are treated as nulls. If false, records with missing
+trailing columns are treated as bad records, and if there are too many bad
+records, an invalid error is returned in the job result. Only applicable when
+soure_format is CSV.</p></li>
+<li><p><strong>schema_update_options</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)"><em>tuple</em></a>) – Allows the schema of the destination
+table to be updated as a side effect of the load job.</p></li>
+<li><p><strong>src_fmt_configs</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – configure optional fields specific to the source format</p></li>
+<li><p><strong>time_partitioning</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – configure optional time partitioning fields i.e.
+partition by field, type and  expiration as per API specifications.</p></li>
+<li><p><strong>cluster_fields</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a><em>]</em>) – Request that the result of this load be stored sorted
+by one or more columns. This is only available in combination with
+time_partitioning. The order of columns given determines the sort order.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_with_configuration">
+<code class="descname">run_with_configuration</code><span class="sig-paren">(</span><em>self</em>, <em>configuration</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_with_configuration"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_with_configuration" title="Permalink to this definition">¶</a></dt>
+<dd><p>Executes a BigQuery SQL query. See here:</p>
+<p><a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs">https://cloud.google.com/bigquery/docs/reference/v2/jobs</a></p>
+<p>For more details about the configuration parameter.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>configuration</strong> – The configuration parameter maps directly to
+BigQuery’s configuration field in the job object. See
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/jobs">https://cloud.google.com/bigquery/docs/reference/v2/jobs</a> for
+details.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.poll_job_complete">
+<code class="descname">poll_job_complete</code><span class="sig-paren">(</span><em>self</em>, <em>job_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.poll_job_complete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.poll_job_complete" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.cancel_query">
+<code class="descname">cancel_query</code><span class="sig-paren">(</span><em>self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.cancel_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.cancel_query" title="Permalink to this definition">¶</a></dt>
+<dd><p>Cancel all started queries that have not yet completed</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_schema">
+<code class="descname">get_schema</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id</em>, <em>table_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.get_schema"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_schema" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the schema for a given datset.table.
+see <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/tables#resource">https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataset_id</strong> – the dataset ID of the requested table</p></li>
+<li><p><strong>table_id</strong> – the table ID of the requested table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a table schema</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_tabledata">
+<code class="descname">get_tabledata</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id</em>, <em>table_id</em>, <em>max_results=None</em>, <em>selected_fields=None</em>, <em>page_token=None</em>, <em>start_index=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.get_tabledata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.co [...]
+<dd><p>Get the data of a given dataset.table and optionally with selected columns.
+see <a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list">https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataset_id</strong> – the dataset ID of the requested table.</p></li>
+<li><p><strong>table_id</strong> – the table ID of the requested table.</p></li>
+<li><p><strong>max_results</strong> – the maximum results to return.</p></li>
+<li><p><strong>selected_fields</strong> – List of fields to return (comma-separated). If
+unspecified, all fields are returned.</p></li>
+<li><p><strong>page_token</strong> – page token, returned from a previous call,
+identifying the result set.</p></li>
+<li><p><strong>start_index</strong> – zero based index of the starting row to read.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>map containing the requested rows.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_table_delete">
+<code class="descname">run_table_delete</code><span class="sig-paren">(</span><em>self</em>, <em>deletion_dataset_table</em>, <em>ignore_if_missing=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_table_delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_table_delete" title="Permalin [...]
+<dd><p>Delete an existing table from the dataset;
+If the table does not exist, return an error unless ignore_if_missing
+is set to True.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>deletion_dataset_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – A dotted
+<code class="docutils literal notranslate"><span class="pre">(&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;</span></code> that indicates which table
+will be deleted.</p></li>
+<li><p><strong>ignore_if_missing</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – if True, then return success even if the
+requested table does not exist.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_table_upsert">
+<code class="descname">run_table_upsert</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id</em>, <em>table_resource</em>, <em>project_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_table_upsert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_table_upsert" title="Per [...]
+<dd><p>creates a new, empty table in the dataset;
+If the table already exists, update the existing table.
+Since BigQuery does not natively allow table upserts, this is not an
+atomic operation.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the dataset to upsert the table into.</p></li>
+<li><p><strong>table_resource</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – a table resource. see
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/v2/tables#resource">https://cloud.google.com/bigquery/docs/reference/v2/tables#resource</a></p></li>
+<li><p><strong>project_id</strong> – the project to upsert the table into.  If None,
+project will be self.project_id.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.run_grant_dataset_view_access">
+<code class="descname">run_grant_dataset_view_access</code><span class="sig-paren">(</span><em>self</em>, <em>source_dataset</em>, <em>view_dataset</em>, <em>view_table</em>, <em>source_project=None</em>, <em>view_project=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.run_grant_dataset_view_access"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ai [...]
+<dd><p>Grant authorized view access of a dataset to a view table.
+If this view has already been granted access to the dataset, do nothing.
+This method is not atomic.  Running it may clobber a simultaneous update.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>source_dataset</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the source dataset</p></li>
+<li><p><strong>view_dataset</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the dataset that the view is in</p></li>
+<li><p><strong>view_table</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the table of the view</p></li>
+<li><p><strong>source_project</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the project of the source dataset. If None,
+self.project_id will be used.</p></li>
+<li><p><strong>view_project</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the project that the view is in. If None,
+self.project_id will be used.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>the datasets resource of the source dataset.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.create_empty_dataset">
+<code class="descname">create_empty_dataset</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id=''</em>, <em>project_id=''</em>, <em>dataset_reference=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.create_empty_dataset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.create_empt [...]
+<dd><p>Create a new empty dataset:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/insert">https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/insert</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the project where we want to create
+an empty a dataset. Don’t need to provide, if projectId in dataset_reference.</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The id of dataset. Don’t need to provide,
+if datasetId in dataset_reference.</p></li>
+<li><p><strong>dataset_reference</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Dataset reference that could be provided
+with request body. More info:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource">https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource</a></p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.delete_dataset">
+<code class="descname">delete_dataset</code><span class="sig-paren">(</span><em>self</em>, <em>project_id</em>, <em>dataset_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.delete_dataset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.delete_dataset" title="Permalink to this definition">¶</a></dt>
+<dd><p>Delete a dataset of Big query in your project.
+:param project_id: The name of the project where we have the dataset .
+:type project_id: str
+:param dataset_id: The dataset to be delete.
+:type dataset_id: str
+:return:</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_dataset">
+<code class="descname">get_dataset</code><span class="sig-paren">(</span><em>self</em>, <em>dataset_id</em>, <em>project_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.get_dataset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_dataset" title="Permalink to this definition">¶</a></dt>
+<dd><p>Method returns dataset_resource if dataset exist
+and raised 404 error if dataset does not exist</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The BigQuery Dataset ID</p></li>
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The GCP Project ID</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>dataset_resource</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information, see Dataset Resource content:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource">https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource</a></p>
+</div>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_datasets_list">
+<code class="descname">get_datasets_list</code><span class="sig-paren">(</span><em>self</em>, <em>project_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.get_datasets_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.get_datasets_list" title="Permalink to this definition">¶</a></dt>
+<dd><p>Method returns full list of BigQuery datasets in the current project</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information, see:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/list">https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/list</a></p>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Google Cloud Project for which you
+try to get all datasets</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>datasets_list</p>
+<p>Example of returned datasets_list:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>   <span class="p">{</span>
+      <span class="s2">&quot;kind&quot;</span><span class="p">:</span><span class="s2">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;location&quot;</span><span class="p">:</span><span class="s2">&quot;US&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;id&quot;</span><span class="p">:</span><span class="s2">&quot;your-project:dataset_2_test&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;datasetReference&quot;</span><span class="p">:{</span>
+         <span class="s2">&quot;projectId&quot;</span><span class="p">:</span><span class="s2">&quot;your-project&quot;</span><span class="p">,</span>
+         <span class="s2">&quot;datasetId&quot;</span><span class="p">:</span><span class="s2">&quot;dataset_2_test&quot;</span>
+      <span class="p">}</span>
+   <span class="p">},</span>
+   <span class="p">{</span>
+      <span class="s2">&quot;kind&quot;</span><span class="p">:</span><span class="s2">&quot;bigquery#dataset&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;location&quot;</span><span class="p">:</span><span class="s2">&quot;US&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;id&quot;</span><span class="p">:</span><span class="s2">&quot;your-project:dataset_1_test&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;datasetReference&quot;</span><span class="p">:{</span>
+         <span class="s2">&quot;projectId&quot;</span><span class="p">:</span><span class="s2">&quot;your-project&quot;</span><span class="p">,</span>
+         <span class="s2">&quot;datasetId&quot;</span><span class="p">:</span><span class="s2">&quot;dataset_1_test&quot;</span>
+      <span class="p">}</span>
+   <span class="p">}</span>
+<span class="p">]</span>
+</pre></div>
+</div>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.bigquery_hook.BigQueryBaseCursor.insert_all">
+<code class="descname">insert_all</code><span class="sig-paren">(</span><em>self</em>, <em>project_id</em>, <em>dataset_id</em>, <em>table_id</em>, <em>rows</em>, <em>ignore_unknown_values=False</em>, <em>skip_invalid_rows=False</em>, <em>fail_on_error=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/bigquery_hook.html#BigQueryBaseCursor.insert_all"><span class="viewcode-link">[source]</span></a><a class="headerli [...]
+<dd><p>Method to stream data into BigQuery one record at a time without needing
+to run a load job</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information, see:
+<a class="reference external" href="https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll">https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll</a></p>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>project_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the project where we have the table</p></li>
+<li><p><strong>dataset_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the dataset where we have the table</p></li>
+<li><p><strong>table_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the table</p></li>
+<li><p><strong>rows</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – the rows to insert</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="simple">
+<dt><strong>Example or rows</strong>:</dt><dd><p>rows=[{“json”: {“a_key”: “a_value_0”}}, {“json”: {“a_key”: “a_value_1”}}]</p>
+</dd>
+</dl>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
... 802876 lines suppressed ...


[airflow-site] 02/30: Removing copyright notice

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 1bb548101c6475d89972f057fea572d2938cbaef
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Mon Jun 6 18:15:38 2016 -0700

    Removing copyright notice
---
 _modules/S3_hook.html                                    | 1 -
 _modules/airflow/contrib/operators/hipchat_operator.html | 1 -
 _modules/airflow/executors/celery_executor.html          | 1 -
 _modules/airflow/executors/local_executor.html           | 1 -
 _modules/airflow/executors/sequential_executor.html      | 1 -
 _modules/airflow/macros.html                             | 1 -
 _modules/airflow/macros/hive.html                        | 1 -
 _modules/airflow/models.html                             | 1 -
 _modules/airflow/operators/docker_operator.html          | 1 -
 _modules/airflow/operators/sensors.html                  | 1 -
 _modules/bash_operator.html                              | 1 -
 _modules/cloudant_hook.html                              | 1 -
 _modules/dagrun_operator.html                            | 1 -
 _modules/dbapi_hook.html                                 | 1 -
 _modules/druid_hook.html                                 | 1 -
 _modules/dummy_operator.html                             | 1 -
 _modules/email_operator.html                             | 1 -
 _modules/ftp_hook.html                                   | 1 -
 _modules/gcs_hook.html                                   | 1 -
 _modules/generic_transfer.html                           | 1 -
 _modules/hive_hooks.html                                 | 1 -
 _modules/hive_operator.html                              | 1 -
 _modules/hive_to_druid.html                              | 1 -
 _modules/hive_to_mysql.html                              | 1 -
 _modules/hive_to_samba_operator.html                     | 1 -
 _modules/http_hook.html                                  | 1 -
 _modules/http_operator.html                              | 1 -
 _modules/index.html                                      | 1 -
 _modules/mssql_hook.html                                 | 1 -
 _modules/mssql_operator.html                             | 1 -
 _modules/mssql_to_hive.html                              | 1 -
 _modules/mysql_hook.html                                 | 1 -
 _modules/mysql_operator.html                             | 1 -
 _modules/mysql_to_hive.html                              | 1 -
 _modules/postgres_hook.html                              | 1 -
 _modules/postgres_operator.html                          | 1 -
 _modules/presto_check_operator.html                      | 1 -
 _modules/presto_hook.html                                | 1 -
 _modules/python_operator.html                            | 1 -
 _modules/s3_to_hive_operator.html                        | 1 -
 _modules/sensors.html                                    | 1 -
 _modules/slack_operator.html                             | 1 -
 _modules/sqlite_hook.html                                | 1 -
 _modules/ssh_execute_operator.html                       | 1 -
 _modules/ssh_hook.html                                   | 1 -
 _modules/vertica_hook.html                               | 1 -
 _modules/vertica_operator.html                           | 1 -
 _modules/vertica_to_hive.html                            | 1 -
 _modules/webhdfs_hook.html                               | 1 -
 _sources/project.txt                                     | 1 +
 cli.html                                                 | 1 -
 code.html                                                | 1 -
 concepts.html                                            | 1 -
 configuration.html                                       | 1 -
 faq.html                                                 | 1 -
 genindex.html                                            | 1 -
 index.html                                               | 1 -
 installation.html                                        | 1 -
 license.html                                             | 1 -
 plugins.html                                             | 1 -
 profiling.html                                           | 1 -
 project.html                                             | 2 +-
 py-modindex.html                                         | 1 -
 scheduler.html                                           | 1 -
 search.html                                              | 1 -
 searchindex.js                                           | 2 +-
 security.html                                            | 1 -
 start.html                                               | 1 -
 tutorial.html                                            | 1 -
 ui.html                                                  | 1 -
 70 files changed, 3 insertions(+), 69 deletions(-)

diff --git a/_modules/S3_hook.html b/_modules/S3_hook.html
index e18ec5f..cca8dea 100644
--- a/_modules/S3_hook.html
+++ b/_modules/S3_hook.html
@@ -552,7 +552,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/contrib/operators/hipchat_operator.html b/_modules/airflow/contrib/operators/hipchat_operator.html
index 370d812..1505a9b 100644
--- a/_modules/airflow/contrib/operators/hipchat_operator.html
+++ b/_modules/airflow/contrib/operators/hipchat_operator.html
@@ -278,7 +278,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/executors/celery_executor.html b/_modules/airflow/executors/celery_executor.html
index 4f91594..a231e28 100644
--- a/_modules/airflow/executors/celery_executor.html
+++ b/_modules/airflow/executors/celery_executor.html
@@ -246,7 +246,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/executors/local_executor.html b/_modules/airflow/executors/local_executor.html
index efd28ef..79c456d 100644
--- a/_modules/airflow/executors/local_executor.html
+++ b/_modules/airflow/executors/local_executor.html
@@ -224,7 +224,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/executors/sequential_executor.html b/_modules/airflow/executors/sequential_executor.html
index 2d90305..a393b0f 100644
--- a/_modules/airflow/executors/sequential_executor.html
+++ b/_modules/airflow/executors/sequential_executor.html
@@ -186,7 +186,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/macros.html b/_modules/airflow/macros.html
index be420df..6b4e17f 100644
--- a/_modules/airflow/macros.html
+++ b/_modules/airflow/macros.html
@@ -203,7 +203,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/macros/hive.html b/_modules/airflow/macros/hive.html
index cfcc1a0..43cd2a0 100644
--- a/_modules/airflow/macros/hive.html
+++ b/_modules/airflow/macros/hive.html
@@ -246,7 +246,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index 9ec98be..d382539 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -3750,7 +3750,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/operators/docker_operator.html b/_modules/airflow/operators/docker_operator.html
index a1d8fca..46fcf7b 100644
--- a/_modules/airflow/operators/docker_operator.html
+++ b/_modules/airflow/operators/docker_operator.html
@@ -331,7 +331,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
index b48da21..cbadb0a 100644
--- a/_modules/airflow/operators/sensors.html
+++ b/_modules/airflow/operators/sensors.html
@@ -669,7 +669,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/bash_operator.html b/_modules/bash_operator.html
index 98de858..bda570d 100644
--- a/_modules/bash_operator.html
+++ b/_modules/bash_operator.html
@@ -238,7 +238,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/cloudant_hook.html b/_modules/cloudant_hook.html
index 4c5bb1f..b238080 100644
--- a/_modules/cloudant_hook.html
+++ b/_modules/cloudant_hook.html
@@ -222,7 +222,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/dagrun_operator.html b/_modules/dagrun_operator.html
index 66f5cef..be98472 100644
--- a/_modules/dagrun_operator.html
+++ b/_modules/dagrun_operator.html
@@ -208,7 +208,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/dbapi_hook.html b/_modules/dbapi_hook.html
index 06bbb28..4a6a3a0 100644
--- a/_modules/dbapi_hook.html
+++ b/_modules/dbapi_hook.html
@@ -374,7 +374,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/druid_hook.html b/_modules/druid_hook.html
index 97bb50f..1508432 100644
--- a/_modules/druid_hook.html
+++ b/_modules/druid_hook.html
@@ -317,7 +317,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/dummy_operator.html b/_modules/dummy_operator.html
index 25f7c29..4d8943a 100644
--- a/_modules/dummy_operator.html
+++ b/_modules/dummy_operator.html
@@ -167,7 +167,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/email_operator.html b/_modules/email_operator.html
index 7c9eeac..59f4127 100644
--- a/_modules/email_operator.html
+++ b/_modules/email_operator.html
@@ -188,7 +188,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/ftp_hook.html b/_modules/ftp_hook.html
index f433866..1cc038a 100644
--- a/_modules/ftp_hook.html
+++ b/_modules/ftp_hook.html
@@ -375,7 +375,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/gcs_hook.html b/_modules/gcs_hook.html
index f110dd2..012f4bf 100644
--- a/_modules/gcs_hook.html
+++ b/_modules/gcs_hook.html
@@ -244,7 +244,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/generic_transfer.html b/_modules/generic_transfer.html
index b4c9d7b..4e2cf14 100644
--- a/_modules/generic_transfer.html
+++ b/_modules/generic_transfer.html
@@ -212,7 +212,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/hive_hooks.html b/_modules/hive_hooks.html
index 15c45e2..7f6cc2d 100644
--- a/_modules/hive_hooks.html
+++ b/_modules/hive_hooks.html
@@ -691,7 +691,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/hive_operator.html b/_modules/hive_operator.html
index 6b6f4bb..d32e3ad 100644
--- a/_modules/hive_operator.html
+++ b/_modules/hive_operator.html
@@ -220,7 +220,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/hive_to_druid.html b/_modules/hive_to_druid.html
index 8dfe4e4..cbd1586 100644
--- a/_modules/hive_to_druid.html
+++ b/_modules/hive_to_druid.html
@@ -264,7 +264,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/hive_to_mysql.html b/_modules/hive_to_mysql.html
index 13b223d..6a5bedd 100644
--- a/_modules/hive_to_mysql.html
+++ b/_modules/hive_to_mysql.html
@@ -242,7 +242,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/hive_to_samba_operator.html b/_modules/hive_to_samba_operator.html
index 9eb09b5..3008244 100644
--- a/_modules/hive_to_samba_operator.html
+++ b/_modules/hive_to_samba_operator.html
@@ -194,7 +194,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/http_hook.html b/_modules/http_hook.html
index 6f79193..98ed5ad 100644
--- a/_modules/http_hook.html
+++ b/_modules/http_hook.html
@@ -258,7 +258,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/http_operator.html b/_modules/http_operator.html
index 51d58eb..942ae0e 100644
--- a/_modules/http_operator.html
+++ b/_modules/http_operator.html
@@ -213,7 +213,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/index.html b/_modules/index.html
index c3bcc45..7fe6be6 100644
--- a/_modules/index.html
+++ b/_modules/index.html
@@ -193,7 +193,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mssql_hook.html b/_modules/mssql_hook.html
index f65b4bb..b3b5503 100644
--- a/_modules/mssql_hook.html
+++ b/_modules/mssql_hook.html
@@ -176,7 +176,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mssql_operator.html b/_modules/mssql_operator.html
index 0226615..dcc2872 100644
--- a/_modules/mssql_operator.html
+++ b/_modules/mssql_operator.html
@@ -182,7 +182,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mssql_to_hive.html b/_modules/mssql_to_hive.html
index f5eeee9..451dc7f 100644
--- a/_modules/mssql_to_hive.html
+++ b/_modules/mssql_to_hive.html
@@ -260,7 +260,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mysql_hook.html b/_modules/mysql_hook.html
index 053a634..23d3726 100644
--- a/_modules/mysql_hook.html
+++ b/_modules/mysql_hook.html
@@ -215,7 +215,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mysql_operator.html b/_modules/mysql_operator.html
index 2cb0a09..331f2b4 100644
--- a/_modules/mysql_operator.html
+++ b/_modules/mysql_operator.html
@@ -188,7 +188,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/mysql_to_hive.html b/_modules/mysql_to_hive.html
index 19ecd32..fa6b20f 100644
--- a/_modules/mysql_to_hive.html
+++ b/_modules/mysql_to_hive.html
@@ -264,7 +264,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/postgres_hook.html b/_modules/postgres_hook.html
index e0aa9eb..d8896ac 100644
--- a/_modules/postgres_hook.html
+++ b/_modules/postgres_hook.html
@@ -184,7 +184,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/postgres_operator.html b/_modules/postgres_operator.html
index a9ec233..4eb0e00 100644
--- a/_modules/postgres_operator.html
+++ b/_modules/postgres_operator.html
@@ -187,7 +187,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/presto_check_operator.html b/_modules/presto_check_operator.html
index c99d551..52dc0e6 100644
--- a/_modules/presto_check_operator.html
+++ b/_modules/presto_check_operator.html
@@ -251,7 +251,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/presto_hook.html b/_modules/presto_hook.html
index 3368d4c..73e4cc0 100644
--- a/_modules/presto_hook.html
+++ b/_modules/presto_hook.html
@@ -246,7 +246,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/python_operator.html b/_modules/python_operator.html
index 0a9b321..0f0de31 100644
--- a/_modules/python_operator.html
+++ b/_modules/python_operator.html
@@ -286,7 +286,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/s3_to_hive_operator.html b/_modules/s3_to_hive_operator.html
index e0016ac..dc23eb5 100644
--- a/_modules/s3_to_hive_operator.html
+++ b/_modules/s3_to_hive_operator.html
@@ -301,7 +301,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/sensors.html b/_modules/sensors.html
index 7f4b8ec..19336b2 100644
--- a/_modules/sensors.html
+++ b/_modules/sensors.html
@@ -669,7 +669,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/slack_operator.html b/_modules/slack_operator.html
index 4076627..f958c5b 100644
--- a/_modules/slack_operator.html
+++ b/_modules/slack_operator.html
@@ -252,7 +252,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/sqlite_hook.html b/_modules/sqlite_hook.html
index ebe6497..6ed5de8 100644
--- a/_modules/sqlite_hook.html
+++ b/_modules/sqlite_hook.html
@@ -170,7 +170,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/ssh_execute_operator.html b/_modules/ssh_execute_operator.html
index c49e840..4346f31 100644
--- a/_modules/ssh_execute_operator.html
+++ b/_modules/ssh_execute_operator.html
@@ -291,7 +291,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/ssh_hook.html b/_modules/ssh_hook.html
index 8103f25..7f21905 100644
--- a/_modules/ssh_hook.html
+++ b/_modules/ssh_hook.html
@@ -301,7 +301,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/vertica_hook.html b/_modules/vertica_hook.html
index ae7424f..7ec4ec0 100644
--- a/_modules/vertica_hook.html
+++ b/_modules/vertica_hook.html
@@ -195,7 +195,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/vertica_operator.html b/_modules/vertica_operator.html
index 54caf66..2ae2681 100644
--- a/_modules/vertica_operator.html
+++ b/_modules/vertica_operator.html
@@ -181,7 +181,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/vertica_to_hive.html b/_modules/vertica_to_hive.html
index abe189b..57c83f1 100644
--- a/_modules/vertica_to_hive.html
+++ b/_modules/vertica_to_hive.html
@@ -264,7 +264,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_modules/webhdfs_hook.html b/_modules/webhdfs_hook.html
index 56be098..d54cb05 100644
--- a/_modules/webhdfs_hook.html
+++ b/_modules/webhdfs_hook.html
@@ -235,7 +235,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/_sources/project.txt b/_sources/project.txt
index 1e6622f..0c18ffd 100644
--- a/_sources/project.txt
+++ b/_sources/project.txt
@@ -23,6 +23,7 @@ Committers
 - @jlowin (Jeremiah Lowin)
 - @patrickleotardif (Patrick Leo Tardif)
 - @aoen (Dan Davydov)
+- @syvineckruyk (Steven Yvinec-Kruyk)
 
 For the full list of contributors, take a look at `Airflow's Github
 Contributor page:
diff --git a/cli.html b/cli.html
index d604510..c19ab2f 100644
--- a/cli.html
+++ b/cli.html
@@ -983,7 +983,6 @@ development and testing.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/code.html b/code.html
index 4bf307d..3bb26b1 100644
--- a/code.html
+++ b/code.html
@@ -3465,7 +3465,6 @@ SequentialExecutor alongside sqlite as you first install it.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/concepts.html b/concepts.html
index 871c608..5fda645 100644
--- a/concepts.html
+++ b/concepts.html
@@ -845,7 +845,6 @@ pure python modules can be packaged.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/configuration.html b/configuration.html
index 3859b34..ff5bd46 100644
--- a/configuration.html
+++ b/configuration.html
@@ -367,7 +367,6 @@ integrated with upstart</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/faq.html b/faq.html
index d5e001d..050da7b 100644
--- a/faq.html
+++ b/faq.html
@@ -241,7 +241,6 @@ actually start, if it wasn&#8217;t the case, the backfill just wouldn&#8217;t st
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/genindex.html b/genindex.html
index eea3c14..05f8c42 100644
--- a/genindex.html
+++ b/genindex.html
@@ -1206,7 +1206,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/index.html b/index.html
index c764349..7d2271d 100644
--- a/index.html
+++ b/index.html
@@ -365,7 +365,6 @@ unit of work and continuity.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/installation.html b/installation.html
index 19aece3..0998375 100644
--- a/installation.html
+++ b/installation.html
@@ -306,7 +306,6 @@ support as an Airflow backend</td>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/license.html b/license.html
index deec925..7ab1d60 100644
--- a/license.html
+++ b/license.html
@@ -366,7 +366,6 @@ Status API Training Shop Blog About
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/plugins.html b/plugins.html
index 854b245..68c615d 100644
--- a/plugins.html
+++ b/plugins.html
@@ -291,7 +291,6 @@ definitions in Airflow.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/profiling.html b/profiling.html
index e206ca1..795ec81 100644
--- a/profiling.html
+++ b/profiling.html
@@ -198,7 +198,6 @@ directly in the URL.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/project.html b/project.html
index 4c8b915..d2eb7f2 100644
--- a/project.html
+++ b/project.html
@@ -164,6 +164,7 @@ winter of 2016.</p>
 <li>&#64;jlowin (Jeremiah Lowin)</li>
 <li>&#64;patrickleotardif (Patrick Leo Tardif)</li>
 <li>&#64;aoen (Dan Davydov)</li>
+<li>&#64;syvineckruyk (Steven Yvinec-Kruyk)</li>
 </ul>
 <p>For the full list of contributors, take a look at <a class="reference external" href="https://github.com/apache/incubator-airflow/graphs/contributors">Airflow&#8217;s Github
 Contributor page:</a></p>
@@ -216,7 +217,6 @@ to subscribe to each)</li>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/py-modindex.html b/py-modindex.html
index 94ed176..7392ccf 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -210,7 +210,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/scheduler.html b/scheduler.html
index 4c703f8..7f0bb2c 100644
--- a/scheduler.html
+++ b/scheduler.html
@@ -276,7 +276,6 @@ whether the scheduler should look into triggering tasks for that run.</li>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/search.html b/search.html
index cdf8e86..9935561 100644
--- a/search.html
+++ b/search.html
@@ -154,7 +154,6 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/searchindex.js b/searchindex.js
index 434ea1e..93399ef 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{executors:[1,0,0,"-"],hooks:[1,0,0,"-"],operators:[1,0,0,"-"]},"airflow.contrib.hooks":{CloudantHook:[1,1,1,""],FTPHook:[1,1,1,""],SSHHook:[1,1,1,""],VerticaHook:[1,1,1,""]},"airflow.contrib.hooks.CloudantHook":{db:[1,2,1,""]},"airflow.contrib.hooks.FTPHook":{clo [...]
\ No newline at end of file
+Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{executors:[1,0,0,"-"],hooks:[1,0,0,"-"],operators:[1,0,0,"-"]},"airflow.contrib.hooks":{CloudantHook:[1,1,1,""],FTPHook:[1,1,1,""],SSHHook:[1,1,1,""],VerticaHook:[1,1,1,""]},"airflow.contrib.hooks.CloudantHook":{db:[1,2,1,""]},"airflow.contrib.hooks.FTPHook":{clo [...]
\ No newline at end of file
diff --git a/security.html b/security.html
index 7ca3bf7..8e65476 100644
--- a/security.html
+++ b/security.html
@@ -384,7 +384,6 @@ backend. In order to setup an application:</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/start.html b/start.html
index 6bf0db6..215a4cc 100644
--- a/start.html
+++ b/start.html
@@ -204,7 +204,6 @@ airflow backfill example_bash_operator -s 2015-01-01 -e 2015-01-02
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/tutorial.html b/tutorial.html
index d0adb06..2b379c9 100644
--- a/tutorial.html
+++ b/tutorial.html
@@ -570,7 +570,6 @@ running against it should get it to get triggered and run every day.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>
diff --git a/ui.html b/ui.html
index df7f6f7..30632bf 100644
--- a/ui.html
+++ b/ui.html
@@ -244,7 +244,6 @@ that can take you to more detailed metadata, and perform some actions.</p>
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
 
     </p>
   </div>


[airflow-site] 29/30: Add /objects.inv to redirects

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit fa7badd99962f8db8eec4c18e20f2c0f14453ddc
Author: Kamil Breguła <mi...@users.noreply.github.com>
AuthorDate: Wed Nov 27 17:37:58 2019 +0100

    Add /objects.inv to redirects
---
 .htaccess | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.htaccess b/.htaccess
index b4e2c55..4408a5d 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,3 +1,4 @@
 RedirectMatch Permanent ^/((_api|_images|_modules|_sources|_static|howto)/.*)$ "https://airflow.apache.org/docs/stable/$1"
 RedirectMatch Permanent ^/((1.10.1|1.10.2|1.10.3|1.10.4|1.10.5|1.10.6)/.*)$ "https://airflow.apache.org/docs/$1"
 RedirectMatch Permanent ^/(api|changelog|cli|concepts|errors|faq|genindex|http-routingtable|index|installation|integration|kubernetes|license|lineage|macros|metrics|plugins|privacy_notice|profiling|project|py-modindex|scheduler|search|security|start|timezone|tutorial|ui)(\.html)?$ "https://airflow.apache.org/docs/stable/$1"
+Redirect Permanent /objects.inv https://airflow.apache.org/docs/stable/objects.inv


[airflow-site] 14/30: Add 1.10.2 docs

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit de2dcbd069eb2d48787d601afad44c786466b279
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Wed Jan 23 00:48:12 2019 +0000

    Add 1.10.2 docs
---
 .buildinfo                                         |     4 +
 1.10.1/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.1/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.1/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.1/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.1/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.1/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.1/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 {_images => 1.10.1/_images}/code.png               |   Bin
 1.10.1/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.1/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.1/_images/connections.png                     |   Bin 0 -> 48442 bytes
 {_images => 1.10.1/_images}/context.png            |   Bin
 {_images => 1.10.1/_images}/dags.png               |   Bin
 {_images => 1.10.1/_images}/duration.png           |   Bin
 {_images => 1.10.1/_images}/gantt.png              |   Bin
 {_images => 1.10.1/_images}/graph.png              |   Bin
 {_images => 1.10.1/_images}/incubator.jpg          |   Bin
 1.10.1/_images/latest_only_with_trigger.png        |   Bin 0 -> 40034 bytes
 1.10.1/_images/pin_large.png                       |   Bin 0 -> 358276 bytes
 1.10.1/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.1/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.1/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 {_images => 1.10.1/_images}/tree.png               |   Bin
 1.10.1/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../_modules}/airflow/contrib/hooks/aws_hook.html  |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules}/airflow/contrib/hooks/emr_hook.html  |     0
 .../_modules}/airflow/contrib/hooks/fs_hook.html   |     0
 .../_modules}/airflow/contrib/hooks/ftp_hook.html  |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../_modules}/airflow/contrib/hooks/gcs_hook.html  |     0
 .../_modules}/airflow/contrib/hooks/imap_hook.html |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules}/airflow/contrib/hooks/jira_hook.html |     0
 .../airflow/contrib/hooks/mongo_hook.html          |     0
 .../airflow/contrib/hooks/pinot_hook.html          |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../airflow/contrib/hooks/redis_hook.html          |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules}/airflow/contrib/hooks/sftp_hook.html |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../airflow/contrib/hooks/sqoop_hook.html          |     0
 .../_modules}/airflow/contrib/hooks/ssh_hook.html  |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules}/airflow/contrib/hooks/wasb_hook.html |     0
 .../airflow/contrib/hooks/winrm_hook.html          |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../airflow/contrib/sensors/cassandra_sensor.html  |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/executors/celery_executor.html         |     0
 .../airflow/executors/local_executor.html          |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../_modules}/airflow/hooks/S3_hook.html           |     0
 .../_modules}/airflow/hooks/dbapi_hook.html        |     0
 .../_modules}/airflow/hooks/docker_hook.html       |     0
 .../_modules}/airflow/hooks/druid_hook.html        |     0
 .../_modules}/airflow/hooks/hdfs_hook.html         |     0
 .../_modules}/airflow/hooks/hive_hooks.html        |     0
 .../_modules}/airflow/hooks/http_hook.html         |     0
 .../_modules}/airflow/hooks/jdbc_hook.html         |     0
 .../_modules}/airflow/hooks/mssql_hook.html        |     0
 .../_modules}/airflow/hooks/mysql_hook.html        |     0
 .../_modules}/airflow/hooks/oracle_hook.html       |     0
 .../_modules}/airflow/hooks/pig_hook.html          |     0
 .../_modules}/airflow/hooks/postgres_hook.html     |     0
 .../_modules}/airflow/hooks/presto_hook.html       |     0
 .../_modules}/airflow/hooks/samba_hook.html        |     0
 .../_modules}/airflow/hooks/slack_hook.html        |     0
 .../_modules}/airflow/hooks/sqlite_hook.html       |     0
 .../_modules}/airflow/hooks/webhdfs_hook.html      |     0
 .../_modules}/airflow/hooks/zendesk_hook.html      |     0
 {_modules => 1.10.1/_modules}/airflow/macros.html  |     0
 .../_modules}/airflow/macros/hive.html             |     0
 {_modules => 1.10.1/_modules}/airflow/models.html  |     0
 .../_modules}/airflow/operators/bash_operator.html |     0
 .../airflow/operators/check_operator.html          |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../airflow/operators/dummy_operator.html          |     0
 .../airflow/operators/email_operator.html          |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules}/airflow/operators/hive_operator.html |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules}/airflow/operators/hive_to_druid.html |     0
 .../_modules}/airflow/operators/hive_to_mysql.html |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules}/airflow/operators/http_operator.html |     0
 .../_modules}/airflow/operators/jdbc_operator.html |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../airflow/operators/mssql_operator.html          |     0
 .../_modules}/airflow/operators/mssql_to_hive.html |     0
 .../airflow/operators/mysql_operator.html          |     0
 .../_modules}/airflow/operators/mysql_to_hive.html |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules}/airflow/operators/pig_operator.html  |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../airflow/operators/slack_operator.html          |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules}/airflow/sensors/hdfs_sensor.html     |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules}/airflow/sensors/http_sensor.html     |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules}/airflow/sensors/s3_key_sensor.html   |     0
 .../airflow/sensors/s3_prefix_sensor.html          |     0
 .../_modules}/airflow/sensors/sql_sensor.html      |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules}/airflow/sensors/time_sensor.html     |     0
 .../_modules}/airflow/sensors/web_hdfs_sensor.html |     0
 {_modules => 1.10.1/_modules}/index.html           |     0
 {_sources => 1.10.1/_sources}/api.rst.txt          |     0
 .../index.rst.txt => 1.10.1/_sources/cli.rst.txt   |    31 +-
 {_sources => 1.10.1/_sources}/code.rst.txt         |     0
 {_sources => 1.10.1/_sources}/concepts.rst.txt     |     0
 1.10.1/_sources/faq.rst.txt                        |   201 +
 .../_sources}/howto/executor/use-celery.rst.txt    |     0
 1.10.1/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.1/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 {_sources => 1.10.1/_sources}/howto/index.rst.txt  |     0
 1.10.1/_sources/howto/initialize-database.rst.txt  |    48 +
 .../_sources}/howto/manage-connections.rst.txt     |     0
 .../_sources}/howto/operator.rst.txt               |     0
 .../_sources/howto/run-with-systemd.rst.txt        |    35 +-
 1.10.1/_sources/howto/run-with-upstart.rst.txt     |    37 +
 1.10.1/_sources/howto/secure-connections.rst.txt   |    50 +
 .../_sources}/howto/set-config.rst.txt             |     0
 .../_sources/howto/use-test-config.rst.txt         |    33 +-
 .../_sources}/howto/write-logs.rst.txt             |     0
 {_sources => 1.10.1/_sources}/index.rst.txt        |     0
 {_sources => 1.10.1/_sources}/installation.rst.txt |     0
 {_sources => 1.10.1/_sources}/integration.rst.txt  |     0
 {_sources => 1.10.1/_sources}/kubernetes.rst.txt   |     0
 1.10.1/_sources/license.rst.txt                    |   199 +
 1.10.1/_sources/lineage.rst.txt                    |   102 +
 {_sources => 1.10.1/_sources}/plugins.rst.txt      |     0
 1.10.1/_sources/profiling.rst.txt                  |    58 +
 {_sources => 1.10.1/_sources}/project.rst.txt      |     0
 {_sources => 1.10.1/_sources}/scheduler.rst.txt    |     0
 {_sources => 1.10.1/_sources}/security.rst.txt     |     0
 1.10.1/_sources/start.rst.txt                      |    71 +
 1.10.1/_sources/timezone.rst.txt                   |   163 +
 {_sources => 1.10.1/_sources}/tutorial.rst.txt     |     0
 1.10.1/_sources/ui.rst.txt                         |   119 +
 1.10.1/_static/ajax-loader.gif                     |   Bin 0 -> 673 bytes
 1.10.1/_static/basic.css                           |   676 ++
 1.10.1/_static/comment-bright.png                  |   Bin 0 -> 756 bytes
 1.10.1/_static/comment-close.png                   |   Bin 0 -> 829 bytes
 1.10.1/_static/comment.png                         |   Bin 0 -> 641 bytes
 1.10.1/_static/css/badge_only.css                  |     1 +
 1.10.1/_static/css/theme.css                       |     6 +
 1.10.1/_static/doctools.js                         |   315 +
 .../_static}/documentation_options.js              |     0
 1.10.1/_static/down-pressed.png                    |   Bin 0 -> 222 bytes
 1.10.1/_static/down.png                            |   Bin 0 -> 202 bytes
 1.10.1/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.1/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.1/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.1/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.1/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.1/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.1/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.1/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.1/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.1/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.1/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.1/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.1/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.1/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.1/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.1/_static/fonts/fontawesome-webfont.svg       |  2671 +++++
 1.10.1/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.1/_static/jquery-3.2.1.js                     | 10253 +++++++++++++++++++
 1.10.1/_static/jquery.js                           |     4 +
 1.10.1/_static/js/modernizr.min.js                 |     4 +
 1.10.1/_static/js/theme.js                         |     3 +
 1.10.1/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.1/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.1/_static/pygments.css                        |    69 +
 {_static => 1.10.1/_static}/searchtools.js         |     0
 1.10.1/_static/underscore-1.3.1.js                 |   999 ++
 1.10.1/_static/underscore.js                       |    31 +
 1.10.1/_static/up-pressed.png                      |   Bin 0 -> 214 bytes
 1.10.1/_static/up.png                              |   Bin 0 -> 203 bytes
 1.10.1/_static/websupport.js                       |   808 ++
 api.html => 1.10.1/api.html                        |     0
 cli.html => 1.10.1/cli.html                        |     0
 code.html => 1.10.1/code.html                      |     0
 concepts.html => 1.10.1/concepts.html              |     0
 faq.html => 1.10.1/faq.html                        |     0
 genindex.html => 1.10.1/genindex.html              |     0
 {howto => 1.10.1/howto}/executor/use-celery.html   |     0
 {howto => 1.10.1/howto}/executor/use-dask.html     |     0
 {howto => 1.10.1/howto}/executor/use-mesos.html    |     0
 {howto => 1.10.1/howto}/index.html                 |     0
 {howto => 1.10.1/howto}/initialize-database.html   |     0
 {howto => 1.10.1/howto}/manage-connections.html    |     0
 {howto => 1.10.1/howto}/operator.html              |     0
 {howto => 1.10.1/howto}/run-with-systemd.html      |     0
 {howto => 1.10.1/howto}/run-with-upstart.html      |     0
 {howto => 1.10.1/howto}/secure-connections.html    |     0
 {howto => 1.10.1/howto}/set-config.html            |     0
 {howto => 1.10.1/howto}/use-test-config.html       |     0
 {howto => 1.10.1/howto}/write-logs.html            |     0
 index.html => 1.10.1/index.html                    |     0
 installation.html => 1.10.1/installation.html      |     0
 integration.html => 1.10.1/integration.html        |     0
 kubernetes.html => 1.10.1/kubernetes.html          |     0
 license.html => 1.10.1/license.html                |     0
 lineage.html => 1.10.1/lineage.html                |     0
 objects.inv => 1.10.1/objects.inv                  |   Bin
 plugins.html => 1.10.1/plugins.html                |     0
 profiling.html => 1.10.1/profiling.html            |     0
 project.html => 1.10.1/project.html                |     0
 py-modindex.html => 1.10.1/py-modindex.html        |     0
 scheduler.html => 1.10.1/scheduler.html            |     0
 search.html => 1.10.1/search.html                  |     0
 searchindex.js => 1.10.1/searchindex.js            |     0
 security.html => 1.10.1/security.html              |     0
 start.html => 1.10.1/start.html                    |     0
 timezone.html => 1.10.1/timezone.html              |     0
 tutorial.html => 1.10.1/tutorial.html              |     0
 ui.html => 1.10.1/ui.html                          |     0
 _images/code.png                                   |   Bin 218215 -> 285906 bytes
 _images/context.png                                |   Bin 238360 -> 149588 bytes
 _images/dags.png                                   |   Bin 115068 -> 217069 bytes
 _images/duration.png                               |   Bin 254497 -> 250846 bytes
 _images/gantt.png                                  |   Bin 213845 -> 121795 bytes
 _images/graph.png                                  |   Bin 333294 -> 152205 bytes
 _images/tree.png                                   |   Bin 163147 -> 128024 bytes
 .../contrib/executors/kubernetes_executor.html     |   897 ++
 .../airflow/contrib/executors/mesos_executor.html  |   549 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   369 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     8 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     8 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   337 +
 _modules/airflow/contrib/hooks/aws_hook.html       |    15 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     8 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   506 +
 .../contrib/hooks/azure_data_lake_hook.html        |    10 +-
 .../contrib/hooks/azure_fileshare_hook.html        |    18 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |   609 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |    27 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |     8 +
 .../airflow/contrib/hooks/databricks_hook.html     |    24 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |     8 +
 _modules/airflow/contrib/hooks/datastore_hook.html |    16 +-
 .../contrib/hooks/discord_webhook_hook.html        |     8 +
 _modules/airflow/contrib/hooks/emr_hook.html       |    15 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |     8 +
 _modules/airflow/contrib/hooks/ftp_hook.html       |     8 +
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |    65 +-
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   554 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |    10 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |    37 +-
 .../airflow/contrib/hooks/gcp_function_hook.html   |   107 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |    26 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |    28 +-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |   856 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   326 +
 _modules/airflow/contrib/hooks/gcs_hook.html       |   178 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |     8 +
 _modules/airflow/contrib/hooks/jira_hook.html      |     8 +
 _modules/airflow/contrib/hooks/mongo_hook.html     |    46 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   318 +
 _modules/airflow/contrib/hooks/pinot_hook.html     |     8 +
 _modules/airflow/contrib/hooks/qubole_hook.html    |    10 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |     8 +
 _modules/airflow/contrib/hooks/redshift_hook.html  |     8 +
 _modules/airflow/contrib/hooks/sagemaker_hook.html |    79 +-
 .../airflow/contrib/hooks/salesforce_hook.html     |   544 +
 _modules/airflow/contrib/hooks/sftp_hook.html      |     8 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     8 +
 _modules/airflow/contrib/hooks/snowflake_hook.html |     8 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     8 +
 _modules/airflow/contrib/hooks/spark_sql_hook.html |     8 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |     8 +
 _modules/airflow/contrib/hooks/sqoop_hook.html     |     8 +
 _modules/airflow/contrib/hooks/ssh_hook.html       |    20 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |    10 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |    14 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |     8 +
 _modules/airflow/contrib/kubernetes/secret.html    |     8 +
 .../adls_list_operator.html}                       |    78 +-
 .../operators/{gcs_to_s3.html => adls_to_gcs.html} |   163 +-
 .../contrib/operators/aws_athena_operator.html     |   317 +
 .../contrib/operators/awsbatch_operator.html       |    22 +-
 ...nt_operator.html => azure_cosmos_operator.html} |    92 +-
 .../contrib/operators/bigquery_check_operator.html |    10 +-
 .../contrib/operators/bigquery_get_data.html       |    14 +-
 .../contrib/operators/bigquery_operator.html       |   149 +-
 .../operators/bigquery_table_delete_operator.html  |    12 +-
 .../contrib/operators/bigquery_to_bigquery.html    |    12 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |    18 +-
 .../contrib/operators/cassandra_to_gcs.html        |    12 +-
 .../contrib/operators/databricks_operator.html     |   321 +-
 .../contrib/operators/dataflow_operator.html       |   149 +-
 .../contrib/operators/dataproc_operator.html       |   171 +-
 .../operators/datastore_export_operator.html       |    12 +-
 .../operators/datastore_import_operator.html       |    12 +-
 .../operators/discord_webhook_operator.html        |     8 +
 .../airflow/contrib/operators/druid_operator.html  |    14 +-
 .../airflow/contrib/operators/ecs_operator.html    |    16 +-
 .../contrib/operators/emr_add_steps_operator.html  |    14 +-
 .../operators/emr_create_job_flow_operator.html    |    22 +-
 .../operators/emr_terminate_job_flow_operator.html |    14 +-
 .../airflow/contrib/operators/file_to_gcs.html     |     8 +
 .../airflow/contrib/operators/file_to_wasb.html    |     8 +
 .../contrib/operators/gcp_compute_operator.html    |   355 +-
 .../contrib/operators/gcp_function_operator.html   |    71 +-
 .../contrib/operators/gcp_sql_operator.html        |   351 +-
 .../contrib/operators/gcs_acl_operator.html        |   345 +
 .../contrib/operators/gcs_download_operator.html   |    12 +-
 .../contrib/operators/gcs_list_operator.html       |    12 +-
 .../airflow/contrib/operators/gcs_operator.html    |    12 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |    64 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |    21 +-
 .../operators/gcs_to_gcs_transfer_operator.html    |   346 +
 _modules/airflow/contrib/operators/gcs_to_s3.html  |    28 +-
 .../contrib/operators/hipchat_operator.html        |    12 +-
 .../contrib/operators/hive_to_dynamodb.html        |    12 +-
 .../airflow/contrib/operators/jira_operator.html   |    12 +-
 .../contrib/operators/kubernetes_pod_operator.html |    40 +-
 .../contrib/operators/mlengine_operator.html       |    35 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |    39 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |    19 +-
 .../operators/postgres_to_gcs_operator.html        |    58 +-
 .../airflow/contrib/operators/pubsub_operator.html |    28 +-
 .../contrib/operators/qubole_check_operator.html   |    22 +-
 .../airflow/contrib/operators/qubole_operator.html |    18 +-
 .../contrib/operators/s3_list_operator.html        |    26 +-
 .../contrib/operators/s3_to_gcs_operator.html      |    33 +-
 .../operators/s3_to_gcs_transfer_operator.html     |   356 +
 .../contrib/operators/sagemaker_base_operator.html |    12 +-
 .../sagemaker_endpoint_config_operator.html        |    19 +-
 .../operators/sagemaker_endpoint_operator.html     |    45 +-
 .../operators/sagemaker_model_operator.html        |    19 +-
 .../operators/sagemaker_training_operator.html     |    19 +-
 .../operators/sagemaker_transform_operator.html    |    29 +-
 .../operators/sagemaker_tuning_operator.html       |    20 +-
 .../airflow/contrib/operators/sftp_operator.html   |   102 +-
 .../contrib/operators/slack_webhook_operator.html  |    10 +-
 .../contrib/operators/snowflake_operator.html      |    12 +-
 .../contrib/operators/spark_jdbc_operator.html     |    12 +-
 .../contrib/operators/spark_sql_operator.html      |    12 +-
 .../contrib/operators/spark_submit_operator.html   |    12 +-
 .../airflow/contrib/operators/sqoop_operator.html  |    12 +-
 .../airflow/contrib/operators/ssh_operator.html    |    41 +-
 .../contrib/operators/vertica_operator.html        |    12 +-
 .../airflow/contrib/operators/vertica_to_hive.html |    12 +-
 .../airflow/contrib/operators/winrm_operator.html  |    12 +-
 ...emr_base_sensor.html => aws_athena_sensor.html} |    85 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |   312 +
 .../sensors/aws_redshift_cluster_sensor.html       |     8 +
 ...sandra_sensor.html => azure_cosmos_sensor.html} |    85 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |     8 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |     8 +
 ...ra_sensor.html => cassandra_record_sensor.html} |    25 +-
 ...dra_sensor.html => cassandra_table_sensor.html} |    46 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |     8 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |     8 +
 .../contrib/sensors/emr_job_flow_sensor.html       |    11 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |    11 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |     8 +
 _modules/airflow/contrib/sensors/ftp_sensor.html   |    57 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |     8 +
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |     8 +
 _modules/airflow/contrib/sensors/jira_sensor.html  |     8 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |     8 +
 .../{bigquery_sensor.html => python_sensor.html}   |   113 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |    48 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |     8 +
 .../contrib/sensors/sagemaker_base_sensor.html     |     8 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     8 +
 .../contrib/sensors/sagemaker_training_sensor.html |     8 +
 .../sensors/sagemaker_transform_sensor.html        |     8 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     8 +
 _modules/airflow/contrib/sensors/sftp_sensor.html  |     8 +
 _modules/airflow/contrib/sensors/wasb_sensor.html  |     8 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   322 +
 _modules/airflow/executors/celery_executor.html    |     8 +
 _modules/airflow/executors/local_executor.html     |     8 +
 .../airflow/executors/sequential_executor.html     |     8 +
 _modules/airflow/hooks/S3_hook.html                |    41 +-
 _modules/airflow/hooks/dbapi_hook.html             |     8 +
 _modules/airflow/hooks/druid_hook.html             |    10 +-
 _modules/airflow/hooks/hdfs_hook.html              |     8 +
 _modules/airflow/hooks/hive_hooks.html             |   105 +-
 _modules/airflow/hooks/http_hook.html              |     8 +
 _modules/airflow/hooks/mssql_hook.html             |     8 +
 _modules/airflow/hooks/mysql_hook.html             |    10 +-
 _modules/airflow/hooks/pig_hook.html               |     8 +
 _modules/airflow/hooks/postgres_hook.html          |     8 +
 _modules/airflow/hooks/presto_hook.html            |    18 +-
 _modules/airflow/hooks/samba_hook.html             |     8 +
 _modules/airflow/hooks/slack_hook.html             |     8 +
 _modules/airflow/hooks/sqlite_hook.html            |     8 +
 _modules/airflow/hooks/zendesk_hook.html           |    11 +-
 _modules/airflow/macros.html                       |     8 +
 _modules/airflow/macros/hive.html                  |     8 +
 _modules/airflow/models.html                       |   386 +-
 _modules/airflow/operators/bash_operator.html      |    29 +-
 _modules/airflow/operators/check_operator.html     |    22 +-
 _modules/airflow/operators/dagrun_operator.html    |    42 +-
 .../airflow/operators/druid_check_operator.html    |    12 +-
 _modules/airflow/operators/dummy_operator.html     |    12 +-
 _modules/airflow/operators/email_operator.html     |    12 +-
 _modules/airflow/operators/generic_transfer.html   |    12 +-
 _modules/airflow/operators/hive_operator.html      |    20 +-
 .../airflow/operators/hive_stats_operator.html     |    15 +-
 _modules/airflow/operators/hive_to_druid.html      |    22 +-
 _modules/airflow/operators/hive_to_mysql.html      |    20 +-
 .../airflow/operators/hive_to_samba_operator.html  |    16 +-
 _modules/airflow/operators/http_operator.html      |    12 +-
 .../airflow/operators/latest_only_operator.html    |    12 +-
 _modules/airflow/operators/mssql_operator.html     |    12 +-
 _modules/airflow/operators/mssql_to_hive.html      |    12 +-
 _modules/airflow/operators/mysql_operator.html     |    12 +-
 _modules/airflow/operators/mysql_to_hive.html      |    12 +-
 _modules/airflow/operators/pig_operator.html       |    20 +-
 _modules/airflow/operators/postgres_operator.html  |    12 +-
 .../airflow/operators/presto_check_operator.html   |     8 +
 _modules/airflow/operators/presto_to_mysql.html    |    12 +-
 _modules/airflow/operators/python_operator.html    |    42 +-
 .../airflow/operators/redshift_to_s3_operator.html |    26 +-
 .../operators/s3_file_transform_operator.html      |    34 +-
 .../airflow/operators/s3_to_hive_operator.html     |    30 +-
 .../airflow/operators/s3_to_redshift_operator.html |    26 +-
 _modules/airflow/operators/slack_operator.html     |    12 +-
 _modules/airflow/operators/sqlite_operator.html    |    12 +-
 _modules/airflow/operators/subdag_operator.html    |    12 +-
 _modules/airflow/sensors/base_sensor_operator.html |    70 +-
 _modules/airflow/sensors/external_task_sensor.html |    10 +-
 _modules/airflow/sensors/hdfs_sensor.html          |    18 +-
 .../airflow/sensors/hive_partition_sensor.html     |     8 +
 _modules/airflow/sensors/http_sensor.html          |     8 +
 .../sensors/metastore_partition_sensor.html        |     8 +
 .../sensors/named_hive_partition_sensor.html       |     8 +
 _modules/airflow/sensors/s3_key_sensor.html        |    22 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |    22 +-
 _modules/airflow/sensors/sql_sensor.html           |     8 +
 _modules/airflow/sensors/time_delta_sensor.html    |     8 +
 _modules/airflow/sensors/time_sensor.html          |     8 +
 _modules/airflow/sensors/web_hdfs_sensor.html      |     8 +
 _modules/index.html                                |    47 +-
 _sources/api.rst.txt                               |    70 +-
 .../{howto/index.rst.txt => changelog.rst.txt}     |    26 +-
 _sources/code.rst.txt                              |    53 +-
 _sources/concepts.rst.txt                          |     1 +
 _sources/howto/check-health.rst.txt                |    47 +
 _sources/howto/executor/use-celery.rst.txt         |     7 +
 _sources/howto/index.rst.txt                       |     1 +
 _sources/howto/manage-connections.rst.txt          |   190 +-
 _sources/howto/operator.rst.txt                    |  1265 ++-
 _sources/howto/set-config.rst.txt                  |     2 +-
 _sources/howto/write-logs.rst.txt                  |     3 +-
 _sources/index.rst.txt                             |     3 +
 _sources/installation.rst.txt                      |   137 +-
 _sources/integration.rst.txt                       |   535 +-
 _sources/kubernetes.rst.txt                        |     7 +-
 _sources/metrics.rst.txt                           |    67 +
 _sources/plugins.rst.txt                           |    55 +-
 _sources/project.rst.txt                           |    11 +-
 _sources/scheduler.rst.txt                         |     8 +-
 _sources/security.rst.txt                          |    44 +-
 _sources/tutorial.rst.txt                          |     4 +-
 _static/documentation_options.js                   |   290 +-
 .../{documentation_options.js => language_data.js} |    23 +-
 _static/searchtools.js                             |     1 -
 api.html                                           |    93 +-
 changelog.html                                     |  2587 +++++
 cli.html                                           |  1323 +--
 code.html                                          |  4242 ++++----
 concepts.html                                      |     9 +
 faq.html                                           |    12 +-
 genindex.html                                      |   720 +-
 howto/{use-test-config.html => check-health.html}  |    64 +-
 howto/executor/use-celery.html                     |    13 +
 howto/executor/use-dask.html                       |     9 +
 howto/executor/use-mesos.html                      |     9 +
 howto/index.html                                   |    18 +-
 howto/initialize-database.html                     |     9 +
 howto/manage-connections.html                      |   184 +-
 howto/operator.html                                |  2109 +++-
 howto/run-with-systemd.html                        |     9 +
 howto/run-with-upstart.html                        |     9 +
 howto/secure-connections.html                      |     9 +
 howto/set-config.html                              |    11 +-
 howto/use-test-config.html                         |    13 +-
 howto/write-logs.html                              |    12 +-
 py-modindex.html => http-routingtable.html         |    85 +-
 index.html                                         |   244 +-
 installation.html                                  |   115 +-
 integration.html                                   |  6357 ++++++++----
 kubernetes.html                                    |    65 +-
 license.html                                       |     8 +
 lineage.html                                       |    16 +-
 api.html => metrics.html                           |   167 +-
 objects.inv                                        |   Bin 8915 -> 9678 bytes
 plugins.html                                       |    60 +-
 profiling.html                                     |     8 +
 project.html                                       |    13 +-
 py-modindex.html                                   |     8 +
 scheduler.html                                     |    16 +-
 search.html                                        |     8 +
 searchindex.js                                     |     2 +-
 security.html                                      |    42 +-
 start.html                                         |     8 +
 timezone.html                                      |     8 +
 tutorial.html                                      |    12 +-
 ui.html                                            |    12 +-
 651 files changed, 45215 insertions(+), 7436 deletions(-)

diff --git a/.buildinfo b/.buildinfo
new file mode 100644
index 0000000..2cd3f36
--- /dev/null
+++ b/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 31d38953a908168368629ac053123a0f
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.1/_images/adhoc.png b/1.10.1/_images/adhoc.png
new file mode 100644
index 0000000..77ea780
Binary files /dev/null and b/1.10.1/_images/adhoc.png differ
diff --git a/1.10.1/_images/airflow.gif b/1.10.1/_images/airflow.gif
new file mode 100644
index 0000000..7646e37
Binary files /dev/null and b/1.10.1/_images/airflow.gif differ
diff --git a/1.10.1/_images/apache.jpg b/1.10.1/_images/apache.jpg
new file mode 100644
index 0000000..312251f
Binary files /dev/null and b/1.10.1/_images/apache.jpg differ
diff --git a/1.10.1/_images/branch_bad.png b/1.10.1/_images/branch_bad.png
new file mode 100644
index 0000000..586844f
Binary files /dev/null and b/1.10.1/_images/branch_bad.png differ
diff --git a/1.10.1/_images/branch_good.png b/1.10.1/_images/branch_good.png
new file mode 100644
index 0000000..fbd4650
Binary files /dev/null and b/1.10.1/_images/branch_good.png differ
diff --git a/1.10.1/_images/chart.png b/1.10.1/_images/chart.png
new file mode 100644
index 0000000..bfca26b
Binary files /dev/null and b/1.10.1/_images/chart.png differ
diff --git a/1.10.1/_images/chart_form.png b/1.10.1/_images/chart_form.png
new file mode 100644
index 0000000..f73daf5
Binary files /dev/null and b/1.10.1/_images/chart_form.png differ
diff --git a/_images/code.png b/1.10.1/_images/code.png
similarity index 100%
copy from _images/code.png
copy to 1.10.1/_images/code.png
diff --git a/1.10.1/_images/connection_create.png b/1.10.1/_images/connection_create.png
new file mode 100644
index 0000000..8a574d4
Binary files /dev/null and b/1.10.1/_images/connection_create.png differ
diff --git a/1.10.1/_images/connection_edit.png b/1.10.1/_images/connection_edit.png
new file mode 100644
index 0000000..c6d14da
Binary files /dev/null and b/1.10.1/_images/connection_edit.png differ
diff --git a/1.10.1/_images/connections.png b/1.10.1/_images/connections.png
new file mode 100644
index 0000000..3a28473
Binary files /dev/null and b/1.10.1/_images/connections.png differ
diff --git a/_images/context.png b/1.10.1/_images/context.png
similarity index 100%
copy from _images/context.png
copy to 1.10.1/_images/context.png
diff --git a/_images/dags.png b/1.10.1/_images/dags.png
similarity index 100%
copy from _images/dags.png
copy to 1.10.1/_images/dags.png
diff --git a/_images/duration.png b/1.10.1/_images/duration.png
similarity index 100%
copy from _images/duration.png
copy to 1.10.1/_images/duration.png
diff --git a/_images/gantt.png b/1.10.1/_images/gantt.png
similarity index 100%
copy from _images/gantt.png
copy to 1.10.1/_images/gantt.png
diff --git a/_images/graph.png b/1.10.1/_images/graph.png
similarity index 100%
copy from _images/graph.png
copy to 1.10.1/_images/graph.png
diff --git a/_images/incubator.jpg b/1.10.1/_images/incubator.jpg
similarity index 100%
rename from _images/incubator.jpg
rename to 1.10.1/_images/incubator.jpg
diff --git a/1.10.1/_images/latest_only_with_trigger.png b/1.10.1/_images/latest_only_with_trigger.png
new file mode 100644
index 0000000..629adfa
Binary files /dev/null and b/1.10.1/_images/latest_only_with_trigger.png differ
diff --git a/1.10.1/_images/pin_large.png b/1.10.1/_images/pin_large.png
new file mode 100644
index 0000000..986c88b
Binary files /dev/null and b/1.10.1/_images/pin_large.png differ
diff --git a/1.10.1/_images/subdag_after.png b/1.10.1/_images/subdag_after.png
new file mode 100644
index 0000000..166a6de
Binary files /dev/null and b/1.10.1/_images/subdag_after.png differ
diff --git a/1.10.1/_images/subdag_before.png b/1.10.1/_images/subdag_before.png
new file mode 100644
index 0000000..ebc3e58
Binary files /dev/null and b/1.10.1/_images/subdag_before.png differ
diff --git a/1.10.1/_images/subdag_zoom.png b/1.10.1/_images/subdag_zoom.png
new file mode 100644
index 0000000..08fcf5c
Binary files /dev/null and b/1.10.1/_images/subdag_zoom.png differ
diff --git a/_images/tree.png b/1.10.1/_images/tree.png
similarity index 100%
copy from _images/tree.png
copy to 1.10.1/_images/tree.png
diff --git a/1.10.1/_images/variable_hidden.png b/1.10.1/_images/variable_hidden.png
new file mode 100644
index 0000000..e081ca3
Binary files /dev/null and b/1.10.1/_images/variable_hidden.png differ
diff --git a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/1.10.1/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/aws_dynamodb_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
diff --git a/_modules/airflow/contrib/hooks/aws_firehose_hook.html b/1.10.1/_modules/airflow/contrib/hooks/aws_firehose_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/aws_firehose_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/aws_firehose_hook.html
diff --git a/_modules/airflow/contrib/hooks/aws_hook.html b/1.10.1/_modules/airflow/contrib/hooks/aws_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/aws_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/aws_hook.html
diff --git a/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/1.10.1/_modules/airflow/contrib/hooks/aws_lambda_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/aws_lambda_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/aws_lambda_hook.html
diff --git a/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/1.10.1/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/azure_data_lake_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
diff --git a/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/1.10.1/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/azure_fileshare_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
diff --git a/_modules/airflow/contrib/hooks/bigquery_hook.html b/1.10.1/_modules/airflow/contrib/hooks/bigquery_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/bigquery_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/bigquery_hook.html
diff --git a/_modules/airflow/contrib/hooks/cassandra_hook.html b/1.10.1/_modules/airflow/contrib/hooks/cassandra_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/cassandra_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/cassandra_hook.html
diff --git a/_modules/airflow/contrib/hooks/cloudant_hook.html b/1.10.1/_modules/airflow/contrib/hooks/cloudant_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/cloudant_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/cloudant_hook.html
diff --git a/_modules/airflow/contrib/hooks/databricks_hook.html b/1.10.1/_modules/airflow/contrib/hooks/databricks_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/databricks_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/databricks_hook.html
diff --git a/_modules/airflow/contrib/hooks/datadog_hook.html b/1.10.1/_modules/airflow/contrib/hooks/datadog_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/datadog_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/datadog_hook.html
diff --git a/_modules/airflow/contrib/hooks/datastore_hook.html b/1.10.1/_modules/airflow/contrib/hooks/datastore_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/datastore_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/datastore_hook.html
diff --git a/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/1.10.1/_modules/airflow/contrib/hooks/discord_webhook_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/discord_webhook_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/discord_webhook_hook.html
diff --git a/_modules/airflow/contrib/hooks/emr_hook.html b/1.10.1/_modules/airflow/contrib/hooks/emr_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/emr_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/emr_hook.html
diff --git a/_modules/airflow/contrib/hooks/fs_hook.html b/1.10.1/_modules/airflow/contrib/hooks/fs_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/fs_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/fs_hook.html
diff --git a/_modules/airflow/contrib/hooks/ftp_hook.html b/1.10.1/_modules/airflow/contrib/hooks/ftp_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/ftp_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/ftp_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_api_base_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_container_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_container_hook.html
similarity index 100%
rename from _modules/airflow/contrib/hooks/gcp_container_hook.html
rename to 1.10.1/_modules/airflow/contrib/hooks/gcp_container_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_dataflow_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_dataproc_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_function_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_function_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_function_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_function_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_mlengine_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_pubsub_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcp_sql_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcp_sql_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcp_sql_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcp_sql_hook.html
diff --git a/_modules/airflow/contrib/hooks/gcs_hook.html b/1.10.1/_modules/airflow/contrib/hooks/gcs_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/gcs_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/gcs_hook.html
diff --git a/_modules/airflow/contrib/hooks/imap_hook.html b/1.10.1/_modules/airflow/contrib/hooks/imap_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/imap_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/imap_hook.html
diff --git a/_modules/airflow/contrib/hooks/jenkins_hook.html b/1.10.1/_modules/airflow/contrib/hooks/jenkins_hook.html
similarity index 100%
rename from _modules/airflow/contrib/hooks/jenkins_hook.html
rename to 1.10.1/_modules/airflow/contrib/hooks/jenkins_hook.html
diff --git a/_modules/airflow/contrib/hooks/jira_hook.html b/1.10.1/_modules/airflow/contrib/hooks/jira_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/jira_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/jira_hook.html
diff --git a/_modules/airflow/contrib/hooks/mongo_hook.html b/1.10.1/_modules/airflow/contrib/hooks/mongo_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/mongo_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/mongo_hook.html
diff --git a/_modules/airflow/contrib/hooks/pinot_hook.html b/1.10.1/_modules/airflow/contrib/hooks/pinot_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/pinot_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/pinot_hook.html
diff --git a/_modules/airflow/contrib/hooks/qubole_hook.html b/1.10.1/_modules/airflow/contrib/hooks/qubole_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/qubole_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/qubole_hook.html
diff --git a/_modules/airflow/contrib/hooks/redis_hook.html b/1.10.1/_modules/airflow/contrib/hooks/redis_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/redis_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/redis_hook.html
diff --git a/_modules/airflow/contrib/hooks/redshift_hook.html b/1.10.1/_modules/airflow/contrib/hooks/redshift_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/redshift_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/redshift_hook.html
diff --git a/_modules/airflow/contrib/hooks/sagemaker_hook.html b/1.10.1/_modules/airflow/contrib/hooks/sagemaker_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/sagemaker_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/sagemaker_hook.html
diff --git a/_modules/airflow/contrib/hooks/segment_hook.html b/1.10.1/_modules/airflow/contrib/hooks/segment_hook.html
similarity index 100%
rename from _modules/airflow/contrib/hooks/segment_hook.html
rename to 1.10.1/_modules/airflow/contrib/hooks/segment_hook.html
diff --git a/_modules/airflow/contrib/hooks/sftp_hook.html b/1.10.1/_modules/airflow/contrib/hooks/sftp_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/sftp_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/sftp_hook.html
diff --git a/_modules/airflow/contrib/hooks/slack_webhook_hook.html b/1.10.1/_modules/airflow/contrib/hooks/slack_webhook_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/slack_webhook_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/slack_webhook_hook.html
diff --git a/_modules/airflow/contrib/hooks/snowflake_hook.html b/1.10.1/_modules/airflow/contrib/hooks/snowflake_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/snowflake_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/snowflake_hook.html
diff --git a/_modules/airflow/contrib/hooks/spark_jdbc_hook.html b/1.10.1/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/spark_jdbc_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
diff --git a/_modules/airflow/contrib/hooks/spark_sql_hook.html b/1.10.1/_modules/airflow/contrib/hooks/spark_sql_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/spark_sql_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/spark_sql_hook.html
diff --git a/_modules/airflow/contrib/hooks/spark_submit_hook.html b/1.10.1/_modules/airflow/contrib/hooks/spark_submit_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/spark_submit_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/spark_submit_hook.html
diff --git a/_modules/airflow/contrib/hooks/sqoop_hook.html b/1.10.1/_modules/airflow/contrib/hooks/sqoop_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/sqoop_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/sqoop_hook.html
diff --git a/_modules/airflow/contrib/hooks/ssh_hook.html b/1.10.1/_modules/airflow/contrib/hooks/ssh_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/ssh_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/ssh_hook.html
diff --git a/_modules/airflow/contrib/hooks/vertica_hook.html b/1.10.1/_modules/airflow/contrib/hooks/vertica_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/vertica_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/vertica_hook.html
diff --git a/_modules/airflow/contrib/hooks/wasb_hook.html b/1.10.1/_modules/airflow/contrib/hooks/wasb_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/wasb_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/wasb_hook.html
diff --git a/_modules/airflow/contrib/hooks/winrm_hook.html b/1.10.1/_modules/airflow/contrib/hooks/winrm_hook.html
similarity index 100%
copy from _modules/airflow/contrib/hooks/winrm_hook.html
copy to 1.10.1/_modules/airflow/contrib/hooks/winrm_hook.html
diff --git a/_modules/airflow/contrib/kubernetes/secret.html b/1.10.1/_modules/airflow/contrib/kubernetes/secret.html
similarity index 100%
copy from _modules/airflow/contrib/kubernetes/secret.html
copy to 1.10.1/_modules/airflow/contrib/kubernetes/secret.html
diff --git a/_modules/airflow/contrib/operators/awsbatch_operator.html b/1.10.1/_modules/airflow/contrib/operators/awsbatch_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/awsbatch_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/awsbatch_operator.html
diff --git a/_modules/airflow/contrib/operators/bigquery_check_operator.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_check_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_check_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_check_operator.html
diff --git a/_modules/airflow/contrib/operators/bigquery_get_data.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_get_data.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_get_data.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_get_data.html
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_operator.html
diff --git a/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_table_delete_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
diff --git a/_modules/airflow/contrib/operators/bigquery_to_bigquery.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_to_bigquery.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/1.10.1/_modules/airflow/contrib/operators/bigquery_to_gcs.html
similarity index 100%
copy from _modules/airflow/contrib/operators/bigquery_to_gcs.html
copy to 1.10.1/_modules/airflow/contrib/operators/bigquery_to_gcs.html
diff --git a/_modules/airflow/contrib/operators/cassandra_to_gcs.html b/1.10.1/_modules/airflow/contrib/operators/cassandra_to_gcs.html
similarity index 100%
copy from _modules/airflow/contrib/operators/cassandra_to_gcs.html
copy to 1.10.1/_modules/airflow/contrib/operators/cassandra_to_gcs.html
diff --git a/_modules/airflow/contrib/operators/databricks_operator.html b/1.10.1/_modules/airflow/contrib/operators/databricks_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/databricks_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/databricks_operator.html
diff --git a/_modules/airflow/contrib/operators/dataflow_operator.html b/1.10.1/_modules/airflow/contrib/operators/dataflow_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/dataflow_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/dataflow_operator.html
diff --git a/_modules/airflow/contrib/operators/dataproc_operator.html b/1.10.1/_modules/airflow/contrib/operators/dataproc_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/dataproc_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/dataproc_operator.html
diff --git a/_modules/airflow/contrib/operators/datastore_export_operator.html b/1.10.1/_modules/airflow/contrib/operators/datastore_export_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/datastore_export_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/datastore_export_operator.html
diff --git a/_modules/airflow/contrib/operators/datastore_import_operator.html b/1.10.1/_modules/airflow/contrib/operators/datastore_import_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/datastore_import_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/datastore_import_operator.html
diff --git a/_modules/airflow/contrib/operators/discord_webhook_operator.html b/1.10.1/_modules/airflow/contrib/operators/discord_webhook_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/discord_webhook_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/discord_webhook_operator.html
diff --git a/_modules/airflow/contrib/operators/druid_operator.html b/1.10.1/_modules/airflow/contrib/operators/druid_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/druid_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/druid_operator.html
diff --git a/_modules/airflow/contrib/operators/ecs_operator.html b/1.10.1/_modules/airflow/contrib/operators/ecs_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/ecs_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/ecs_operator.html
diff --git a/_modules/airflow/contrib/operators/emr_add_steps_operator.html b/1.10.1/_modules/airflow/contrib/operators/emr_add_steps_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/emr_add_steps_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/emr_add_steps_operator.html
diff --git a/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html b/1.10.1/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/emr_create_job_flow_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/emr_create_job_flow_operator.html
diff --git a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html b/1.10.1/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
diff --git a/_modules/airflow/contrib/operators/file_to_gcs.html b/1.10.1/_modules/airflow/contrib/operators/file_to_gcs.html
similarity index 100%
copy from _modules/airflow/contrib/operators/file_to_gcs.html
copy to 1.10.1/_modules/airflow/contrib/operators/file_to_gcs.html
diff --git a/_modules/airflow/contrib/operators/file_to_wasb.html b/1.10.1/_modules/airflow/contrib/operators/file_to_wasb.html
similarity index 100%
copy from _modules/airflow/contrib/operators/file_to_wasb.html
copy to 1.10.1/_modules/airflow/contrib/operators/file_to_wasb.html
diff --git a/_modules/airflow/contrib/operators/gcp_compute_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcp_compute_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcp_compute_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcp_compute_operator.html
diff --git a/_modules/airflow/contrib/operators/gcp_container_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcp_container_operator.html
similarity index 100%
rename from _modules/airflow/contrib/operators/gcp_container_operator.html
rename to 1.10.1/_modules/airflow/contrib/operators/gcp_container_operator.html
diff --git a/_modules/airflow/contrib/operators/gcp_function_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcp_function_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcp_function_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcp_function_operator.html
diff --git a/_modules/airflow/contrib/operators/gcp_sql_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcp_sql_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcp_sql_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcp_sql_operator.html
diff --git a/_modules/airflow/contrib/operators/gcs_download_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcs_download_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_download_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_download_operator.html
diff --git a/_modules/airflow/contrib/operators/gcs_list_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcs_list_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_list_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_list_operator.html
diff --git a/_modules/airflow/contrib/operators/gcs_operator.html b/1.10.1/_modules/airflow/contrib/operators/gcs_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_operator.html
diff --git a/_modules/airflow/contrib/operators/gcs_to_bq.html b/1.10.1/_modules/airflow/contrib/operators/gcs_to_bq.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_to_bq.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_to_bq.html
diff --git a/_modules/airflow/contrib/operators/gcs_to_gcs.html b/1.10.1/_modules/airflow/contrib/operators/gcs_to_gcs.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_to_gcs.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_to_gcs.html
diff --git a/_modules/airflow/contrib/operators/gcs_to_s3.html b/1.10.1/_modules/airflow/contrib/operators/gcs_to_s3.html
similarity index 100%
copy from _modules/airflow/contrib/operators/gcs_to_s3.html
copy to 1.10.1/_modules/airflow/contrib/operators/gcs_to_s3.html
diff --git a/_modules/airflow/contrib/operators/hipchat_operator.html b/1.10.1/_modules/airflow/contrib/operators/hipchat_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/hipchat_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/hipchat_operator.html
diff --git a/_modules/airflow/contrib/operators/hive_to_dynamodb.html b/1.10.1/_modules/airflow/contrib/operators/hive_to_dynamodb.html
similarity index 100%
copy from _modules/airflow/contrib/operators/hive_to_dynamodb.html
copy to 1.10.1/_modules/airflow/contrib/operators/hive_to_dynamodb.html
diff --git a/_modules/airflow/contrib/operators/jenkins_job_trigger_operator.html b/1.10.1/_modules/airflow/contrib/operators/jenkins_job_trigger_operator.html
similarity index 100%
rename from _modules/airflow/contrib/operators/jenkins_job_trigger_operator.html
rename to 1.10.1/_modules/airflow/contrib/operators/jenkins_job_trigger_operator.html
diff --git a/_modules/airflow/contrib/operators/jira_operator.html b/1.10.1/_modules/airflow/contrib/operators/jira_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/jira_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/jira_operator.html
diff --git a/_modules/airflow/contrib/operators/kubernetes_pod_operator.html b/1.10.1/_modules/airflow/contrib/operators/kubernetes_pod_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/kubernetes_pod_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/kubernetes_pod_operator.html
diff --git a/_modules/airflow/contrib/operators/mlengine_operator.html b/1.10.1/_modules/airflow/contrib/operators/mlengine_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/mlengine_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/mlengine_operator.html
diff --git a/_modules/airflow/contrib/operators/mongo_to_s3.html b/1.10.1/_modules/airflow/contrib/operators/mongo_to_s3.html
similarity index 100%
copy from _modules/airflow/contrib/operators/mongo_to_s3.html
copy to 1.10.1/_modules/airflow/contrib/operators/mongo_to_s3.html
diff --git a/_modules/airflow/contrib/operators/mysql_to_gcs.html b/1.10.1/_modules/airflow/contrib/operators/mysql_to_gcs.html
similarity index 100%
copy from _modules/airflow/contrib/operators/mysql_to_gcs.html
copy to 1.10.1/_modules/airflow/contrib/operators/mysql_to_gcs.html
diff --git a/_modules/airflow/contrib/operators/postgres_to_gcs_operator.html b/1.10.1/_modules/airflow/contrib/operators/postgres_to_gcs_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/postgres_to_gcs_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/postgres_to_gcs_operator.html
diff --git a/_modules/airflow/contrib/operators/pubsub_operator.html b/1.10.1/_modules/airflow/contrib/operators/pubsub_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/pubsub_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/pubsub_operator.html
diff --git a/_modules/airflow/contrib/operators/qubole_check_operator.html b/1.10.1/_modules/airflow/contrib/operators/qubole_check_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/qubole_check_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/qubole_check_operator.html
diff --git a/_modules/airflow/contrib/operators/qubole_operator.html b/1.10.1/_modules/airflow/contrib/operators/qubole_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/qubole_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/qubole_operator.html
diff --git a/_modules/airflow/contrib/operators/s3_list_operator.html b/1.10.1/_modules/airflow/contrib/operators/s3_list_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/s3_list_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/s3_list_operator.html
diff --git a/_modules/airflow/contrib/operators/s3_to_gcs_operator.html b/1.10.1/_modules/airflow/contrib/operators/s3_to_gcs_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/s3_to_gcs_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/s3_to_gcs_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_base_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_base_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_base_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_base_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_endpoint_config_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_endpoint_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_endpoint_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_endpoint_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_endpoint_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_model_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_model_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_model_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_model_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_training_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_training_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_training_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_training_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_transform_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_transform_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_transform_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_transform_operator.html
diff --git a/_modules/airflow/contrib/operators/sagemaker_tuning_operator.html b/1.10.1/_modules/airflow/contrib/operators/sagemaker_tuning_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sagemaker_tuning_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sagemaker_tuning_operator.html
diff --git a/_modules/airflow/contrib/operators/segment_track_event_operator.html b/1.10.1/_modules/airflow/contrib/operators/segment_track_event_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/segment_track_event_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/segment_track_event_operator.html
diff --git a/_modules/airflow/contrib/operators/sftp_operator.html b/1.10.1/_modules/airflow/contrib/operators/sftp_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sftp_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sftp_operator.html
diff --git a/_modules/airflow/contrib/operators/slack_webhook_operator.html b/1.10.1/_modules/airflow/contrib/operators/slack_webhook_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/slack_webhook_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/slack_webhook_operator.html
diff --git a/_modules/airflow/contrib/operators/snowflake_operator.html b/1.10.1/_modules/airflow/contrib/operators/snowflake_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/snowflake_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/snowflake_operator.html
diff --git a/_modules/airflow/contrib/operators/spark_jdbc_operator.html b/1.10.1/_modules/airflow/contrib/operators/spark_jdbc_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/spark_jdbc_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/spark_jdbc_operator.html
diff --git a/_modules/airflow/contrib/operators/spark_sql_operator.html b/1.10.1/_modules/airflow/contrib/operators/spark_sql_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/spark_sql_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/spark_sql_operator.html
diff --git a/_modules/airflow/contrib/operators/spark_submit_operator.html b/1.10.1/_modules/airflow/contrib/operators/spark_submit_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/spark_submit_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/spark_submit_operator.html
diff --git a/_modules/airflow/contrib/operators/sqoop_operator.html b/1.10.1/_modules/airflow/contrib/operators/sqoop_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/sqoop_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/sqoop_operator.html
diff --git a/_modules/airflow/contrib/operators/ssh_operator.html b/1.10.1/_modules/airflow/contrib/operators/ssh_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/ssh_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/ssh_operator.html
diff --git a/_modules/airflow/contrib/operators/vertica_operator.html b/1.10.1/_modules/airflow/contrib/operators/vertica_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/vertica_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/vertica_operator.html
diff --git a/_modules/airflow/contrib/operators/vertica_to_hive.html b/1.10.1/_modules/airflow/contrib/operators/vertica_to_hive.html
similarity index 100%
copy from _modules/airflow/contrib/operators/vertica_to_hive.html
copy to 1.10.1/_modules/airflow/contrib/operators/vertica_to_hive.html
diff --git a/_modules/airflow/contrib/operators/winrm_operator.html b/1.10.1/_modules/airflow/contrib/operators/winrm_operator.html
similarity index 100%
copy from _modules/airflow/contrib/operators/winrm_operator.html
copy to 1.10.1/_modules/airflow/contrib/operators/winrm_operator.html
diff --git a/_modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/aws_redshift_cluster_sensor.html
diff --git a/_modules/airflow/contrib/sensors/bash_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/bash_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/bash_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/bash_sensor.html
diff --git a/_modules/airflow/contrib/sensors/bigquery_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/bigquery_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/bigquery_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/bigquery_sensor.html
diff --git a/_modules/airflow/contrib/sensors/cassandra_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/cassandra_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/cassandra_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/cassandra_sensor.html
diff --git a/_modules/airflow/contrib/sensors/datadog_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/datadog_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/datadog_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/datadog_sensor.html
diff --git a/_modules/airflow/contrib/sensors/emr_base_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/emr_base_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/emr_base_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/emr_base_sensor.html
diff --git a/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/emr_job_flow_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html
diff --git a/_modules/airflow/contrib/sensors/emr_step_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/emr_step_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/emr_step_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/emr_step_sensor.html
diff --git a/_modules/airflow/contrib/sensors/file_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/file_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/file_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/file_sensor.html
diff --git a/_modules/airflow/contrib/sensors/ftp_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/ftp_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/ftp_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/ftp_sensor.html
diff --git a/_modules/airflow/contrib/sensors/gcs_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/gcs_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/gcs_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/gcs_sensor.html
diff --git a/_modules/airflow/contrib/sensors/hdfs_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/hdfs_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/hdfs_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/hdfs_sensor.html
diff --git a/_modules/airflow/contrib/sensors/jira_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/jira_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/jira_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/jira_sensor.html
diff --git a/_modules/airflow/contrib/sensors/pubsub_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/pubsub_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/pubsub_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/pubsub_sensor.html
diff --git a/_modules/airflow/contrib/sensors/qubole_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/qubole_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/qubole_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/qubole_sensor.html
diff --git a/_modules/airflow/contrib/sensors/redis_key_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/redis_key_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/redis_key_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/redis_key_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sagemaker_base_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sagemaker_base_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sagemaker_base_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sagemaker_base_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sagemaker_training_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sagemaker_training_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sagemaker_training_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sagemaker_training_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sagemaker_transform_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sagemaker_transform_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sagemaker_transform_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sagemaker_transform_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html
diff --git a/_modules/airflow/contrib/sensors/sftp_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/sftp_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/sftp_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/sftp_sensor.html
diff --git a/_modules/airflow/contrib/sensors/wasb_sensor.html b/1.10.1/_modules/airflow/contrib/sensors/wasb_sensor.html
similarity index 100%
copy from _modules/airflow/contrib/sensors/wasb_sensor.html
copy to 1.10.1/_modules/airflow/contrib/sensors/wasb_sensor.html
diff --git a/_modules/airflow/executors/celery_executor.html b/1.10.1/_modules/airflow/executors/celery_executor.html
similarity index 100%
copy from _modules/airflow/executors/celery_executor.html
copy to 1.10.1/_modules/airflow/executors/celery_executor.html
diff --git a/_modules/airflow/executors/local_executor.html b/1.10.1/_modules/airflow/executors/local_executor.html
similarity index 100%
copy from _modules/airflow/executors/local_executor.html
copy to 1.10.1/_modules/airflow/executors/local_executor.html
diff --git a/_modules/airflow/executors/sequential_executor.html b/1.10.1/_modules/airflow/executors/sequential_executor.html
similarity index 100%
copy from _modules/airflow/executors/sequential_executor.html
copy to 1.10.1/_modules/airflow/executors/sequential_executor.html
diff --git a/_modules/airflow/hooks/S3_hook.html b/1.10.1/_modules/airflow/hooks/S3_hook.html
similarity index 100%
copy from _modules/airflow/hooks/S3_hook.html
copy to 1.10.1/_modules/airflow/hooks/S3_hook.html
diff --git a/_modules/airflow/hooks/dbapi_hook.html b/1.10.1/_modules/airflow/hooks/dbapi_hook.html
similarity index 100%
copy from _modules/airflow/hooks/dbapi_hook.html
copy to 1.10.1/_modules/airflow/hooks/dbapi_hook.html
diff --git a/_modules/airflow/hooks/docker_hook.html b/1.10.1/_modules/airflow/hooks/docker_hook.html
similarity index 100%
rename from _modules/airflow/hooks/docker_hook.html
rename to 1.10.1/_modules/airflow/hooks/docker_hook.html
diff --git a/_modules/airflow/hooks/druid_hook.html b/1.10.1/_modules/airflow/hooks/druid_hook.html
similarity index 100%
copy from _modules/airflow/hooks/druid_hook.html
copy to 1.10.1/_modules/airflow/hooks/druid_hook.html
diff --git a/_modules/airflow/hooks/hdfs_hook.html b/1.10.1/_modules/airflow/hooks/hdfs_hook.html
similarity index 100%
copy from _modules/airflow/hooks/hdfs_hook.html
copy to 1.10.1/_modules/airflow/hooks/hdfs_hook.html
diff --git a/_modules/airflow/hooks/hive_hooks.html b/1.10.1/_modules/airflow/hooks/hive_hooks.html
similarity index 100%
copy from _modules/airflow/hooks/hive_hooks.html
copy to 1.10.1/_modules/airflow/hooks/hive_hooks.html
diff --git a/_modules/airflow/hooks/http_hook.html b/1.10.1/_modules/airflow/hooks/http_hook.html
similarity index 100%
copy from _modules/airflow/hooks/http_hook.html
copy to 1.10.1/_modules/airflow/hooks/http_hook.html
diff --git a/_modules/airflow/hooks/jdbc_hook.html b/1.10.1/_modules/airflow/hooks/jdbc_hook.html
similarity index 100%
rename from _modules/airflow/hooks/jdbc_hook.html
rename to 1.10.1/_modules/airflow/hooks/jdbc_hook.html
diff --git a/_modules/airflow/hooks/mssql_hook.html b/1.10.1/_modules/airflow/hooks/mssql_hook.html
similarity index 100%
copy from _modules/airflow/hooks/mssql_hook.html
copy to 1.10.1/_modules/airflow/hooks/mssql_hook.html
diff --git a/_modules/airflow/hooks/mysql_hook.html b/1.10.1/_modules/airflow/hooks/mysql_hook.html
similarity index 100%
copy from _modules/airflow/hooks/mysql_hook.html
copy to 1.10.1/_modules/airflow/hooks/mysql_hook.html
diff --git a/_modules/airflow/hooks/oracle_hook.html b/1.10.1/_modules/airflow/hooks/oracle_hook.html
similarity index 100%
rename from _modules/airflow/hooks/oracle_hook.html
rename to 1.10.1/_modules/airflow/hooks/oracle_hook.html
diff --git a/_modules/airflow/hooks/pig_hook.html b/1.10.1/_modules/airflow/hooks/pig_hook.html
similarity index 100%
copy from _modules/airflow/hooks/pig_hook.html
copy to 1.10.1/_modules/airflow/hooks/pig_hook.html
diff --git a/_modules/airflow/hooks/postgres_hook.html b/1.10.1/_modules/airflow/hooks/postgres_hook.html
similarity index 100%
copy from _modules/airflow/hooks/postgres_hook.html
copy to 1.10.1/_modules/airflow/hooks/postgres_hook.html
diff --git a/_modules/airflow/hooks/presto_hook.html b/1.10.1/_modules/airflow/hooks/presto_hook.html
similarity index 100%
copy from _modules/airflow/hooks/presto_hook.html
copy to 1.10.1/_modules/airflow/hooks/presto_hook.html
diff --git a/_modules/airflow/hooks/samba_hook.html b/1.10.1/_modules/airflow/hooks/samba_hook.html
similarity index 100%
copy from _modules/airflow/hooks/samba_hook.html
copy to 1.10.1/_modules/airflow/hooks/samba_hook.html
diff --git a/_modules/airflow/hooks/slack_hook.html b/1.10.1/_modules/airflow/hooks/slack_hook.html
similarity index 100%
copy from _modules/airflow/hooks/slack_hook.html
copy to 1.10.1/_modules/airflow/hooks/slack_hook.html
diff --git a/_modules/airflow/hooks/sqlite_hook.html b/1.10.1/_modules/airflow/hooks/sqlite_hook.html
similarity index 100%
copy from _modules/airflow/hooks/sqlite_hook.html
copy to 1.10.1/_modules/airflow/hooks/sqlite_hook.html
diff --git a/_modules/airflow/hooks/webhdfs_hook.html b/1.10.1/_modules/airflow/hooks/webhdfs_hook.html
similarity index 100%
rename from _modules/airflow/hooks/webhdfs_hook.html
rename to 1.10.1/_modules/airflow/hooks/webhdfs_hook.html
diff --git a/_modules/airflow/hooks/zendesk_hook.html b/1.10.1/_modules/airflow/hooks/zendesk_hook.html
similarity index 100%
copy from _modules/airflow/hooks/zendesk_hook.html
copy to 1.10.1/_modules/airflow/hooks/zendesk_hook.html
diff --git a/_modules/airflow/macros.html b/1.10.1/_modules/airflow/macros.html
similarity index 100%
copy from _modules/airflow/macros.html
copy to 1.10.1/_modules/airflow/macros.html
diff --git a/_modules/airflow/macros/hive.html b/1.10.1/_modules/airflow/macros/hive.html
similarity index 100%
copy from _modules/airflow/macros/hive.html
copy to 1.10.1/_modules/airflow/macros/hive.html
diff --git a/_modules/airflow/models.html b/1.10.1/_modules/airflow/models.html
similarity index 100%
copy from _modules/airflow/models.html
copy to 1.10.1/_modules/airflow/models.html
diff --git a/_modules/airflow/operators/bash_operator.html b/1.10.1/_modules/airflow/operators/bash_operator.html
similarity index 100%
copy from _modules/airflow/operators/bash_operator.html
copy to 1.10.1/_modules/airflow/operators/bash_operator.html
diff --git a/_modules/airflow/operators/check_operator.html b/1.10.1/_modules/airflow/operators/check_operator.html
similarity index 100%
copy from _modules/airflow/operators/check_operator.html
copy to 1.10.1/_modules/airflow/operators/check_operator.html
diff --git a/_modules/airflow/operators/dagrun_operator.html b/1.10.1/_modules/airflow/operators/dagrun_operator.html
similarity index 100%
copy from _modules/airflow/operators/dagrun_operator.html
copy to 1.10.1/_modules/airflow/operators/dagrun_operator.html
diff --git a/_modules/airflow/operators/docker_operator.html b/1.10.1/_modules/airflow/operators/docker_operator.html
similarity index 100%
rename from _modules/airflow/operators/docker_operator.html
rename to 1.10.1/_modules/airflow/operators/docker_operator.html
diff --git a/_modules/airflow/operators/druid_check_operator.html b/1.10.1/_modules/airflow/operators/druid_check_operator.html
similarity index 100%
copy from _modules/airflow/operators/druid_check_operator.html
copy to 1.10.1/_modules/airflow/operators/druid_check_operator.html
diff --git a/_modules/airflow/operators/dummy_operator.html b/1.10.1/_modules/airflow/operators/dummy_operator.html
similarity index 100%
copy from _modules/airflow/operators/dummy_operator.html
copy to 1.10.1/_modules/airflow/operators/dummy_operator.html
diff --git a/_modules/airflow/operators/email_operator.html b/1.10.1/_modules/airflow/operators/email_operator.html
similarity index 100%
copy from _modules/airflow/operators/email_operator.html
copy to 1.10.1/_modules/airflow/operators/email_operator.html
diff --git a/_modules/airflow/operators/generic_transfer.html b/1.10.1/_modules/airflow/operators/generic_transfer.html
similarity index 100%
copy from _modules/airflow/operators/generic_transfer.html
copy to 1.10.1/_modules/airflow/operators/generic_transfer.html
diff --git a/_modules/airflow/operators/hive_operator.html b/1.10.1/_modules/airflow/operators/hive_operator.html
similarity index 100%
copy from _modules/airflow/operators/hive_operator.html
copy to 1.10.1/_modules/airflow/operators/hive_operator.html
diff --git a/_modules/airflow/operators/hive_stats_operator.html b/1.10.1/_modules/airflow/operators/hive_stats_operator.html
similarity index 100%
copy from _modules/airflow/operators/hive_stats_operator.html
copy to 1.10.1/_modules/airflow/operators/hive_stats_operator.html
diff --git a/_modules/airflow/operators/hive_to_druid.html b/1.10.1/_modules/airflow/operators/hive_to_druid.html
similarity index 100%
copy from _modules/airflow/operators/hive_to_druid.html
copy to 1.10.1/_modules/airflow/operators/hive_to_druid.html
diff --git a/_modules/airflow/operators/hive_to_mysql.html b/1.10.1/_modules/airflow/operators/hive_to_mysql.html
similarity index 100%
copy from _modules/airflow/operators/hive_to_mysql.html
copy to 1.10.1/_modules/airflow/operators/hive_to_mysql.html
diff --git a/_modules/airflow/operators/hive_to_samba_operator.html b/1.10.1/_modules/airflow/operators/hive_to_samba_operator.html
similarity index 100%
copy from _modules/airflow/operators/hive_to_samba_operator.html
copy to 1.10.1/_modules/airflow/operators/hive_to_samba_operator.html
diff --git a/_modules/airflow/operators/http_operator.html b/1.10.1/_modules/airflow/operators/http_operator.html
similarity index 100%
copy from _modules/airflow/operators/http_operator.html
copy to 1.10.1/_modules/airflow/operators/http_operator.html
diff --git a/_modules/airflow/operators/jdbc_operator.html b/1.10.1/_modules/airflow/operators/jdbc_operator.html
similarity index 100%
rename from _modules/airflow/operators/jdbc_operator.html
rename to 1.10.1/_modules/airflow/operators/jdbc_operator.html
diff --git a/_modules/airflow/operators/latest_only_operator.html b/1.10.1/_modules/airflow/operators/latest_only_operator.html
similarity index 100%
copy from _modules/airflow/operators/latest_only_operator.html
copy to 1.10.1/_modules/airflow/operators/latest_only_operator.html
diff --git a/_modules/airflow/operators/mssql_operator.html b/1.10.1/_modules/airflow/operators/mssql_operator.html
similarity index 100%
copy from _modules/airflow/operators/mssql_operator.html
copy to 1.10.1/_modules/airflow/operators/mssql_operator.html
diff --git a/_modules/airflow/operators/mssql_to_hive.html b/1.10.1/_modules/airflow/operators/mssql_to_hive.html
similarity index 100%
copy from _modules/airflow/operators/mssql_to_hive.html
copy to 1.10.1/_modules/airflow/operators/mssql_to_hive.html
diff --git a/_modules/airflow/operators/mysql_operator.html b/1.10.1/_modules/airflow/operators/mysql_operator.html
similarity index 100%
copy from _modules/airflow/operators/mysql_operator.html
copy to 1.10.1/_modules/airflow/operators/mysql_operator.html
diff --git a/_modules/airflow/operators/mysql_to_hive.html b/1.10.1/_modules/airflow/operators/mysql_to_hive.html
similarity index 100%
copy from _modules/airflow/operators/mysql_to_hive.html
copy to 1.10.1/_modules/airflow/operators/mysql_to_hive.html
diff --git a/_modules/airflow/operators/oracle_operator.html b/1.10.1/_modules/airflow/operators/oracle_operator.html
similarity index 100%
rename from _modules/airflow/operators/oracle_operator.html
rename to 1.10.1/_modules/airflow/operators/oracle_operator.html
diff --git a/_modules/airflow/operators/pig_operator.html b/1.10.1/_modules/airflow/operators/pig_operator.html
similarity index 100%
copy from _modules/airflow/operators/pig_operator.html
copy to 1.10.1/_modules/airflow/operators/pig_operator.html
diff --git a/_modules/airflow/operators/postgres_operator.html b/1.10.1/_modules/airflow/operators/postgres_operator.html
similarity index 100%
copy from _modules/airflow/operators/postgres_operator.html
copy to 1.10.1/_modules/airflow/operators/postgres_operator.html
diff --git a/_modules/airflow/operators/presto_check_operator.html b/1.10.1/_modules/airflow/operators/presto_check_operator.html
similarity index 100%
copy from _modules/airflow/operators/presto_check_operator.html
copy to 1.10.1/_modules/airflow/operators/presto_check_operator.html
diff --git a/_modules/airflow/operators/presto_to_mysql.html b/1.10.1/_modules/airflow/operators/presto_to_mysql.html
similarity index 100%
copy from _modules/airflow/operators/presto_to_mysql.html
copy to 1.10.1/_modules/airflow/operators/presto_to_mysql.html
diff --git a/_modules/airflow/operators/python_operator.html b/1.10.1/_modules/airflow/operators/python_operator.html
similarity index 100%
copy from _modules/airflow/operators/python_operator.html
copy to 1.10.1/_modules/airflow/operators/python_operator.html
diff --git a/_modules/airflow/operators/redshift_to_s3_operator.html b/1.10.1/_modules/airflow/operators/redshift_to_s3_operator.html
similarity index 100%
copy from _modules/airflow/operators/redshift_to_s3_operator.html
copy to 1.10.1/_modules/airflow/operators/redshift_to_s3_operator.html
diff --git a/_modules/airflow/operators/s3_file_transform_operator.html b/1.10.1/_modules/airflow/operators/s3_file_transform_operator.html
similarity index 100%
copy from _modules/airflow/operators/s3_file_transform_operator.html
copy to 1.10.1/_modules/airflow/operators/s3_file_transform_operator.html
diff --git a/_modules/airflow/operators/s3_to_hive_operator.html b/1.10.1/_modules/airflow/operators/s3_to_hive_operator.html
similarity index 100%
copy from _modules/airflow/operators/s3_to_hive_operator.html
copy to 1.10.1/_modules/airflow/operators/s3_to_hive_operator.html
diff --git a/_modules/airflow/operators/s3_to_redshift_operator.html b/1.10.1/_modules/airflow/operators/s3_to_redshift_operator.html
similarity index 100%
copy from _modules/airflow/operators/s3_to_redshift_operator.html
copy to 1.10.1/_modules/airflow/operators/s3_to_redshift_operator.html
diff --git a/_modules/airflow/operators/slack_operator.html b/1.10.1/_modules/airflow/operators/slack_operator.html
similarity index 100%
copy from _modules/airflow/operators/slack_operator.html
copy to 1.10.1/_modules/airflow/operators/slack_operator.html
diff --git a/_modules/airflow/operators/sqlite_operator.html b/1.10.1/_modules/airflow/operators/sqlite_operator.html
similarity index 100%
copy from _modules/airflow/operators/sqlite_operator.html
copy to 1.10.1/_modules/airflow/operators/sqlite_operator.html
diff --git a/_modules/airflow/operators/subdag_operator.html b/1.10.1/_modules/airflow/operators/subdag_operator.html
similarity index 100%
copy from _modules/airflow/operators/subdag_operator.html
copy to 1.10.1/_modules/airflow/operators/subdag_operator.html
diff --git a/_modules/airflow/sensors/base_sensor_operator.html b/1.10.1/_modules/airflow/sensors/base_sensor_operator.html
similarity index 100%
copy from _modules/airflow/sensors/base_sensor_operator.html
copy to 1.10.1/_modules/airflow/sensors/base_sensor_operator.html
diff --git a/_modules/airflow/sensors/external_task_sensor.html b/1.10.1/_modules/airflow/sensors/external_task_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/external_task_sensor.html
copy to 1.10.1/_modules/airflow/sensors/external_task_sensor.html
diff --git a/_modules/airflow/sensors/hdfs_sensor.html b/1.10.1/_modules/airflow/sensors/hdfs_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/hdfs_sensor.html
copy to 1.10.1/_modules/airflow/sensors/hdfs_sensor.html
diff --git a/_modules/airflow/sensors/hive_partition_sensor.html b/1.10.1/_modules/airflow/sensors/hive_partition_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/hive_partition_sensor.html
copy to 1.10.1/_modules/airflow/sensors/hive_partition_sensor.html
diff --git a/_modules/airflow/sensors/http_sensor.html b/1.10.1/_modules/airflow/sensors/http_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/http_sensor.html
copy to 1.10.1/_modules/airflow/sensors/http_sensor.html
diff --git a/_modules/airflow/sensors/metastore_partition_sensor.html b/1.10.1/_modules/airflow/sensors/metastore_partition_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/metastore_partition_sensor.html
copy to 1.10.1/_modules/airflow/sensors/metastore_partition_sensor.html
diff --git a/_modules/airflow/sensors/named_hive_partition_sensor.html b/1.10.1/_modules/airflow/sensors/named_hive_partition_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/named_hive_partition_sensor.html
copy to 1.10.1/_modules/airflow/sensors/named_hive_partition_sensor.html
diff --git a/_modules/airflow/sensors/s3_key_sensor.html b/1.10.1/_modules/airflow/sensors/s3_key_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/s3_key_sensor.html
copy to 1.10.1/_modules/airflow/sensors/s3_key_sensor.html
diff --git a/_modules/airflow/sensors/s3_prefix_sensor.html b/1.10.1/_modules/airflow/sensors/s3_prefix_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/s3_prefix_sensor.html
copy to 1.10.1/_modules/airflow/sensors/s3_prefix_sensor.html
diff --git a/_modules/airflow/sensors/sql_sensor.html b/1.10.1/_modules/airflow/sensors/sql_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/sql_sensor.html
copy to 1.10.1/_modules/airflow/sensors/sql_sensor.html
diff --git a/_modules/airflow/sensors/time_delta_sensor.html b/1.10.1/_modules/airflow/sensors/time_delta_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/time_delta_sensor.html
copy to 1.10.1/_modules/airflow/sensors/time_delta_sensor.html
diff --git a/_modules/airflow/sensors/time_sensor.html b/1.10.1/_modules/airflow/sensors/time_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/time_sensor.html
copy to 1.10.1/_modules/airflow/sensors/time_sensor.html
diff --git a/_modules/airflow/sensors/web_hdfs_sensor.html b/1.10.1/_modules/airflow/sensors/web_hdfs_sensor.html
similarity index 100%
copy from _modules/airflow/sensors/web_hdfs_sensor.html
copy to 1.10.1/_modules/airflow/sensors/web_hdfs_sensor.html
diff --git a/_modules/index.html b/1.10.1/_modules/index.html
similarity index 100%
copy from _modules/index.html
copy to 1.10.1/_modules/index.html
diff --git a/_sources/api.rst.txt b/1.10.1/_sources/api.rst.txt
similarity index 100%
copy from _sources/api.rst.txt
copy to 1.10.1/_sources/api.rst.txt
diff --git a/_sources/howto/index.rst.txt b/1.10.1/_sources/cli.rst.txt
similarity index 60%
copy from _sources/howto/index.rst.txt
copy to 1.10.1/_sources/cli.rst.txt
index 8a19a9e..4d68d0e 100644
--- a/_sources/howto/index.rst.txt
+++ b/1.10.1/_sources/cli.rst.txt
@@ -15,27 +15,14 @@
     specific language governing permissions and limitations
     under the License.
 
-How-to Guides
-=============
+Command Line Interface
+======================
 
-Setting up the sandbox in the :doc:`../start` section was easy;
-building a production-grade environment requires a bit more work!
+Airflow has a very rich command line interface that allows for
+many types of operation on a DAG, starting services, and supporting
+development and testing.
 
-These how-to guides will step you through common tasks in using and
-configuring an Airflow environment.
-
-.. toctree::
-    :maxdepth: 2
-
-    set-config
-    initialize-database
-    operator
-    manage-connections
-    secure-connections
-    write-logs
-    executor/use-celery
-    executor/use-dask
-    executor/use-mesos
-    run-with-systemd
-    run-with-upstart
-    use-test-config
+.. argparse::
+   :module: airflow.bin.cli
+   :func: get_parser
+   :prog: airflow
diff --git a/_sources/code.rst.txt b/1.10.1/_sources/code.rst.txt
similarity index 100%
copy from _sources/code.rst.txt
copy to 1.10.1/_sources/code.rst.txt
diff --git a/_sources/concepts.rst.txt b/1.10.1/_sources/concepts.rst.txt
similarity index 100%
copy from _sources/concepts.rst.txt
copy to 1.10.1/_sources/concepts.rst.txt
diff --git a/1.10.1/_sources/faq.rst.txt b/1.10.1/_sources/faq.rst.txt
new file mode 100644
index 0000000..42dfb27
--- /dev/null
+++ b/1.10.1/_sources/faq.rst.txt
@@ -0,0 +1,201 @@
+..  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.
+
+FAQ
+========
+
+Why isn't my task getting scheduled?
+------------------------------------
+
+There are very many reasons why your task might not be getting scheduled.
+Here are some of the common causes:
+
+- Does your script "compile", can the Airflow engine parse it and find your
+  DAG object. To test this, you can run ``airflow list_dags`` and
+  confirm that your DAG shows up in the list. You can also run
+  ``airflow list_tasks foo_dag_id --tree`` and confirm that your task
+  shows up in the list as expected. If you use the CeleryExecutor, you
+  may want to confirm that this works both where the scheduler runs as well
+  as where the worker runs.
+
+- Does the file containing your DAG contain the string "airflow" and "DAG" somewhere
+  in the contents? When searching the DAG directory, Airflow ignores files not containing
+  "airflow" and "DAG" in order to prevent the DagBag parsing from importing all python
+  files collocated with user's DAGs.
+
+- Is your ``start_date`` set properly? The Airflow scheduler triggers the
+  task soon after the ``start_date + scheduler_interval`` is passed.
+
+- Is your ``schedule_interval`` set properly? The default ``schedule_interval``
+  is one day (``datetime.timedelta(1)``). You must specify a different ``schedule_interval``
+  directly to the DAG object you instantiate, not as a ``default_param``, as task instances
+  do not override their parent DAG's ``schedule_interval``.
+
+- Is your ``start_date`` beyond where you can see it in the UI? If you
+  set your ``start_date`` to some time say 3 months ago, you won't be able to see
+  it in the main view in the UI, but you should be able to see it in the
+  ``Menu -> Browse ->Task Instances``.
+
+- Are the dependencies for the task met. The task instances directly
+  upstream from the task need to be in a ``success`` state. Also,
+  if you have set ``depends_on_past=True``, the previous task instance
+  needs to have succeeded (except if it is the first run for that task).
+  Also, if ``wait_for_downstream=True``, make sure you understand
+  what it means.
+  You can view how these properties are set from the ``Task Instance Details``
+  page for your task.
+
+- Are the DagRuns you need created and active? A DagRun represents a specific
+  execution of an entire DAG and has a state (running, success, failed, ...).
+  The scheduler creates new DagRun as it moves forward, but never goes back
+  in time to create new ones. The scheduler only evaluates ``running`` DagRuns
+  to see what task instances it can trigger. Note that clearing tasks
+  instances (from the UI or CLI) does set the state of a DagRun back to
+  running. You can bulk view the list of DagRuns and alter states by clicking
+  on the schedule tag for a DAG.
+
+- Is the ``concurrency`` parameter of your DAG reached? ``concurrency`` defines
+  how many ``running`` task instances a DAG is allowed to have, beyond which
+  point things get queued.
+
+- Is the ``max_active_runs`` parameter of your DAG reached? ``max_active_runs`` defines
+  how many ``running`` concurrent instances of a DAG there are allowed to be.
+
+You may also want to read the Scheduler section of the docs and make
+sure you fully understand how it proceeds.
+
+
+How do I trigger tasks based on another task's failure?
+-------------------------------------------------------
+
+Check out the ``Trigger Rule`` section in the Concepts section of the
+documentation
+
+Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?
+------------------------------------------------------------------------------------------------------
+
+Check out the ``Connections`` section in the Configuration section of the
+documentation
+
+What's the deal with ``start_date``?
+------------------------------------
+
+``start_date`` is partly legacy from the pre-DagRun era, but it is still
+relevant in many ways. When creating a new DAG, you probably want to set
+a global ``start_date`` for your tasks using ``default_args``. The first
+DagRun to be created will be based on the ``min(start_date)`` for all your
+task. From that point on, the scheduler creates new DagRuns based on
+your ``schedule_interval`` and the corresponding task instances run as your
+dependencies are met. When introducing new tasks to your DAG, you need to
+pay special attention to ``start_date``, and may want to reactivate
+inactive DagRuns to get the new task onboarded properly.
+
+We recommend against using dynamic values as ``start_date``, especially
+``datetime.now()`` as it can be quite confusing. The task is triggered
+once the period closes, and in theory an ``@hourly`` DAG would never get to
+an hour after now as ``now()`` moves along.
+
+
+Previously we also recommended using rounded ``start_date`` in relation to your
+``schedule_interval``. This meant an ``@hourly`` would be at ``00:00``
+minutes:seconds, a ``@daily`` job at midnight, a ``@monthly`` job on the
+first of the month. This is no longer required. Airflow will now auto align
+the ``start_date`` and the ``schedule_interval``, by using the ``start_date``
+as the moment to start looking.
+
+You can use any sensor or a ``TimeDeltaSensor`` to delay
+the execution of tasks within the schedule interval.
+While ``schedule_interval`` does allow specifying a ``datetime.timedelta``
+object, we recommend using the macros or cron expressions instead, as
+it enforces this idea of rounded schedules.
+
+When using ``depends_on_past=True`` it's important to pay special attention
+to ``start_date`` as the past dependency is not enforced only on the specific
+schedule of the ``start_date`` specified for the task. It's also
+important to watch DagRun activity status in time when introducing
+new ``depends_on_past=True``, unless you are planning on running a backfill
+for the new task(s).
+
+Also important to note is that the tasks ``start_date``, in the context of a
+backfill CLI command, get overridden by the backfill's command ``start_date``.
+This allows for a backfill on tasks that have ``depends_on_past=True`` to
+actually start, if that wasn't the case, the backfill just wouldn't start.
+
+How can I create DAGs dynamically?
+----------------------------------
+
+Airflow looks in your ``DAGS_FOLDER`` for modules that contain ``DAG`` objects
+in their global namespace, and adds the objects it finds in the
+``DagBag``. Knowing this all we need is a way to dynamically assign
+variable in the global namespace, which is easily done in python using the
+``globals()`` function for the standard library which behaves like a
+simple dictionary.
+
+.. code:: python
+
+    for i in range(10):
+        dag_id = 'foo_{}'.format(i)
+        globals()[dag_id] = DAG(dag_id)
+        # or better, call a function that returns a DAG object!
+
+What are all the ``airflow run`` commands in my process list?
+---------------------------------------------------------------
+
+There are many layers of ``airflow run`` commands, meaning it can call itself.
+
+- Basic ``airflow run``: fires up an executor, and tell it to run an
+  ``airflow run --local`` command. if using Celery, this means it puts a
+  command in the queue for it to run remote, on the worker. If using
+  LocalExecutor, that translates into running it in a subprocess pool.
+- Local ``airflow run --local``: starts an ``airflow run --raw``
+  command (described below) as a subprocess and is in charge of
+  emitting heartbeats, listening for external kill signals
+  and ensures some cleanup takes place if the subprocess fails
+- Raw ``airflow run --raw`` runs the actual operator's execute method and
+  performs the actual work
+
+
+How can my airflow dag run faster?
+----------------------------------
+
+There are three variables we could control to improve airflow dag performance:
+
+- ``parallelism``: This variable controls the number of task instances that the airflow worker can run simultaneously. User could increase the parallelism variable in the ``airflow.cfg``.
+- ``concurrency``: The Airflow scheduler will run no more than ``$concurrency`` task instances for your DAG at any given time. Concurrency is defined in your Airflow DAG. If you do not set the concurrency on your DAG, the scheduler will use the default value from the ``dag_concurrency`` entry in your ``airflow.cfg``.
+- ``max_active_runs``: the Airflow scheduler will run no more than ``max_active_runs`` DagRuns of your DAG at a given time. If you do not set the ``max_active_runs`` in your DAG, the scheduler will use the default value from the ``max_active_runs_per_dag`` entry in your ``airflow.cfg``.
+
+
+How can we reduce the airflow UI page load time?
+------------------------------------------------
+
+If your dag takes long time to load, you could reduce the value of ``default_dag_run_display_number`` configuration in ``airflow.cfg`` to a smaller value. This configurable controls the number of dag run to show in UI with default value 25.
+
+
+How to fix Exception: Global variable explicit_defaults_for_timestamp needs to be on (1)?
+-----------------------------------------------------------------------------------------
+
+This means ``explicit_defaults_for_timestamp`` is disabled in your mysql server and you need to enable it by:
+
+#. Set ``explicit_defaults_for_timestamp = 1`` under the mysqld section in your my.cnf file.
+#. Restart the Mysql server.
+
+
+How to reduce airflow dag scheduling latency in production?
+-----------------------------------------------------------
+
+- ``max_threads``: Scheduler will spawn multiple threads in parallel to schedule dags. This is controlled by ``max_threads`` with default value of 2. User should increase this value to a larger value(e.g numbers of cpus where scheduler runs - 1) in production.
+- ``scheduler_heartbeat_sec``: User should consider to increase ``scheduler_heartbeat_sec`` config to a higher value(e.g 60 secs) which controls how frequent the airflow scheduler gets the heartbeat and updates the job's entry in database.
diff --git a/_sources/howto/executor/use-celery.rst.txt b/1.10.1/_sources/howto/executor/use-celery.rst.txt
similarity index 100%
copy from _sources/howto/executor/use-celery.rst.txt
copy to 1.10.1/_sources/howto/executor/use-celery.rst.txt
diff --git a/1.10.1/_sources/howto/executor/use-dask.rst.txt b/1.10.1/_sources/howto/executor/use-dask.rst.txt
new file mode 100644
index 0000000..6d3efcb
--- /dev/null
+++ b/1.10.1/_sources/howto/executor/use-dask.rst.txt
@@ -0,0 +1,50 @@
+..  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.
+
+Scaling Out with Dask
+=====================
+
+``DaskExecutor`` allows you to run Airflow tasks in a Dask Distributed cluster.
+
+Dask clusters can be run on a single machine or on remote networks. For complete
+details, consult the `Distributed documentation <https://distributed.readthedocs.io/>`_.
+
+To create a cluster, first start a Scheduler:
+
+.. code-block:: bash
+
+    # default settings for a local cluster
+    DASK_HOST=127.0.0.1
+    DASK_PORT=8786
+
+    dask-scheduler --host $DASK_HOST --port $DASK_PORT
+
+Next start at least one Worker on any machine that can connect to the host:
+
+.. code-block:: bash
+
+    dask-worker $DASK_HOST:$DASK_PORT
+
+Edit your ``airflow.cfg`` to set your executor to ``DaskExecutor`` and provide
+the Dask Scheduler address in the ``[dask]`` section.
+
+Please note:
+
+- Each Dask worker must be able to import Airflow and any dependencies you
+  require.
+- Dask does not support queues. If an Airflow task was created with a queue, a
+  warning will be raised but the task will be submitted to the cluster.
diff --git a/1.10.1/_sources/howto/executor/use-mesos.rst.txt b/1.10.1/_sources/howto/executor/use-mesos.rst.txt
new file mode 100644
index 0000000..d67579d
--- /dev/null
+++ b/1.10.1/_sources/howto/executor/use-mesos.rst.txt
@@ -0,0 +1,82 @@
+..  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.
+
+Scaling Out with Mesos (community contributed)
+==============================================
+
+There are two ways you can run airflow as a mesos framework:
+
+1. Running airflow tasks directly on mesos slaves, requiring each mesos slave to have airflow installed and configured.
+2. Running airflow tasks inside a docker container that has airflow installed, which is run on a mesos slave.
+
+Tasks executed directly on mesos slaves
+---------------------------------------
+
+``MesosExecutor`` allows you to schedule airflow tasks on a Mesos cluster.
+For this to work, you need a running mesos cluster and you must perform the following
+steps -
+
+1. Install airflow on a mesos slave where web server and scheduler will run,
+   let's refer to this as the "Airflow server".
+2. On the Airflow server, install mesos python eggs from `mesos downloads <http://open.mesosphere.com/downloads/mesos/>`_.
+3. On the Airflow server, use a database (such as mysql) which can be accessed from all mesos
+   slaves and add configuration in ``airflow.cfg``.
+4. Change your ``airflow.cfg`` to point executor parameter to
+   `MesosExecutor` and provide related Mesos settings.
+5. On all mesos slaves, install airflow. Copy the ``airflow.cfg`` from
+   Airflow server (so that it uses same sql alchemy connection).
+6. On all mesos slaves, run the following for serving logs:
+
+.. code-block:: bash
+
+    airflow serve_logs
+
+7. On Airflow server, to start processing/scheduling DAGs on mesos, run:
+
+.. code-block:: bash
+
+    airflow scheduler -p
+
+Note: We need -p parameter to pickle the DAGs.
+
+You can now see the airflow framework and corresponding tasks in mesos UI.
+The logs for airflow tasks can be seen in airflow UI as usual.
+
+For more information about mesos, refer to `mesos documentation <http://mesos.apache.org/documentation/latest/>`_.
+For any queries/bugs on `MesosExecutor`, please contact `@kapil-malik <https://github.com/kapil-malik>`_.
+
+Tasks executed in containers on mesos slaves
+--------------------------------------------
+
+`This gist <https://gist.github.com/sebradloff/f158874e615bda0005c6f4577b20036e>`_ contains all files and configuration changes necessary to achieve the following:
+
+1. Create a dockerized version of airflow with mesos python eggs installed.
+
+  We recommend taking advantage of docker's multi stage builds in order to achieve this. We have one Dockerfile that defines building a specific version of mesos from source (Dockerfile-mesos), in order to create the python eggs. In the airflow Dockerfile (Dockerfile-airflow) we copy the python eggs from the mesos image.
+
+2. Create a mesos configuration block within the ``airflow.cfg``.
+
+  The configuration block remains the same as the default airflow configuration (default_airflow.cfg), but has the addition of an option ``docker_image_slave``. This should be set to the name of the image you would like mesos to use when running airflow tasks. Make sure you have the proper configuration of the DNS record for your mesos master and any sort of authorization if any exists.
+
+3. Change your ``airflow.cfg`` to point the executor parameter to
+   `MesosExecutor` (`executor = SequentialExecutor`).
+
+4. Make sure your mesos slave has access to the docker repository you are using for your ``docker_image_slave``.
+
+  `Instructions are available in the mesos docs. <https://mesos.readthedocs.io/en/latest/docker-containerizer/#private-docker-repository>`_
+
+The rest is up to you and how you want to work with a dockerized airflow configuration.
diff --git a/_sources/howto/index.rst.txt b/1.10.1/_sources/howto/index.rst.txt
similarity index 100%
copy from _sources/howto/index.rst.txt
copy to 1.10.1/_sources/howto/index.rst.txt
diff --git a/1.10.1/_sources/howto/initialize-database.rst.txt b/1.10.1/_sources/howto/initialize-database.rst.txt
new file mode 100644
index 0000000..fad75be
--- /dev/null
+++ b/1.10.1/_sources/howto/initialize-database.rst.txt
@@ -0,0 +1,48 @@
+..  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.
+
+Initializing a Database Backend
+===============================
+
+If you want to take a real test drive of Airflow, you should consider
+setting up a real database backend and switching to the LocalExecutor.
+
+As Airflow was built to interact with its metadata using the great SqlAlchemy
+library, you should be able to use any database backend supported as a
+SqlAlchemy backend. We recommend using **MySQL** or **Postgres**.
+
+.. note:: We rely on more strict ANSI SQL settings for MySQL in order to have
+   sane defaults. Make sure to have specified `explicit_defaults_for_timestamp=1`
+   in your my.cnf under `[mysqld]`
+
+.. note:: If you decide to use **Postgres**, we recommend using the ``psycopg2``
+   driver and specifying it in your SqlAlchemy connection string.
+   Also note that since SqlAlchemy does not expose a way to target a
+   specific schema in the Postgres connection URI, you may
+   want to set a default schema for your role with a
+   command similar to ``ALTER ROLE username SET search_path = airflow, foobar;``
+
+Once you've setup your database to host Airflow, you'll need to alter the
+SqlAlchemy connection string located in your configuration file
+``$AIRFLOW_HOME/airflow.cfg``. You should then also change the "executor"
+setting to use "LocalExecutor", an executor that can parallelize task
+instances locally.
+
+.. code-block:: bash
+
+    # initialize the database
+    airflow initdb
diff --git a/_sources/howto/manage-connections.rst.txt b/1.10.1/_sources/howto/manage-connections.rst.txt
similarity index 100%
copy from _sources/howto/manage-connections.rst.txt
copy to 1.10.1/_sources/howto/manage-connections.rst.txt
diff --git a/_sources/howto/operator.rst.txt b/1.10.1/_sources/howto/operator.rst.txt
similarity index 100%
copy from _sources/howto/operator.rst.txt
copy to 1.10.1/_sources/howto/operator.rst.txt
diff --git a/_sources/howto/index.rst.txt b/1.10.1/_sources/howto/run-with-systemd.rst.txt
similarity index 50%
copy from _sources/howto/index.rst.txt
copy to 1.10.1/_sources/howto/run-with-systemd.rst.txt
index 8a19a9e..131fc3d 100644
--- a/_sources/howto/index.rst.txt
+++ b/1.10.1/_sources/howto/run-with-systemd.rst.txt
@@ -15,27 +15,18 @@
     specific language governing permissions and limitations
     under the License.
 
-How-to Guides
-=============
+Running Airflow with systemd
+============================
 
-Setting up the sandbox in the :doc:`../start` section was easy;
-building a production-grade environment requires a bit more work!
+Airflow can integrate with systemd based systems. This makes watching your
+daemons easy as systemd can take care of restarting a daemon on failure.
+In the ``scripts/systemd`` directory you can find unit files that
+have been tested on Redhat based systems. You can copy those to
+``/usr/lib/systemd/system``. It is assumed that Airflow will run under
+``airflow:airflow``. If not (or if you are running on a non Redhat
+based system) you probably need to adjust the unit files.
 
-These how-to guides will step you through common tasks in using and
-configuring an Airflow environment.
-
-.. toctree::
-    :maxdepth: 2
-
-    set-config
-    initialize-database
-    operator
-    manage-connections
-    secure-connections
-    write-logs
-    executor/use-celery
-    executor/use-dask
-    executor/use-mesos
-    run-with-systemd
-    run-with-upstart
-    use-test-config
+Environment configuration is picked up from ``/etc/sysconfig/airflow``.
+An example file is supplied. Make sure to specify the ``SCHEDULER_RUNS``
+variable in this file when you run the scheduler. You
+can also define here, for example, ``AIRFLOW_HOME`` or ``AIRFLOW_CONFIG``.
diff --git a/1.10.1/_sources/howto/run-with-upstart.rst.txt b/1.10.1/_sources/howto/run-with-upstart.rst.txt
new file mode 100644
index 0000000..adfb85a
--- /dev/null
+++ b/1.10.1/_sources/howto/run-with-upstart.rst.txt
@@ -0,0 +1,37 @@
+..  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.
+
+Running Airflow with upstart
+============================
+
+Airflow can integrate with upstart based systems. Upstart automatically starts all airflow services for which you
+have a corresponding ``*.conf`` file in ``/etc/init`` upon system boot. On failure, upstart automatically restarts
+the process (until it reaches re-spawn limit set in a ``*.conf`` file).
+
+You can find sample upstart job files in the ``scripts/upstart`` directory. These files have been tested on
+Ubuntu 14.04 LTS. You may have to adjust ``start on`` and ``stop on`` stanzas to make it work on other upstart
+systems. Some of the possible options are listed in ``scripts/upstart/README``.
+
+Modify ``*.conf`` files as needed and copy to ``/etc/init`` directory. It is assumed that airflow will run
+under ``airflow:airflow``. Change ``setuid`` and ``setgid`` in ``*.conf`` files if you use other user/group
+
+You can use ``initctl`` to manually start, stop, view status of the airflow process that has been
+integrated with upstart
+
+.. code-block:: bash
+
+    initctl airflow-webserver status
diff --git a/1.10.1/_sources/howto/secure-connections.rst.txt b/1.10.1/_sources/howto/secure-connections.rst.txt
new file mode 100644
index 0000000..719db2f
--- /dev/null
+++ b/1.10.1/_sources/howto/secure-connections.rst.txt
@@ -0,0 +1,50 @@
+..  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.
+
+Securing Connections
+====================
+
+By default, Airflow will save the passwords for the connection in plain text
+within the metadata database. The ``crypto`` package is highly recommended
+during installation. The ``crypto`` package does require that your operating
+system has ``libffi-dev`` installed.
+
+If ``crypto`` package was not installed initially, it means that your Fernet key in ``airflow.cfg`` is empty.
+
+You can still enable encryption for passwords within connections by following below steps:
+
+1. Install crypto package ``pip install apache-airflow[crypto]``
+2. Generate fernet_key, using this code snippet below. ``fernet_key`` must be a base64-encoded 32-byte key.
+
+.. code:: python
+
+    from cryptography.fernet import Fernet
+    fernet_key= Fernet.generate_key()
+    print(fernet_key.decode()) # your fernet_key, keep it in secured place!
+
+3. Replace ``airflow.cfg`` fernet_key value with the one from step 2.
+Alternatively, you can store your fernet_key in OS environment variable. You
+do not need to change ``airflow.cfg`` in this case as Airflow will use environment
+variable over the value in ``airflow.cfg``:
+
+.. code-block:: bash
+
+  # Note the double underscores
+  export AIRFLOW__CORE__FERNET_KEY=your_fernet_key
+
+4. Restart Airflow webserver.
+5. For existing connections (the ones that you had defined before installing ``airflow[crypto]`` and creating a Fernet key), you need to open each connection in the connection admin UI, re-type the password, and save it.
diff --git a/_sources/howto/set-config.rst.txt b/1.10.1/_sources/howto/set-config.rst.txt
similarity index 100%
copy from _sources/howto/set-config.rst.txt
copy to 1.10.1/_sources/howto/set-config.rst.txt
diff --git a/_sources/howto/index.rst.txt b/1.10.1/_sources/howto/use-test-config.rst.txt
similarity index 54%
copy from _sources/howto/index.rst.txt
copy to 1.10.1/_sources/howto/use-test-config.rst.txt
index 8a19a9e..4f272af 100644
--- a/_sources/howto/index.rst.txt
+++ b/1.10.1/_sources/howto/use-test-config.rst.txt
@@ -15,27 +15,20 @@
     specific language governing permissions and limitations
     under the License.
 
-How-to Guides
-=============
+Using the Test Mode Configuration
+=================================
 
-Setting up the sandbox in the :doc:`../start` section was easy;
-building a production-grade environment requires a bit more work!
+Airflow has a fixed set of "test mode" configuration options. You can load these
+at any time by calling ``airflow.configuration.load_test_config()`` (note this
+operation is not reversible!). However, some options (like the DAG_FOLDER) are
+loaded before you have a chance to call load_test_config(). In order to eagerly load
+the test configuration, set test_mode in airflow.cfg:
 
-These how-to guides will step you through common tasks in using and
-configuring an Airflow environment.
+.. code-block:: bash
 
-.. toctree::
-    :maxdepth: 2
+  [tests]
+  unit_test_mode = True
 
-    set-config
-    initialize-database
-    operator
-    manage-connections
-    secure-connections
-    write-logs
-    executor/use-celery
-    executor/use-dask
-    executor/use-mesos
-    run-with-systemd
-    run-with-upstart
-    use-test-config
+Due to Airflow's automatic environment variable expansion (see :doc:`set-config`),
+you can also set the env var ``AIRFLOW__CORE__UNIT_TEST_MODE`` to temporarily overwrite
+airflow.cfg.
diff --git a/_sources/howto/write-logs.rst.txt b/1.10.1/_sources/howto/write-logs.rst.txt
similarity index 100%
copy from _sources/howto/write-logs.rst.txt
copy to 1.10.1/_sources/howto/write-logs.rst.txt
diff --git a/_sources/index.rst.txt b/1.10.1/_sources/index.rst.txt
similarity index 100%
copy from _sources/index.rst.txt
copy to 1.10.1/_sources/index.rst.txt
diff --git a/_sources/installation.rst.txt b/1.10.1/_sources/installation.rst.txt
similarity index 100%
copy from _sources/installation.rst.txt
copy to 1.10.1/_sources/installation.rst.txt
diff --git a/_sources/integration.rst.txt b/1.10.1/_sources/integration.rst.txt
similarity index 100%
copy from _sources/integration.rst.txt
copy to 1.10.1/_sources/integration.rst.txt
diff --git a/_sources/kubernetes.rst.txt b/1.10.1/_sources/kubernetes.rst.txt
similarity index 100%
copy from _sources/kubernetes.rst.txt
copy to 1.10.1/_sources/kubernetes.rst.txt
diff --git a/1.10.1/_sources/license.rst.txt b/1.10.1/_sources/license.rst.txt
new file mode 100644
index 0000000..bcb2b76
--- /dev/null
+++ b/1.10.1/_sources/license.rst.txt
@@ -0,0 +1,199 @@
+..  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.
+
+License
+=======
+
+.. image:: img/apache.jpg
+    :width: 150
+
+::
+
+                                  Apache License
+                            Version 2.0, January 2004
+                         http://www.apache.org/licenses/
+
+    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+    1. Definitions.
+
+       "License" shall mean the terms and conditions for use, reproduction,
+       and distribution as defined by Sections 1 through 9 of this document.
+
+       "Licensor" shall mean the copyright owner or entity authorized by
+       the copyright owner that is granting the License.
+
+       "Legal Entity" shall mean the union of the acting entity and all
+       other entities that control, are controlled by, or are under common
+       control with that entity. For the purposes of this definition,
+       "control" means (i) the power, direct or indirect, to cause the
+       direction or management of such entity, whether by contract or
+       otherwise, or (ii) ownership of fifty percent (50%) or more of the
+       outstanding shares, or (iii) beneficial ownership of such entity.
+
+       "You" (or "Your") shall mean an individual or Legal Entity
+       exercising permissions granted by this License.
+
+       "Source" form shall mean the preferred form for making modifications,
+       including but not limited to software source code, documentation
+       source, and configuration files.
+
+       "Object" form shall mean any form resulting from mechanical
+       transformation or translation of a Source form, including but
+       not limited to compiled object code, generated documentation,
+       and conversions to other media types.
+
+       "Work" shall mean the work of authorship, whether in Source or
+       Object form, made available under the License, as indicated by a
+       copyright notice that is included in or attached to the work
+       (an example is provided in the Appendix below).
+
+       "Derivative Works" shall mean any work, whether in Source or Object
+       form, that is based on (or derived from) the Work and for which the
+       editorial revisions, annotations, elaborations, or other modifications
+       represent, as a whole, an original work of authorship. For the purposes
+       of this License, Derivative Works shall not include works that remain
+       separable from, or merely link (or bind by name) to the interfaces of,
+       the Work and Derivative Works thereof.
+
+       "Contribution" shall mean any work of authorship, including
+       the original version of the Work and any modifications or additions
+       to that Work or Derivative Works thereof, that is intentionally
+       submitted to Licensor for inclusion in the Work by the copyright owner
+       or by an individual or Legal Entity authorized to submit on behalf of
+       the copyright owner. For the purposes of this definition, "submitted"
+       means any form of electronic, verbal, or written communication sent
+       to the Licensor or its representatives, including but not limited to
+       communication on electronic mailing lists, source code control systems,
+       and issue tracking systems that are managed by, or on behalf of, the
+       Licensor for the purpose of discussing and improving the Work, but
+       excluding communication that is conspicuously marked or otherwise
+       designated in writing by the copyright owner as "Not a Contribution."
+
+       "Contributor" shall mean Licensor and any individual or Legal Entity
+       on behalf of whom a Contribution has been received by Licensor and
+       subsequently incorporated within the Work.
+
+    2. Grant of Copyright License. Subject to the terms and conditions of
+       this License, each Contributor hereby grants to You a perpetual,
+       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+       copyright license to reproduce, prepare Derivative Works of,
+       publicly display, publicly perform, sublicense, and distribute the
+       Work and such Derivative Works in Source or Object form.
+
+    3. Grant of Patent License. Subject to the terms and conditions of
+       this License, each Contributor hereby grants to You a perpetual,
+       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+       (except as stated in this section) patent license to make, have made,
+       use, offer to sell, sell, import, and otherwise transfer the Work,
+       where such license applies only to those patent claims licensable
+       by such Contributor that are necessarily infringed by their
+       Contribution(s) alone or by combination of their Contribution(s)
+       with the Work to which such Contribution(s) was submitted. If You
+       institute patent litigation against any entity (including a
+       cross-claim or counterclaim in a lawsuit) alleging that the Work
+       or a Contribution incorporated within the Work constitutes direct
+       or contributory patent infringement, then any patent licenses
+       granted to You under this License for that Work shall terminate
+       as of the date such litigation is filed.
+
+    4. Redistribution. You may reproduce and distribute copies of the
+       Work or Derivative Works thereof in any medium, with or without
+       modifications, and in Source or Object form, provided that You
+       meet the following conditions:
+
+       (a) You must give any other recipients of the Work or
+           Derivative Works a copy of this License; and
+
+       (b) You must cause any modified files to carry prominent notices
+           stating that You changed the files; and
+
+       (c) You must retain, in the Source form of any Derivative Works
+           that You distribute, all copyright, patent, trademark, and
+           attribution notices from the Source form of the Work,
+           excluding those notices that do not pertain to any part of
+           the Derivative Works; and
+
+       (d) If the Work includes a "NOTICE" text file as part of its
+           distribution, then any Derivative Works that You distribute must
+           include a readable copy of the attribution notices contained
+           within such NOTICE file, excluding those notices that do not
+           pertain to any part of the Derivative Works, in at least one
+           of the following places: within a NOTICE text file distributed
+           as part of the Derivative Works; within the Source form or
+           documentation, if provided along with the Derivative Works; or,
+           within a display generated by the Derivative Works, if and
+           wherever such third-party notices normally appear. The contents
+           of the NOTICE file are for informational purposes only and
+           do not modify the License. You may add Your own attribution
+           notices within Derivative Works that You distribute, alongside
+           or as an addendum to the NOTICE text from the Work, provided
+           that such additional attribution notices cannot be construed
+           as modifying the License.
+
+       You may add Your own copyright statement to Your modifications and
+       may provide additional or different license terms and conditions
+       for use, reproduction, or distribution of Your modifications, or
+       for any such Derivative Works as a whole, provided Your use,
+       reproduction, and distribution of the Work otherwise complies with
+       the conditions stated in this License.
+
+    5. Submission of Contributions. Unless You explicitly state otherwise,
+       any Contribution intentionally submitted for inclusion in the Work
+       by You to the Licensor shall be under the terms and conditions of
+       this License, without any additional terms or conditions.
+       Notwithstanding the above, nothing herein shall supersede or modify
+       the terms of any separate license agreement you may have executed
+       with Licensor regarding such Contributions.
+
+    6. Trademarks. This License does not grant permission to use the trade
+       names, trademarks, service marks, or product names of the Licensor,
+       except as required for reasonable and customary use in describing the
+       origin of the Work and reproducing the content of the NOTICE file.
+
+    7. Disclaimer of Warranty. Unless required by applicable law or
+       agreed to in writing, Licensor provides the Work (and each
+       Contributor provides its Contributions) on an "AS IS" BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+       implied, including, without limitation, any warranties or conditions
+       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+       PARTICULAR PURPOSE. You are solely responsible for determining the
+       appropriateness of using or redistributing the Work and assume any
+       risks associated with Your exercise of permissions under this License.
+
+    8. Limitation of Liability. In no event and under no legal theory,
+       whether in tort (including negligence), contract, or otherwise,
+       unless required by applicable law (such as deliberate and grossly
+       negligent acts) or agreed to in writing, shall any Contributor be
+       liable to You for damages, including any direct, indirect, special,
+       incidental, or consequential damages of any character arising as a
+       result of this License or out of the use or inability to use the
+       Work (including but not limited to damages for loss of goodwill,
+       work stoppage, computer failure or malfunction, or any and all
+       other commercial damages or losses), even if such Contributor
+       has been advised of the possibility of such damages.
+
+    9. Accepting Warranty or Additional Liability. While redistributing
+       the Work or Derivative Works thereof, You may choose to offer,
+       and charge a fee for, acceptance of support, warranty, indemnity,
+       or other liability obligations and/or rights consistent with this
+       License. However, in accepting such obligations, You may act only
+       on Your own behalf and on Your sole responsibility, not on behalf
+       of any other Contributor, and only if You agree to indemnify,
+       defend, and hold each Contributor harmless for any liability
+       incurred by, or claims asserted against, such Contributor by reason
+       of your accepting any such warranty or additional liability.
diff --git a/1.10.1/_sources/lineage.rst.txt b/1.10.1/_sources/lineage.rst.txt
new file mode 100644
index 0000000..c94fe70
--- /dev/null
+++ b/1.10.1/_sources/lineage.rst.txt
@@ -0,0 +1,102 @@
+..  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.
+
+Lineage
+=======
+
+.. note:: Lineage support is very experimental and subject to change.
+
+Airflow can help track origins of data, what happens to it and where it moves over time. This can aid having
+audit trails and data governance, but also debugging of data flows.
+
+Airflow tracks data by means of inlets and outlets of the tasks. Let's work from an example and see how it
+works.
+
+.. code:: python
+
+    from airflow.operators.bash_operator import BashOperator
+    from airflow.operators.dummy_operator import DummyOperator
+    from airflow.lineage.datasets import File
+    from airflow.models import DAG
+    from datetime import timedelta
+    
+    FILE_CATEGORIES = ["CAT1", "CAT2", "CAT3"]
+    
+    args = {
+        'owner': 'airflow',
+        'start_date': airflow.utils.dates.days_ago(2)
+    }
+    
+    dag = DAG(
+        dag_id='example_lineage', default_args=args,
+        schedule_interval='0 0 * * *',
+        dagrun_timeout=timedelta(minutes=60))
+    
+    f_final = File("/tmp/final")
+    run_this_last = DummyOperator(task_id='run_this_last', dag=dag, 
+        inlets={"auto": True},
+        outlets={"datasets": [f_final,]})
+    
+    f_in = File("/tmp/whole_directory/")
+    outlets = []
+    for file in FILE_CATEGORIES:
+        f_out = File("/tmp/{}/{{{{ execution_date }}}}".format(file))
+        outlets.append(f_out)
+    run_this = BashOperator(    
+        task_id='run_me_first', bash_command='echo 1', dag=dag,
+        inlets={"datasets": [f_in,]},
+        outlets={"datasets": outlets}
+        )
+    run_this.set_downstream(run_this_last)
+
+
+Tasks take the parameters `inlets` and `outlets`. Inlets can be manually defined by a list of dataset `{"datasets":
+[dataset1, dataset2]}` or can be configured to look for outlets from upstream tasks `{"task_ids": ["task_id1", "task_id2"]}`
+or can be configured to pick up outlets from direct upstream tasks `{"auto": True}` or a combination of them. Outlets 
+are defined as list of dataset `{"datasets": [dataset1, dataset2]}`. Any fields for the dataset are templated with 
+the context when the task is being executed. 
+
+.. note:: Operators can add inlets and outlets automatically if the operator supports it.
+
+In the example DAG task `run_me_first` is a BashOperator that takes 3 inlets: `CAT1`, `CAT2`, `CAT3`, that are 
+generated from a list. Note that `execution_date` is a templated field and will be rendered when the task is running.
+
+.. note:: Behind the scenes Airflow prepares the lineage metadata as part of the `pre_execute` method of a task. When the task
+          has finished execution `post_execute` is called and lineage metadata is pushed into XCOM. Thus if you are creating 
+          your own operators that override this method make sure to decorate your method with `prepare_lineage` and `apply_lineage`
+          respectively.
+
+
+Apache Atlas
+------------
+
+Airflow can send its lineage metadata to Apache Atlas. You need to enable the `atlas` backend and configure it 
+properly, e.g. in your `airflow.cfg`:
+
+.. code:: python
+
+    [lineage]
+    backend = airflow.lineage.backend.atlas
+
+    [atlas]
+    username = my_username
+    password = my_password
+    host = host
+    port = 21000
+    
+
+Please make sure to have the `atlasclient` package installed.
diff --git a/_sources/plugins.rst.txt b/1.10.1/_sources/plugins.rst.txt
similarity index 100%
copy from _sources/plugins.rst.txt
copy to 1.10.1/_sources/plugins.rst.txt
diff --git a/1.10.1/_sources/profiling.rst.txt b/1.10.1/_sources/profiling.rst.txt
new file mode 100644
index 0000000..c4f1c0b
--- /dev/null
+++ b/1.10.1/_sources/profiling.rst.txt
@@ -0,0 +1,58 @@
+..  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.
+
+.. TODO: This section would be removed after we migrate to www_rbac completely.
+
+Data Profiling
+==============
+
+Part of being productive with data is having the right weapons to
+profile the data you are working with. Airflow provides a simple query
+interface to write SQL and get results quickly, and a charting application
+letting you visualize data.
+
+Adhoc Queries
+-------------
+The adhoc query UI allows for simple SQL interactions with the database
+connections registered in Airflow.
+
+.. image:: img/adhoc.png
+
+Charts
+------
+A simple UI built on top of flask-admin and highcharts allows building
+data visualizations and charts easily. Fill in a form with a label, SQL,
+chart type, pick a source database from your environment's connections,
+select a few other options, and save it for later use.
+
+You can even use the same templating and macros available when writing
+airflow pipelines, parameterizing your queries and modifying parameters
+directly in the URL.
+
+These charts are basic, but they're easy to create, modify and share.
+
+Chart Screenshot
+................
+
+.. image:: img/chart.png
+
+-----
+
+Chart Form Screenshot
+.....................
+
+.. image:: img/chart_form.png
diff --git a/_sources/project.rst.txt b/1.10.1/_sources/project.rst.txt
similarity index 100%
copy from _sources/project.rst.txt
copy to 1.10.1/_sources/project.rst.txt
diff --git a/_sources/scheduler.rst.txt b/1.10.1/_sources/scheduler.rst.txt
similarity index 100%
copy from _sources/scheduler.rst.txt
copy to 1.10.1/_sources/scheduler.rst.txt
diff --git a/_sources/security.rst.txt b/1.10.1/_sources/security.rst.txt
similarity index 100%
copy from _sources/security.rst.txt
copy to 1.10.1/_sources/security.rst.txt
diff --git a/1.10.1/_sources/start.rst.txt b/1.10.1/_sources/start.rst.txt
new file mode 100644
index 0000000..e3b16b2
--- /dev/null
+++ b/1.10.1/_sources/start.rst.txt
@@ -0,0 +1,71 @@
+..  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.
+
+Quick Start
+-----------
+
+The installation is quick and straightforward.
+
+.. code-block:: bash
+
+    # airflow needs a home, ~/airflow is the default,
+    # but you can lay foundation somewhere else if you prefer
+    # (optional)
+    export AIRFLOW_HOME=~/airflow
+
+    # install from pypi using pip
+    pip install apache-airflow
+
+    # initialize the database
+    airflow initdb
+
+    # start the web server, default port is 8080
+    airflow webserver -p 8080
+
+    # start the scheduler
+    airflow scheduler
+
+    # visit localhost:8080 in the browser and enable the example dag in the home page
+
+Upon running these commands, Airflow will create the ``$AIRFLOW_HOME`` folder
+and lay an "airflow.cfg" file with defaults that get you going fast. You can
+inspect the file either in ``$AIRFLOW_HOME/airflow.cfg``, or through the UI in
+the ``Admin->Configuration`` menu. The PID file for the webserver will be stored
+in ``$AIRFLOW_HOME/airflow-webserver.pid`` or in ``/run/airflow/webserver.pid``
+if started by systemd.
+
+Out of the box, Airflow uses a sqlite database, which you should outgrow
+fairly quickly since no parallelization is possible using this database
+backend. It works in conjunction with the ``SequentialExecutor`` which will
+only run task instances sequentially. While this is very limiting, it allows
+you to get up and running quickly and take a tour of the UI and the
+command line utilities.
+
+Here are a few commands that will trigger a few task instances. You should
+be able to see the status of the jobs change in the ``example1`` DAG as you
+run the commands below.
+
+.. code-block:: bash
+
+    # run your first task instance
+    airflow run example_bash_operator runme_0 2015-01-01
+    # run a backfill over 2 days
+    airflow backfill example_bash_operator -s 2015-01-01 -e 2015-01-02
+
+What's Next?
+''''''''''''
+From this point, you can head to the :doc:`tutorial` section for further examples or the :doc:`howto/index` section if you're ready to get your hands dirty.
diff --git a/1.10.1/_sources/timezone.rst.txt b/1.10.1/_sources/timezone.rst.txt
new file mode 100644
index 0000000..078f948
--- /dev/null
+++ b/1.10.1/_sources/timezone.rst.txt
@@ -0,0 +1,163 @@
+..  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.
+
+Time zones
+==========
+
+Support for time zones is enabled by default. Airflow stores datetime information in UTC internally and in the database.
+It allows you to run your DAGs with time zone dependent schedules. At the moment Airflow does not convert them to the
+end user’s time zone in the user interface. There it will always be displayed in UTC. Also templates used in Operators
+are not converted. Time zone information is exposed and it is up to the writer of DAG what do with it.
+
+This is handy if your users live in more than one time zone and you want to display datetime information according to
+each user’s wall clock.
+
+Even if you are running Airflow in only one time zone it is still good practice to store data in UTC in your database
+(also before Airflow became time zone aware this was also to recommended or even required setup). The main reason is
+Daylight Saving Time (DST). Many countries have a system of DST, where clocks are moved forward in spring and backward
+in autumn. If you’re working in local time, you’re likely to encounter errors twice a year, when the transitions
+happen. (The pendulum and pytz documentation discusses these issues in greater detail.) This probably doesn’t matter
+for a simple DAG, but it’s a problem if you are in, for example, financial services where you have end of day
+deadlines to meet.
+
+The time zone is set in `airflow.cfg`. By default it is set to utc, but you change it to use the system’s settings or
+an arbitrary IANA time zone, e.g. `Europe/Amsterdam`. It is dependent on `pendulum`, which is more accurate than `pytz`.
+Pendulum is installed when you install Airflow.
+
+Please note that the Web UI currently only runs in UTC.
+
+Concepts
+--------
+Naïve and aware datetime objects
+''''''''''''''''''''''''''''''''
+
+Python’s datetime.datetime objects have a tzinfo attribute that can be used to store time zone information,
+represented as an instance of a subclass of datetime.tzinfo. When this attribute is set and describes an offset,
+a datetime object is aware. Otherwise, it’s naive.
+
+You can use timezone.is_aware() and timezone.is_naive() to determine whether datetimes are aware or naive.
+
+Because Airflow uses time-zone-aware datetime objects. If your code creates datetime objects they need to be aware too.
+
+.. code:: python
+
+    from airflow.utils import timezone
+
+    now = timezone.utcnow()
+    a_date = timezone.datetime(2017,1,1)
+
+
+Interpretation of naive datetime objects
+''''''''''''''''''''''''''''''''''''''''
+
+Although Airflow operates fully time zone aware, it still accepts naive date time objects for `start_dates`
+and `end_dates` in your DAG definitions. This is mostly in order to preserve backwards compatibility. In
+case a naive `start_date` or `end_date` is encountered the default time zone is applied. It is applied
+in such a way that it is assumed that the naive date time is already in the default time zone. In other
+words if you have a default time zone setting of `Europe/Amsterdam` and create a naive datetime `start_date` of
+`datetime(2017,1,1)` it is assumed to be a `start_date` of Jan 1, 2017 Amsterdam time.
+
+.. code:: python
+
+    default_args=dict(
+        start_date=datetime(2016, 1, 1),
+        owner='Airflow'
+    )
+
+    dag = DAG('my_dag', default_args=default_args)
+    op = DummyOperator(task_id='dummy', dag=dag)
+    print(op.owner) # Airflow
+
+Unfortunately, during DST transitions, some datetimes don’t exist or are ambiguous.
+In such situations, pendulum raises an exception. That’s why you should always create aware
+datetime objects when time zone support is enabled.
+
+In practice, this is rarely an issue. Airflow gives you aware datetime objects in the models and DAGs, and most often,
+new datetime objects are created from existing ones through timedelta arithmetic. The only datetime that’s often
+created in application code is the current time, and timezone.utcnow() automatically does the right thing.
+
+
+Default time zone
+'''''''''''''''''
+
+The default time zone is the time zone defined by the `default_timezone` setting under `[core]`. If
+you just installed Airflow it will be set to `utc`, which is recommended. You can also set it to
+`system` or an IANA time zone (e.g.`Europe/Amsterdam`). DAGs are also evaluated on Airflow workers,
+it is therefore important to make sure this setting is equal on all Airflow nodes.
+
+
+.. code:: python
+
+    [core]
+    default_timezone = utc
+
+
+Time zone aware DAGs
+--------------------
+
+Creating a time zone aware DAG is quite simple. Just make sure to supply a time zone aware `start_date`. It is
+recommended to use `pendulum` for this, but `pytz` (to be installed manually) can also be used for this.
+
+.. code:: python
+
+    import pendulum
+
+    local_tz = pendulum.timezone("Europe/Amsterdam")
+
+    default_args=dict(
+        start_date=datetime(2016, 1, 1, tzinfo=local_tz),
+        owner='Airflow'
+    )
+
+    dag = DAG('my_tz_dag', default_args=default_args)
+    op = DummyOperator(task_id='dummy', dag=dag)
+    print(dag.timezone) # <Timezone [Europe/Amsterdam]>
+
+Please note that while it is possible to set a `start_date` and `end_date` for Tasks always the DAG timezone
+or global timezone (in that order) will be used to calculate the next execution date. Upon first encounter
+the start date or end date will be converted to UTC using the timezone associated with start_date or end_date,
+then for calculations this timezone information will be disregarded.
+
+Templates
+'''''''''
+
+Airflow returns time zone aware datetimes in templates, but does not convert them to local time so they remain in UTC.
+It is left up to the DAG to handle this.
+
+.. code:: python
+
+    import pendulum
+
+    local_tz = pendulum.timezone("Europe/Amsterdam")
+    local_tz.convert(execution_date)
+
+
+Cron schedules
+''''''''''''''
+
+In case you set a cron schedule, Airflow assumes you will always want to run at the exact same time. It will
+then ignore day light savings time. Thus, if you have a schedule that says
+run at end of interval every day at 08:00 GMT+1 it will always run end of interval 08:00 GMT+1,
+regardless if day light savings time is in place.
+
+
+Time deltas
+'''''''''''
+For schedules with time deltas Airflow assumes you always will want to run with the specified interval. So if you
+specify a timedelta(hours=2) you will always want to run to hours later. In this case day light savings time will
+be taken into account.
+
diff --git a/_sources/tutorial.rst.txt b/1.10.1/_sources/tutorial.rst.txt
similarity index 100%
copy from _sources/tutorial.rst.txt
copy to 1.10.1/_sources/tutorial.rst.txt
diff --git a/1.10.1/_sources/ui.rst.txt b/1.10.1/_sources/ui.rst.txt
new file mode 100644
index 0000000..a2f6b85
--- /dev/null
+++ b/1.10.1/_sources/ui.rst.txt
@@ -0,0 +1,119 @@
+..  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.
+
+UI / Screenshots
+=================
+The Airflow UI makes it easy to monitor and troubleshoot your data pipelines.
+Here's a quick overview of some of the features and visualizations you
+can find in the Airflow UI.
+
+
+DAGs View
+.........
+List of the DAGs in your environment, and a set of shortcuts to useful pages.
+You can see exactly how many tasks succeeded, failed, or are currently
+running at a glance.
+
+------------
+
+.. image:: img/dags.png
+
+------------
+
+
+Tree View
+.........
+A tree representation of the DAG that spans across time. If a pipeline is
+late, you can quickly see where the different steps are and identify
+the blocking ones.
+
+------------
+
+.. image:: img/tree.png
+
+------------
+
+Graph View
+..........
+The graph view is perhaps the most comprehensive. Visualize your DAG's
+dependencies and their current status for a specific run.
+
+------------
+
+.. image:: img/graph.png
+
+------------
+
+Variable View
+.............
+The variable view allows you to list, create, edit or delete the key-value pair
+of a variable used during jobs. Value of a variable will be hidden if the key contains
+any words in ('password', 'secret', 'passwd', 'authorization', 'api_key', 'apikey', 'access_token')
+by default, but can be configured to show in clear-text.
+
+------------
+
+.. image:: img/variable_hidden.png
+
+------------
+
+Gantt Chart
+...........
+The Gantt chart lets you analyse task duration and overlap. You can quickly
+identify bottlenecks and where the bulk of the time is spent for specific
+DAG runs.
+
+------------
+
+.. image:: img/gantt.png
+
+------------
+
+Task Duration
+.............
+The duration of your different tasks over the past N runs. This view lets
+you find outliers and quickly understand where the time is spent in your
+DAG over many runs.
+
+
+------------
+
+.. image:: img/duration.png
+
+------------
+
+Code View
+.........
+Transparency is everything. While the code for your pipeline is in source
+control, this is a quick way to get to the code that generates the DAG and
+provide yet more context.
+
+------------
+
+.. image:: img/code.png
+
+------------
+
+Task Instance Context Menu
+..........................
+From the pages seen above (tree view, graph view, gantt, ...), it is always
+possible to click on a task instance, and get to this rich context menu
+that can take you to more detailed metadata, and perform some actions.
+
+------------
+
+.. image:: img/context.png
diff --git a/1.10.1/_static/ajax-loader.gif b/1.10.1/_static/ajax-loader.gif
new file mode 100644
index 0000000..61faf8c
Binary files /dev/null and b/1.10.1/_static/ajax-loader.gif differ
diff --git a/1.10.1/_static/basic.css b/1.10.1/_static/basic.css
new file mode 100644
index 0000000..104f076
--- /dev/null
+++ b/1.10.1/_static/basic.css
@@ -0,0 +1,676 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+    word-wrap: break-word;
+    overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+    overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    float: left;
+    width: 80%;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    float: left;
+    width: 20%;
+    border-left: none;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+
+img {
+    border: 0;
+    max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable ul {
+    margin-top: 0;
+    margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+    min-width: 450px;
+    max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+    -moz-hyphens: auto;
+    -ms-hyphens: auto;
+    -webkit-hyphens: auto;
+    hyphens: auto;
+}
+
+a.headerlink {
+    visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px 7px 0 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px 7px 0 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+div.admonition dl {
+    margin-bottom: 0;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.align-center {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table caption span.caption-number {
+    font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure {
+    margin: 0.5em;
+    padding: 0.5em;
+}
+
+div.figure p.caption {
+    padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number {
+    font-style: italic;
+}
+
+div.figure p.caption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist td {
+    vertical-align: top;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd p {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+dt:target, span.highlighted {
+    background-color: #fbe54e;
+}
+
+rect.highlighted {
+    fill: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+}
+
+td.linenos pre {
+    padding: 5px 0px;
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    margin-left: 0.5em;
+}
+
+table.highlighttable td {
+    padding: 0 0.5em 0 0.5em;
+}
+
+div.code-block-caption {
+    padding: 2px 5px;
+    font-size: small;
+}
+
+div.code-block-caption code {
+    background-color: transparent;
+}
+
+div.code-block-caption + div > div.highlight > pre {
+    margin-top: 0;
+}
+
+div.code-block-caption span.caption-number {
+    padding: 0.1em 0.3em;
+    font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+    padding: 1em 1em 0;
+}
+
+div.literal-block-wrapper div.highlight {
+    margin: 0;
+}
+
+code.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+code.descclassname {
+    background-color: transparent;
+}
+
+code.xref, a code {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    background-color: transparent;
+}
+
+.viewcode-link {
+    float: right;
+}
+
+.viewcode-back {
+    float: right;
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    margin: -1px -10px;
+    padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+    vertical-align: middle;
+}
+
+div.body div.math p {
+    text-align: center;
+}
+
+span.eqno {
+    float: right;
+}
+
+span.eqno a.headerlink {
+    position: relative;
+    left: 0px;
+    z-index: 1;
+}
+
+div.math:hover a.headerlink {
+    visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+    div.document,
+    div.documentwrapper,
+    div.bodywrapper {
+        margin: 0 !important;
+        width: 100%;
+    }
+
+    div.sphinxsidebar,
+    div.related,
+    div.footer,
+    #top-link {
+        display: none;
+    }
+}
\ No newline at end of file
diff --git a/1.10.1/_static/comment-bright.png b/1.10.1/_static/comment-bright.png
new file mode 100644
index 0000000..15e27ed
Binary files /dev/null and b/1.10.1/_static/comment-bright.png differ
diff --git a/1.10.1/_static/comment-close.png b/1.10.1/_static/comment-close.png
new file mode 100644
index 0000000..4d91bcf
Binary files /dev/null and b/1.10.1/_static/comment-close.png differ
diff --git a/1.10.1/_static/comment.png b/1.10.1/_static/comment.png
new file mode 100644
index 0000000..dfbc0cb
Binary files /dev/null and b/1.10.1/_static/comment.png differ
diff --git a/1.10.1/_static/css/badge_only.css b/1.10.1/_static/css/badge_only.css
new file mode 100644
index 0000000..323730a
--- /dev/null
+++ b/1.10.1/_static/css/badge_only.css
@@ -0,0 +1 @@
+.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfon [...]
diff --git a/1.10.1/_static/css/theme.css b/1.10.1/_static/css/theme.css
new file mode 100644
index 0000000..b19dbfe
--- /dev/null
+++ b/1.10.1/_static/css/theme.css
@@ -0,0 +1,6 @@
+/* sphinx_rtd_theme version 0.4.2 | MIT license */
+/* Built 20181005 13:10 */
+*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[ [...]
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:norma [...]
diff --git a/1.10.1/_static/doctools.js b/1.10.1/_static/doctools.js
new file mode 100644
index 0000000..ffadbec
--- /dev/null
+++ b/1.10.1/_static/doctools.js
@@ -0,0 +1,315 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+    "profile", "profileEnd"];
+  window.console = {};
+  for (var i = 0; i < names.length; ++i)
+    window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+  return decodeURIComponent(x).replace(/\+/g, ' ');
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+  if (typeof s === 'undefined')
+    s = document.location.search;
+  var parts = s.substr(s.indexOf('?') + 1).split('&');
+  var result = {};
+  for (var i = 0; i < parts.length; i++) {
+    var tmp = parts[i].split('=', 2);
+    var key = jQuery.urldecode(tmp[0]);
+    var value = jQuery.urldecode(tmp[1]);
+    if (key in result)
+      result[key].push(value);
+    else
+      result[key] = [value];
+  }
+  return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+  function highlight(node, addItems) {
+    if (node.nodeType === 3) {
+      var val = node.nodeValue;
+      var pos = val.toLowerCase().indexOf(text);
+      if (pos >= 0 &&
+          !jQuery(node.parentNode).hasClass(className) &&
+          !jQuery(node.parentNode).hasClass("nohighlight")) {
+        var span;
+        var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+        if (isInSVG) {
+          span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+        } else {
+          span = document.createElement("span");
+          span.className = className;
+        }
+        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+          document.createTextNode(val.substr(pos + text.length)),
+          node.nextSibling));
+        node.nodeValue = val.substr(0, pos);
+        if (isInSVG) {
+          var bbox = span.getBBox();
+          var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+       	  rect.x.baseVal.value = bbox.x;
+          rect.y.baseVal.value = bbox.y;
+          rect.width.baseVal.value = bbox.width;
+          rect.height.baseVal.value = bbox.height;
+          rect.setAttribute('class', className);
+          var parentOfText = node.parentNode.parentNode;
+          addItems.push({
+              "parent": node.parentNode,
+              "target": rect});
+        }
+      }
+    }
+    else if (!jQuery(node).is("button, select, textarea")) {
+      jQuery.each(node.childNodes, function() {
+        highlight(this, addItems);
+      });
+    }
+  }
+  var addItems = [];
+  var result = this.each(function() {
+    highlight(this, addItems);
+  });
+  for (var i = 0; i < addItems.length; ++i) {
+    jQuery(addItems[i].parent).before(addItems[i].target);
+  }
+  return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+  jQuery.uaMatch = function(ua) {
+    ua = ua.toLowerCase();
+
+    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+      /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+      /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+      /(msie) ([\w.]+)/.exec(ua) ||
+      ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+      [];
+
+    return {
+      browser: match[ 1 ] || "",
+      version: match[ 2 ] || "0"
+    };
+  };
+  jQuery.browser = {};
+  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+  init : function() {
+    this.fixFirefoxAnchorBug();
+    this.highlightSearchWords();
+    this.initIndexTable();
+    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+      this.initOnKeyListeners();
+    }
+  },
+
+  /**
+   * i18n support
+   */
+  TRANSLATIONS : {},
+  PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+  LOCALE : 'unknown',
+
+  // gettext and ngettext don't access this so that the functions
+  // can safely bound to a different name (_ = Documentation.gettext)
+  gettext : function(string) {
+    var translated = Documentation.TRANSLATIONS[string];
+    if (typeof translated === 'undefined')
+      return string;
+    return (typeof translated === 'string') ? translated : translated[0];
+  },
+
+  ngettext : function(singular, plural, n) {
+    var translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated === 'undefined')
+      return (n == 1) ? singular : plural;
+    return translated[Documentation.PLURALEXPR(n)];
+  },
+
+  addTranslations : function(catalog) {
+    for (var key in catalog.messages)
+      this.TRANSLATIONS[key] = catalog.messages[key];
+    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+    this.LOCALE = catalog.locale;
+  },
+
+  /**
+   * add context elements like header anchor links
+   */
+  addContextElements : function() {
+    $('div[id] > :header:first').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this headline')).
+      appendTo(this);
+    });
+    $('dt[id]').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this definition')).
+      appendTo(this);
+    });
+  },
+
+  /**
+   * workaround a firefox stupidity
+   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+   */
+  fixFirefoxAnchorBug : function() {
+    if (document.location.hash && $.browser.mozilla)
+      window.setTimeout(function() {
+        document.location.href += '';
+      }, 10);
+  },
+
+  /**
+   * highlight the search words provided in the url in the text
+   */
+  highlightSearchWords : function() {
+    var params = $.getQueryParameters();
+    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+    if (terms.length) {
+      var body = $('div.body');
+      if (!body.length) {
+        body = $('body');
+      }
+      window.setTimeout(function() {
+        $.each(terms, function() {
+          body.highlightText(this.toLowerCase(), 'highlighted');
+        });
+      }, 10);
+      $('<p class="highlight-link"><a href="javascript:Documentation.' +
+        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+          .appendTo($('#searchbox'));
+    }
+  },
+
+  /**
+   * init the domain index toggle buttons
+   */
+  initIndexTable : function() {
+    var togglers = $('img.toggler').click(function() {
+      var src = $(this).attr('src');
+      var idnum = $(this).attr('id').substr(7);
+      $('tr.cg-' + idnum).toggle();
+      if (src.substr(-9) === 'minus.png')
+        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+      else
+        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+    }).css('display', '');
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+        togglers.click();
+    }
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords : function() {
+    $('#searchbox .highlight-link').fadeOut(300);
+    $('span.highlighted').removeClass('highlighted');
+  },
+
+  /**
+   * make the url absolute
+   */
+  makeURL : function(relativeURL) {
+    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+  },
+
+  /**
+   * get the current relative url
+   */
+  getCurrentURL : function() {
+    var path = document.location.pathname;
+    var parts = path.split(/\//);
+    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+      if (this === '..')
+        parts.pop();
+    });
+    var url = parts.join('/');
+    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+  },
+
+  initOnKeyListeners: function() {
+    $(document).keyup(function(event) {
+      var activeElementType = document.activeElement.tagName;
+      // don't navigate when in search box or textarea
+      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+        switch (event.keyCode) {
+          case 37: // left
+            var prevHref = $('link[rel="prev"]').prop('href');
+            if (prevHref) {
+              window.location.href = prevHref;
+              return false;
+            }
+          case 39: // right
+            var nextHref = $('link[rel="next"]').prop('href');
+            if (nextHref) {
+              window.location.href = nextHref;
+              return false;
+            }
+        }
+      }
+    });
+  }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+  Documentation.init();
+});
diff --git a/_static/documentation_options.js b/1.10.1/_static/documentation_options.js
similarity index 100%
copy from _static/documentation_options.js
copy to 1.10.1/_static/documentation_options.js
diff --git a/1.10.1/_static/down-pressed.png b/1.10.1/_static/down-pressed.png
new file mode 100644
index 0000000..5756c8c
Binary files /dev/null and b/1.10.1/_static/down-pressed.png differ
diff --git a/1.10.1/_static/down.png b/1.10.1/_static/down.png
new file mode 100644
index 0000000..1b3bdad
Binary files /dev/null and b/1.10.1/_static/down.png differ
diff --git a/1.10.1/_static/file.png b/1.10.1/_static/file.png
new file mode 100644
index 0000000..a858a41
Binary files /dev/null and b/1.10.1/_static/file.png differ
diff --git a/1.10.1/_static/fonts/Inconsolata-Bold.ttf b/1.10.1/_static/fonts/Inconsolata-Bold.ttf
new file mode 100644
index 0000000..809c1f5
Binary files /dev/null and b/1.10.1/_static/fonts/Inconsolata-Bold.ttf differ
diff --git a/1.10.1/_static/fonts/Inconsolata-Regular.ttf b/1.10.1/_static/fonts/Inconsolata-Regular.ttf
new file mode 100644
index 0000000..fc981ce
Binary files /dev/null and b/1.10.1/_static/fonts/Inconsolata-Regular.ttf differ
diff --git a/1.10.1/_static/fonts/Inconsolata.ttf b/1.10.1/_static/fonts/Inconsolata.ttf
new file mode 100644
index 0000000..4b8a36d
Binary files /dev/null and b/1.10.1/_static/fonts/Inconsolata.ttf differ
diff --git a/1.10.1/_static/fonts/Lato-Bold.ttf b/1.10.1/_static/fonts/Lato-Bold.ttf
new file mode 100644
index 0000000..1d23c70
Binary files /dev/null and b/1.10.1/_static/fonts/Lato-Bold.ttf differ
diff --git a/1.10.1/_static/fonts/Lato-Regular.ttf b/1.10.1/_static/fonts/Lato-Regular.ttf
new file mode 100644
index 0000000..0f3d0f8
Binary files /dev/null and b/1.10.1/_static/fonts/Lato-Regular.ttf differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.eot b/1.10.1/_static/fonts/Lato/lato-bold.eot
new file mode 100644
index 0000000..3361183
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bold.eot differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.ttf b/1.10.1/_static/fonts/Lato/lato-bold.ttf
new file mode 100644
index 0000000..29f691d
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bold.ttf differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.woff b/1.10.1/_static/fonts/Lato/lato-bold.woff
new file mode 100644
index 0000000..c6dff51
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bold.woff differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bold.woff2 b/1.10.1/_static/fonts/Lato/lato-bold.woff2
new file mode 100644
index 0000000..bb19504
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bold.woff2 differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.eot b/1.10.1/_static/fonts/Lato/lato-bolditalic.eot
new file mode 100644
index 0000000..3d41549
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bolditalic.eot differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf b/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf
new file mode 100644
index 0000000..f402040
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bolditalic.ttf differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff
new file mode 100644
index 0000000..88ad05b
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff differ
diff --git a/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2 b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2
new file mode 100644
index 0000000..c4e3d80
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-bolditalic.woff2 differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.eot b/1.10.1/_static/fonts/Lato/lato-italic.eot
new file mode 100644
index 0000000..3f82642
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-italic.eot differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.ttf b/1.10.1/_static/fonts/Lato/lato-italic.ttf
new file mode 100644
index 0000000..b4bfc9b
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-italic.ttf differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.woff b/1.10.1/_static/fonts/Lato/lato-italic.woff
new file mode 100644
index 0000000..76114bc
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-italic.woff differ
diff --git a/1.10.1/_static/fonts/Lato/lato-italic.woff2 b/1.10.1/_static/fonts/Lato/lato-italic.woff2
new file mode 100644
index 0000000..3404f37
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-italic.woff2 differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.eot b/1.10.1/_static/fonts/Lato/lato-regular.eot
new file mode 100644
index 0000000..11e3f2a
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-regular.eot differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.ttf b/1.10.1/_static/fonts/Lato/lato-regular.ttf
new file mode 100644
index 0000000..74decd9
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-regular.ttf differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.woff b/1.10.1/_static/fonts/Lato/lato-regular.woff
new file mode 100644
index 0000000..ae1307f
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-regular.woff differ
diff --git a/1.10.1/_static/fonts/Lato/lato-regular.woff2 b/1.10.1/_static/fonts/Lato/lato-regular.woff2
new file mode 100644
index 0000000..3bf9843
Binary files /dev/null and b/1.10.1/_static/fonts/Lato/lato-regular.woff2 differ
diff --git a/1.10.1/_static/fonts/RobotoSlab-Bold.ttf b/1.10.1/_static/fonts/RobotoSlab-Bold.ttf
new file mode 100644
index 0000000..df5d1df
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab-Bold.ttf differ
diff --git a/1.10.1/_static/fonts/RobotoSlab-Regular.ttf b/1.10.1/_static/fonts/RobotoSlab-Regular.ttf
new file mode 100644
index 0000000..eb52a79
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab-Regular.ttf differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
new file mode 100644
index 0000000..79dc8ef
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
new file mode 100644
index 0000000..df5d1df
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
new file mode 100644
index 0000000..6cb6000
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
new file mode 100644
index 0000000..7059e23
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
new file mode 100644
index 0000000..2f7ca78
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
new file mode 100644
index 0000000..eb52a79
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
new file mode 100644
index 0000000..f815f63
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ
diff --git a/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
new file mode 100644
index 0000000..f2c76e5
Binary files /dev/null and b/1.10.1/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.eot b/1.10.1/_static/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/1.10.1/_static/fonts/fontawesome-webfont.eot differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.svg b/1.10.1/_static/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/1.10.1/_static/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+  <font-face 
+    font-family="FontAwesome"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1792"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="1536"
+    descent="-256"
+    bbox="-1.02083 -256.962 2304.6 1537.02"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-F500"
+  />
+<missing-glyph horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+    <glyph glyph-name="music" unicode="&#xf001;" 
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+    <glyph glyph-name="off" unicode="&#xf011;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="cog" unicode="&#xf013;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+    <glyph glyph-name="file_alt" unicode="&#xf016;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+    <glyph glyph-name="time" unicode="&#xf017;" 
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+    <glyph glyph-name="download" unicode="&#xf01a;" 
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="upload" unicode="&#xf01b;" 
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="inbox" unicode="&#xf01c;" 
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="repeat" unicode="&#xf01e;" 
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+    <glyph glyph-name="refresh" unicode="&#xf021;" 
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+    <glyph glyph-name="tag" unicode="&#xf02b;" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+    <glyph glyph-name="text_width" unicode="&#xf035;" 
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="pencil" unicode="&#xf040;" 
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+    <glyph glyph-name="adjust" unicode="&#xf042;" 
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+    <glyph glyph-name="pause" unicode="&#xf04c;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="stop" unicode="&#xf04d;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="question_sign" unicode="&#xf059;" 
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+    <glyph glyph-name="resize_full" unicode="&#xf065;" 
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="resize_small" unicode="&#xf066;" 
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+    <glyph glyph-name="gift" unicode="&#xf06b;" 
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="magnet" unicode="&#xf076;" 
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="signin" unicode="&#xf090;" 
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="github_sign" unicode="&#xf092;" 
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+    <glyph glyph-name="lemon" unicode="&#xf094;" 
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+    <glyph glyph-name="github" unicode="&#xf09b;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="globe" unicode="&#xf0ac;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+    <glyph glyph-name="superscript" unicode="&#xf12b;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+    <glyph glyph-name="subscript" unicode="&#xf12c;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" 
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" 
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" 
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+    <glyph glyph-name="bullseye" unicode="&#xf140;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="_303" unicode="&#xf143;" 
+d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="play_sign" unicode="&#xf144;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_312" unicode="&#xf14c;" 
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="share_sign" unicode="&#xf14d;" 
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="compass" unicode="&#xf14e;" 
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="collapse" unicode="&#xf150;" 
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="collapse_top" unicode="&#xf151;" 
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_317" unicode="&#xf152;" 
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" 
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
+d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
+q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
+d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
+t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
+q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
+d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
+l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
+t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+    <glyph glyph-name="file" unicode="&#xf15b;" 
+d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+    <glyph glyph-name="file_text" unicode="&#xf15c;" 
+d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
+d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
+v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
+l230 -662h70z" />
+    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
+d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
+v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
+v119h121z" />
+    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
+d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
+q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
+d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
+q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
+d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
+zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
+t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
+d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
+t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
+q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
+d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
+q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
+t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
+d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
+t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
+t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
+d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
+q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
+q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
+q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
+q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
+h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube" unicode="&#xf167;" 
+d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
+q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
+q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
+q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
+q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
+d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
+q25 45 64 45h241q22 0 31 -15z" />
+    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
+d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
+l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
+d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
+l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
+q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
+    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
+d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
+d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+    <glyph glyph-name="instagram" unicode="&#xf16d;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
+q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
+t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
+q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
+    <glyph glyph-name="flickr" unicode="&#xf16e;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
+t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+    <glyph glyph-name="adn" unicode="&#xf170;" 
+d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" 
+d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
+t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
+t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
+t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
+d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
+t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
+M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
+d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
+q78 2 134 29z" />
+    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
+d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
+d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
+d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
+d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
+d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
+d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
+q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
+d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
+d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
+t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
+h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+    <glyph glyph-name="linux" unicode="&#xf17c;" 
+d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
+M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
+q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
+q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
+t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
+q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
+q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
+q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
+q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
+t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
+t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
+q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
+t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
+q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
+t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
+t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+    <glyph glyph-name="dribble" unicode="&#xf17d;" 
+d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
+t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
+q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
+t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="skype" unicode="&#xf17e;" 
+d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
+t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
+q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
+q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
+d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
+M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
+l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+    <glyph glyph-name="trello" unicode="&#xf181;" 
+d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
+q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
+d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
+q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
+d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
+M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="gittip" unicode="&#xf184;" 
+d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" 
+d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
+l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
+q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+    <glyph glyph-name="_366" unicode="&#xf186;" 
+d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
+t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
+d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
+q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
+d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
+q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
+t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
+d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
+t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
+q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
+q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
+q39 5 64 -2.5t31 -16.5z" />
+    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
+d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
+q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
+q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
+q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
+M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+    <glyph glyph-name="renren" unicode="&#xf18b;" 
+d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
+q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
+d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
+t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
+t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
+t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
+d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
+" />
+    <glyph glyph-name="_374" unicode="&#xf18e;" 
+d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
+d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_376" unicode="&#xf191;" 
+d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
+t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" 
+d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
+q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
+d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
+q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" 
+d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
+q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
+q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
+d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
+t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
+q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
+d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
+q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
+t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+    <glyph glyph-name="_384" unicode="&#xf199;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
+q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
+t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
+d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
+t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
+t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
+t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
+t273 -182.5t331.5 -68z" />
+    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
+d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
+d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
+q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
+d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
+q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+    <glyph glyph-name="_389" unicode="&#xf19e;" 
+d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
+q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
+d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
+t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
+d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
+t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
+q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
+t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_392" unicode="&#xf1a2;" 
+d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
+q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
+q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_393" unicode="&#xf1a3;" 
+d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
+v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
+t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
+d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
+v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+    <glyph glyph-name="_395" unicode="&#xf1a5;" 
+d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
+d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
+v-369h123z" />
+    <glyph glyph-name="_397" unicode="&#xf1a7;" 
+d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
+v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
+d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
+q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
+q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
+q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
+t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
+q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
+t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
+t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+    <glyph glyph-name="_399" unicode="&#xf1a9;" 
+d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
+q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
+q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
+t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
+q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+    <glyph glyph-name="_400" unicode="&#xf1aa;" 
+d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
+M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
+t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
+q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
+t135.5 51q85 0 145 -60.5t60 -145.5z" />
+    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
+d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
+q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
+q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
+M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
+q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
+q20 0 20 -21v-418z" />
+    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
+d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
+l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
+t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
+q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
+q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+    <glyph glyph-name="_403" unicode="&#xf1ad;" 
+d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
+t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
+t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
+t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
+d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
+q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
+d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
+q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
+q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
+t100.5 134t141.5 55.5z" />
+    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
+d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
+d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
+" />
+    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
+d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
+t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
+v-400l434 -186q36 -16 57 -48t21 -70z" />
+    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
+d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
+q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
+q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+    <glyph glyph-name="_410" unicode="&#xf1b5;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
+t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
+t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
+d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
+q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
+q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+    <glyph glyph-name="_412" unicode="&#xf1b7;" 
+d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
+q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
+q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
+" />
+    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
+d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
+l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
+t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
+q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
+d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
+q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
+l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
+d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
+t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
+M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+    <glyph glyph-name="_416" unicode="&#xf1bb;" 
+d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
+q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+    <glyph glyph-name="_417" unicode="&#xf1bc;" 
+d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
+q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
+q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
+d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
+    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
+d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
+q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
+q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
+l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
+q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
+q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
+q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
+d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
+t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
+t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
+q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
+q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+    <glyph glyph-name="_422" unicode="&#xf1c2;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
+t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
+    <glyph glyph-name="_423" unicode="&#xf1c3;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
+h-290v-107h68l189 -272l-194 -283h-68z" />
+    <glyph glyph-name="_424" unicode="&#xf1c4;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+    <glyph glyph-name="_425" unicode="&#xf1c5;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+    <glyph glyph-name="_426" unicode="&#xf1c6;" 
+d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
+v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
+q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+    <glyph glyph-name="_427" unicode="&#xf1c7;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
+q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+    <glyph glyph-name="_428" unicode="&#xf1c8;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+    <glyph glyph-name="_429" unicode="&#xf1c9;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
+l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+    <glyph glyph-name="_430" unicode="&#xf1ca;" 
+d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
+q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
+d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
+q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
+d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
+q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
+t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
+    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
+q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
+t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
+d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
+t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
+    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
+d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
+t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
+t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
+q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
+d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
+l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
+q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
+q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
+t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
+d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
+q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
+q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
+q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
+d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
+q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
+q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
+v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+    <glyph glyph-name="_439" unicode="&#xf1d4;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
+d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
+t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
+t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
+d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
+q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
+t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
+t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
+d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
+q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
+q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
+q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
+l863 639l-478 -797z" />
+    <glyph glyph-name="_445" unicode="&#xf1da;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
+t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_446" unicode="&#xf1db;" 
+d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
+d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
+t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
+t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
+q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
+q0 -26 -12 -48t-36 -22z" />
+    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
+d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
+q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+    <glyph glyph-name="_449" unicode="&#xf1de;" 
+d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
+q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
+d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
+t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+    <glyph glyph-name="_451" unicode="&#xf1e1;" 
+d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
+t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
+d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
+t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
+q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
+t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
+d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
+l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
+d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
+t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
+d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
+M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
+d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
+l401 400q38 37 91 37t90 -37z" />
+    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
+d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
+t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
+M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
+t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" 
+d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+    <glyph glyph-name="_459" unicode="&#xf1e9;" 
+d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
+q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
+t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
+q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" 
+d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
+t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" 
+d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
+q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
+M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" 
+d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
+t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
+h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_463" unicode="&#xf1ed;" 
+d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
+q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
+q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
+    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" 
+d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
+q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
+    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" 
+d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
+q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
+q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" 
+d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
+q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
+M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
+h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
+q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
+q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
+q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
+q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
+q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
+h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
+t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" 
+d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
+q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
+v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
+q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
+t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" 
+d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
+M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
+l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
+v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
+q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
+q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
+t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
+h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
+t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" 
+d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
+t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
+q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
+t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
+l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
+q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" 
+d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
+q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
+q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
+q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
+q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" 
+d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
+l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
+l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" 
+d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
+q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
+q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" 
+d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
+q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_474" unicode="&#xf1f9;" 
+d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
+t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
+t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_475" unicode="&#xf1fa;" 
+d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
+q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
+t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
+t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" 
+d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
+t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" 
+d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
+t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" 
+d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
+t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
+t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
+h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
+q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" 
+d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" 
+d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
+q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
+t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
+q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+    <glyph glyph-name="_483" unicode="&#xf203;" 
+d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
+q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
+q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048" 
+d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
+t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
+t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" 
+d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
+t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
+    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" 
+d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
+q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
+q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
+q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="_487" unicode="&#xf207;" 
+d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
+h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_612" unicode="&#xf28c;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.ttf b/1.10.1/_static/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
Binary files /dev/null and b/1.10.1/_static/fonts/fontawesome-webfont.ttf differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.woff b/1.10.1/_static/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
Binary files /dev/null and b/1.10.1/_static/fonts/fontawesome-webfont.woff differ
diff --git a/1.10.1/_static/fonts/fontawesome-webfont.woff2 b/1.10.1/_static/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
Binary files /dev/null and b/1.10.1/_static/fonts/fontawesome-webfont.woff2 differ
diff --git a/1.10.1/_static/jquery-3.2.1.js b/1.10.1/_static/jquery-3.2.1.js
new file mode 100644
index 0000000..d2d8ca4
--- /dev/null
+++ b/1.10.1/_static/jquery-3.2.1.js
@@ -0,0 +1,10253 @@
+/*!
+ * jQuery JavaScript Library v3.2.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T18:59Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+	function DOMEval( code, doc ) {
+		doc = doc || document;
+
+		var script = doc.createElement( "script" );
+
+		script.text = code;
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.2.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return letter.toUpperCase();
+	};
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isFunction: function( obj ) {
+		return jQuery.type( obj ) === "function";
+	},
+
+	isWindow: function( obj ) {
+		return obj != null && obj === obj.window;
+	},
+
+	isNumeric: function( obj ) {
+
+		// As of jQuery 3.0, isNumeric is limited to
+		// strings and numbers (primitives or objects)
+		// that can be coerced to finite numbers (gh-2662)
+		var type = jQuery.type( obj );
+		return ( type === "number" || type === "string" ) &&
+
+			// parseFloat NaNs numeric-cast false positives ("")
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+			// subtraction forces infinities to NaN
+			!isNaN( obj - parseFloat( obj ) );
+	},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	type: function( obj ) {
+		if ( obj == null ) {
+			return obj + "";
+		}
+
+		// Support: Android <=2.3 only (functionish RegExp)
+		return typeof obj === "object" || typeof obj === "function" ?
+			class2type[ toString.call( obj ) ] || "object" :
+			typeof obj;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Support: IE <=9 - 11, Edge 12 - 13
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	now: Date.now,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = jQuery.type( obj );
+
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; i < len; i++ ) {
+			if ( list[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rwhitespace = new RegExp( whitespace + "+", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+	rpseudo = new RegExp( pseudos ),
+	ridentifier = new RegExp( "^" + identifier + "$" ),
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + identifier + ")" ),
+		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+	},
+
+	rinputs = /^(?:input|select|textarea|button)$/i,
+	rheader = /^h\d$/i,
+
+	rnative = /^[^{]+\{\s*\[native \w/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( support.getById ) {
+		Expr.filter["ID"] = function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				return elem.getAttribute("id") === attrId;
+			};
+		};
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		val :
+		support.attributes || !documentIsHTML ?
+			elem.getAttribute( name ) :
+			(val = elem.getAttributeNode(name)) && val.specified ?
+				val.value :
+				null;
+};
+
+Sizzle.escape = function( sel ) {
+	return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				function( elem ) {
+					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+				};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ className + " " ];
+
+			return pattern ||
+				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+				classCache( className, function( elem ) {
+					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.slice( -check.length ) === check :
+					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				function( elem ) {
+					return !!elem.parentNode;
+				} :
+
+				function( elem, context, xml ) {
+					var cache, uniqueCache, outerCache, node, nodeIndex, start,
+						dir = simple !== forward ? "nextSibling" : "previousSibling",
+						parent = elem.parentNode,
+						name = ofType && elem.nodeName.toLowerCase(),
+						useCache = !xml && !ofType,
+						diff = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							uniqueCache = outerCache[ node.uniqueID ] ||
+								(outerCache[ node.uniqueID ] = {});
+
+							cache = uniqueCache[ type ] || [];
+							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+							diff = nodeIndex && cache[ 2 ];
+							node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"target": function( elem ) {
+			var hash = window.location && window.location.hash;
+			return hash && hash.slice( 1 ) === elem.id;
+		},
+
+		"root": function( elem ) {
+			return elem === docElem;
+		},
+
+		"focus": function( elem ) {
+			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"first": createPositionalPseudo(function() {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+	var matched, match, tokens, type,
+		soFar, groups, preFilters,
+		cached = tokenCache[ selector + " " ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				(match = preFilters[ type ]( match ))) ) {
+				matched = match.shift();
+				tokens.push({
+					value: matched,
+					type: type,
+					matches: match
+				});
+				soFar = soFar.slice( matched.length );
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; i < len; i++ ) {
+		selector += tokens[i].value;
+	}
+	return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		skip = combinator.next,
+		key = skip || dir,
+		checkNonElements = base && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+					).replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && toSelector( tokens )
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, outermost ) {
+			var elem, j, matcher,
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				setMatched = [],
+				contextBackup = outermostContext,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Simple selector that can be filtered directly, removing non-Elements
+	if ( risSimple.test( qualifier ) ) {
+		return jQuery.filter( qualifier, elements, not );
+	}
+
+	// Complex selector, compare the two sets, removing non-Elements
+	qualifier = jQuery.filter( qualifier, elements );
+	return jQuery.grep( elements, function( elem ) {
+		return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+	} );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( i = 0; i < len; i++ ) {
+			jQuery.find( selector, self[ i ], ret );
+		}
+
+		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+	},
+	filter: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( jQuery.isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
... 64968 lines suppressed ...


[airflow-site] 07/30: Latest docs version as of 1.8.x

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 5e5740122ed33a22a30047e75e6ca4c7da3961b4
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Mon Mar 6 08:43:25 2017 -0800

    Latest docs version as of 1.8.x
---
 _images/latest_only_with_trigger.png |   Bin 0 -> 40034 bytes
 _sources/api.rst.txt                 |    43 +
 _sources/cli.rst.txt                 |    11 +
 _sources/code.rst.txt                |   255 +
 _sources/concepts.rst.txt            |   833 +++
 _sources/configuration.rst.txt       |   284 +
 _sources/faq.rst.txt                 |   147 +
 _sources/index.rst.txt               |    89 +
 _sources/installation.rst.txt        |    90 +
 _sources/integration.rst.txt         |   246 +
 _sources/license.rst.txt             |   211 +
 _sources/plugins.rst.txt             |   144 +
 _sources/profiling.rst.txt           |    39 +
 _sources/project.rst.txt             |    49 +
 _sources/scheduler.rst.txt           |   153 +
 _sources/security.rst.txt            |   334 ++
 _sources/start.rst.txt               |    49 +
 _sources/tutorial.rst.txt            |   429 ++
 _sources/ui.rst.txt                  |   102 +
 _static/fonts/Inconsolata.ttf        |   Bin 0 -> 63184 bytes
 _static/jquery-3.1.0.js              | 10074 +++++++++++++++++++++++++++++++++
 api.html                             |   279 +
 integration.html                     |   424 ++
 23 files changed, 14285 insertions(+)

diff --git a/_images/latest_only_with_trigger.png b/_images/latest_only_with_trigger.png
new file mode 100644
index 0000000..629adfa
Binary files /dev/null and b/_images/latest_only_with_trigger.png differ
diff --git a/_sources/api.rst.txt b/_sources/api.rst.txt
new file mode 100644
index 0000000..eef671c
--- /dev/null
+++ b/_sources/api.rst.txt
@@ -0,0 +1,43 @@
+Experimental Rest API
+=====================
+
+Airflow exposes an experimental Rest API. It is available through the webserver. Endpoints are
+available at /api/experimental/. Please note that we expect the endpoint definitions to change.
+
+Endpoints
+---------
+
+This is a place holder until the swagger definitions are active
+
+* /api/experimental/dags/<DAG_ID>/tasks/<TASK_ID> returns info for a task (GET).
+* /api/experimental/dags/<DAG_ID>/dag_runs creates a dag_run for a given dag id (POST).
+
+CLI
+-----
+
+For some functions the cli can use the API. To configure the CLI to use the API when available
+configure as follows:
+
+.. code-block:: bash
+
+    [cli]
+    api_client = airflow.api.client.json_client
+    endpoint_url = http://<WEBSERVER>:<PORT>
+
+
+Authentication
+--------------
+
+Only Kerberos authentication is currently supported for the API. To enable this set the following
+in the configuration:
+
+.. code-block:: bash
+
+    [api]
+    auth_backend = airflow.api.auth.backend.default
+
+    [kerberos]
+    keytab = <KEYTAB>
+
+The Kerberos service is configured as `airflow/fully.qualified.domainname@REALM`. Make sure this
+principal exists in the keytab file.
diff --git a/_sources/cli.rst.txt b/_sources/cli.rst.txt
new file mode 100644
index 0000000..f05cbfb
--- /dev/null
+++ b/_sources/cli.rst.txt
@@ -0,0 +1,11 @@
+Command Line Interface
+======================
+
+Airflow has a very rich command line interface that allows for
+many types of operation on a DAG, starting services, and supporting
+development and testing.
+
+.. argparse::
+   :module: airflow.bin.cli
+   :func: get_parser
+   :prog: airflow
diff --git a/_sources/code.rst.txt b/_sources/code.rst.txt
new file mode 100644
index 0000000..fabe6db
--- /dev/null
+++ b/_sources/code.rst.txt
@@ -0,0 +1,255 @@
+API Reference
+=============
+
+Operators
+---------
+Operators allow for generation of certain types of tasks that become nodes in
+the DAG when instantiated. All operators derive from BaseOperator and
+inherit many attributes and methods that way. Refer to the BaseOperator
+documentation for more details.
+
+There are 3 main types of operators:
+
+- Operators that performs an **action**, or tell another system to
+  perform an action
+- **Transfer** operators move data from one system to another
+- **Sensors** are a certain type of operator that will keep running until a
+  certain criterion is met. Examples include a specific file landing in HDFS or
+  S3, a partition appearing in Hive, or a specific time of the day. Sensors
+  are derived from ``BaseSensorOperator`` and run a poke
+  method at a specified ``poke_interval`` until it returns ``True``.
+
+BaseOperator
+''''''''''''
+All operators are derived from ``BaseOperator`` and acquire much
+functionality through inheritance. Since this is the core of the engine,
+it's worth taking the time to understand the parameters of ``BaseOperator``
+to understand the primitive features that can be leveraged in your
+DAGs.
+
+
+.. autoclass:: airflow.models.BaseOperator
+
+
+BaseSensorOperator
+'''''''''''''''''''
+All sensors are derived from ``BaseSensorOperator``. All sensors inherit
+the ``timeout`` and ``poke_interval`` on top of the ``BaseOperator``
+attributes.
+
+.. autoclass:: airflow.operators.sensors.BaseSensorOperator
+
+
+Operator API
+''''''''''''
+
+.. automodule:: airflow.operators
+    :show-inheritance:
+    :members:
+        BashOperator,
+        BranchPythonOperator,
+        TriggerDagRunOperator,
+        DummyOperator,
+        EmailOperator,
+        ExternalTaskSensor,
+        GenericTransfer,
+        HdfsSensor,
+        Hive2SambaOperator,
+        HiveOperator,
+        HivePartitionSensor,
+        HiveToDruidTransfer,
+        HiveToMySqlTransfer,
+        SimpleHttpOperator,
+        HttpSensor,
+        MetastorePartitionSensor,
+        MsSqlOperator,
+        MsSqlToHiveTransfer,
+        MySqlOperator,
+        MySqlToHiveTransfer,
+        NamedHivePartitionSensor,
+        PostgresOperator,
+        PrestoCheckOperator,
+        PrestoIntervalCheckOperator,
+        PrestoValueCheckOperator,
+        PythonOperator,
+        S3KeySensor,
+        S3ToHiveTransfer,
+        ShortCircuitOperator,
+        SlackAPIOperator,
+        SlackAPIPostOperator,
+        SqlSensor,
+        SubDagOperator,
+        TimeSensor,
+        WebHdfsSensor
+
+.. autoclass:: airflow.operators.docker_operator.DockerOperator
+
+
+Community-contributed Operators
+'''''''''''''''''''''''''''''''
+
+.. automodule:: airflow.contrib.operators
+    :show-inheritance:
+    :members:
+        SSHExecuteOperator,
+        VerticaOperator,
+        VerticaToHiveTransfer
+
+.. autoclass:: airflow.contrib.operators.bigquery_operator.BigQueryOperator
+.. autoclass:: airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
+.. autoclass:: airflow.contrib.operators.ecs_operator.ECSOperator
+.. autoclass:: airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator
+.. autoclass:: airflow.contrib.operators.QuboleOperator
+.. autoclass:: airflow.contrib.operators.hipchat_operator.HipChatAPIOperator
+.. autoclass:: airflow.contrib.operators.hipchat_operator.HipChatAPISendRoomNotificationOperator
+
+.. _macros:
+
+Macros
+---------
+Here's a list of variables and macros that can be used in templates
+
+
+Default Variables
+'''''''''''''''''
+The Airflow engine passes a few variables by default that are accessible
+in all templates
+
+=================================   ====================================
+Variable                            Description
+=================================   ====================================
+``{{ ds }}``                        the execution date as ``YYYY-MM-DD``
+``{{ ds_nodash }}``                 the execution date as ``YYYYMMDD``
+``{{ yesterday_ds }}``              yesterday's date as ``YYYY-MM-DD``
+``{{ yesterday_ds_nodash }}``       yesterday's date as ``YYYYMMDD``
+``{{ tomorrow_ds }}``               tomorrow's date as ``YYYY-MM-DD``
+``{{ tomorrow_ds_nodash }}``        tomorrow's date as ``YYYYMMDD``
+``{{ ts }}``                        same as ``execution_date.isoformat()``
+``{{ ts_nodash }}``                 same as ``ts`` without ``-`` and ``:``
+``{{ execution_date }}``            the execution_date, (datetime.datetime)
+``{{ prev_execution_date }}``       the previous execution date (if available) (datetime.datetime)
+``{{ next_execution_date }}``       the next execution date (datetime.datetime)
+``{{ dag }}``                       the DAG object
+``{{ task }}``                      the Task object
+``{{ macros }}``                    a reference to the macros package, described below
+``{{ task_instance }}``             the task_instance object
+``{{ end_date }}``                  same as ``{{ ds }}``
+``{{ latest_date }}``               same as ``{{ ds }}``
+``{{ ti }}``                        same as ``{{ task_instance }}``
+``{{ params }}``                    a reference to the user-defined params dictionary
+``{{ var.value.my_var }}``          global defined variables represented as a dictionary
+``{{ var.json.my_var.path }}``      global defined variables represented as a dictionary
+                                    with deserialized JSON object, append the path to the
+                                    key within the JSON object
+``{{ task_instance_key_str }}``     a unique, human-readable key to the task instance
+                                    formatted ``{dag_id}_{task_id}_{ds}``
+``conf``                            the full configuration object located at
+                                    ``airflow.configuration.conf`` which
+                                    represents the content of your
+                                    ``airflow.cfg``
+``run_id``                          the ``run_id`` of the current DAG run
+``dag_run``                         a reference to the DagRun object
+``test_mode``                       whether the task instance was called using
+                                    the CLI's test subcommand
+=================================   ====================================
+
+Note that you can access the object's attributes and methods with simple
+dot notation. Here are some examples of what is possible:
+``{{ task.owner }}``, ``{{ task.task_id }}``, ``{{ ti.hostname }}``, ...
+Refer to the models documentation for more information on the objects'
+attributes and methods.
+
+The ``var`` template variable allows you to access variables defined in Airflow's
+UI. You can access them as either plain-text or JSON. If you use JSON, you are
+also able to walk nested structures, such as dictionaries like:
+``{{ var.json.my_dict_var.key1 }}``
+
+Macros
+''''''
+Macros are a way to expose objects to your templates and live under the
+``macros`` namespace in your templates.
+
+A few commonly used libraries and methods are made available.
+
+
+=================================   ====================================
+Variable                            Description
+=================================   ====================================
+``macros.datetime``                 The standard lib's ``datetime.datetime``
+``macros.timedelta``                 The standard lib's ``datetime.timedelta``
+``macros.dateutil``                 A reference to the ``dateutil`` package
+``macros.time``                     The standard lib's ``time``
+``macros.uuid``                     The standard lib's ``uuid``
+``macros.random``                   The standard lib's ``random``
+=================================   ====================================
+
+
+Some airflow specific macros are also defined:
+
+.. automodule:: airflow.macros
+    :show-inheritance:
+    :members:
+
+.. automodule:: airflow.macros.hive
+    :show-inheritance:
+    :members:
+
+.. _models_ref:
+
+Models
+------
+
+Models are built on top of the SQLAlchemy ORM Base class, and instances are
+persisted in the database.
+
+
+.. automodule:: airflow.models
+    :show-inheritance:
+    :members: DAG, BaseOperator, TaskInstance, DagBag, Connection
+
+Hooks
+-----
+.. automodule:: airflow.hooks
+    :show-inheritance:
+    :members:
+        DbApiHook,
+        HiveCliHook,
+        HiveMetastoreHook,
+        HiveServer2Hook,
+        HttpHook,
+        DruidHook,
+        MsSqlHook,
+        MySqlHook,
+        PostgresHook,
+        PrestoHook,
+        S3Hook,
+        SqliteHook,
+        WebHDFSHook
+
+Community contributed hooks
+'''''''''''''''''''''''''''
+
+.. automodule:: airflow.contrib.hooks
+    :show-inheritance:
+    :members:
+        BigQueryHook,
+        GoogleCloudStorageHook,
+        VerticaHook,
+        FTPHook,
+        SSHHook,
+        CloudantHook
+
+.. autoclass:: airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook
+
+Executors
+---------
+Executors are the mechanism by which task instances get run.
+
+.. automodule:: airflow.executors
+    :show-inheritance:
+    :members: LocalExecutor, CeleryExecutor, SequentialExecutor
+
+Community-contributed executors
+'''''''''''''''''''''''''''''''
+
+.. autoclass:: airflow.contrib.executors.mesos_executor.MesosExecutor
diff --git a/_sources/concepts.rst.txt b/_sources/concepts.rst.txt
new file mode 100644
index 0000000..48c15a4
--- /dev/null
+++ b/_sources/concepts.rst.txt
@@ -0,0 +1,833 @@
+Concepts
+########
+
+The Airflow Platform is a tool for describing, executing, and monitoring
+workflows.
+
+Core Ideas
+''''''''''
+
+DAGs
+====
+
+In Airflow, a ``DAG`` -- or a Directed Acyclic Graph -- is a collection of all
+the tasks you want to run, organized in a way that reflects their relationships
+and dependencies.
+
+For example, a simple DAG could consist of three tasks: A, B, and C. It could
+say that A has to run successfully before B can run, but C can run anytime. It
+could say that task A times out after 5 minutes, and B can be restarted up to 5
+times in case it fails. It might also say that the workflow will run every night
+at 10pm, but shouldn't start until a certain date.
+
+In this way, a DAG describes *how* you want to carry out your workflow; but
+notice that we haven't said anything about *what* we actually want to do! A, B,
+and C could be anything. Maybe A prepares data for B to analyze while C sends an
+email. Or perhaps A monitors your location so B can open your garage door while
+C turns on your house lights. The important thing is that the DAG isn't
+concerned with what its constituent tasks do; its job is to make sure that
+whatever they do happens at the right time, or in the right order, or with the
+right handling of any unexpected issues.
+
+DAGs are defined in standard Python files that are placed in Airflow's
+``DAG_FOLDER``. Airflow will execute the code in each file to dynamically build
+the ``DAG`` objects. You can have as many DAGs as you want, each describing an
+arbitrary number of tasks. In general, each one should correspond to a single
+logical workflow.
+
+Scope
+-----
+
+Airflow will load any ``DAG`` object it can import from a DAGfile. Critically,
+that means the DAG must appear in ``globals()``. Consider the following two
+DAGs. Only ``dag_1`` will be loaded; the other one only appears in a local
+scope.
+
+.. code:: python
+
+    dag_1 = DAG('this_dag_will_be_discovered')
+
+    def my_function()
+        dag_2 = DAG('but_this_dag_will_not')
+
+    my_function()
+
+Sometimes this can be put to good use. For example, a common pattern with
+``SubDagOperator`` is to define the subdag inside a function so that Airflow
+doesn't try to load it as a standalone DAG.
+
+Default Arguments
+-----------------
+
+If a dictionary of ``default_args`` is passed to a DAG, it will apply them to
+any of its operators. This makes it easy to apply a common parameter to many operators without having to type it many times.
+
+.. code:: python
+
+    default_args=dict(
+        start_date=datetime(2016, 1, 1),
+        owner='Airflow')
+
+    dag = DAG('my_dag', default_args=default_args)
+    op = DummyOperator(task_id='dummy', dag=dag)
+    print(op.owner) # Airflow
+
+Context Manager
+---------------
+
+*Added in Airflow 1.8*
+
+DAGs can be used as context managers to automatically assign new operators to that DAG.
+
+.. code:: python
+
+    with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
+        op = DummyOperator('op')
+
+    op.dag is dag # True
+
+Operators
+=========
+
+While DAGs describe *how* to run a workflow, ``Operators`` determine what
+actually gets done.
+
+An operator describes a single task in a workflow. Operators are usually (but
+not always) atomic, meaning they can stand on their own and don't need to share
+resources with any other operators. The DAG will make sure that operators run in
+the correct certain order; other than those dependencies, operators generally
+run independently. In fact, they may run on two completely different machines.
+
+This is a subtle but very important point: in general, if two operators need to
+share information, like a filename or small amount of data, you should consider
+combining them into a single operator. If it absolutely can't be avoided,
+Airflow does have a feature for operator cross-communication called XCom that is
+described elsewhere in this document.
+
+Airflow provides operators for many common tasks, including:
+
+- ``BashOperator`` - executes a bash command
+- ``PythonOperator`` - calls an arbitrary Python function
+- ``EmailOperator`` - sends an email
+- ``HTTPOperator`` - sends an HTTP request
+- ``SqlOperator`` - executes a SQL command
+- ``Sensor`` - waits for a certain time, file, database row, S3 key, etc...
+
+
+In addition to these basic building blocks, there are many more specific
+operators: ``DockerOperator``, ``HiveOperator``, ``S3FileTransferOperator``,
+``PrestoToMysqlOperator``, ``SlackOperator``... you get the idea!
+
+The ``airflow/contrib/`` directory contains yet more operators built by the
+community. These operators aren't always as complete or well-tested as those in
+the main distribution, but allow users to more easily add new functionality to
+the platform.
+
+Operators are only loaded by Airflow if they are assigned to a DAG.
+
+DAG Assignment
+--------------
+
+*Added in Airflow 1.8*
+
+Operators do not have to be assigned to DAGs immediately (previously ``dag`` was
+a required argument). However, once an operator is assigned to a DAG, it can not
+be transferred or unassigned. DAG assignment can be done explicitly when the
+operator is created, through deferred assignment, or even inferred from other
+operators.
+
+.. code:: python
+
+    dag = DAG('my_dag', start_date=datetime(2016, 1, 1))
+
+    # sets the DAG explicitly
+    explicit_op = DummyOperator(task_id='op1', dag=dag)
+
+    # deferred DAG assignment
+    deferred_op = DummyOperator(task_id='op2')
+    deferred_op.dag = dag
+
+    # inferred DAG assignment (linked operators must be in the same DAG)
+    inferred_op = DummyOperator(task_id='op3')
+    inferred_op.set_upstream(deferred_op)
+
+
+Bitshift Composition
+--------------------
+
+*Added in Airflow 1.8*
+
+Traditionally, operator relationships are set with the ``set_upstream()`` and
+``set_downstream()`` methods. In Airflow 1.8, this can be done with the Python
+bitshift operators ``>>`` and ``<<``. The following four statements are all
+functionally equivalent:
+
+.. code:: python
+
+    op1 >> op2
+    op1.set_downstream(op2)
+
+    op2 << op1
+    op2.set_upstream(op1)
+
+When using the bitshift to compose operators, the relationship is set in the
+direction that the bitshift operator points. For example, ``op1 >> op2`` means
+that ``op1`` runs first and ``op2`` runs second. Multiple operators can be
+composed -- keep in mind the chain is executed left-to-right and the rightmost
+object is always returned. For example:
+
+.. code:: python
+
+    op1 >> op2 >> op3 << op4
+
+is equivalent to:
+
+.. code:: python
+
+    op1.set_downstream(op2)
+    op2.set_downstream(op3)
+    op3.set_upstream(op4)
+
+For convenience, the bitshift operators can also be used with DAGs. For example:
+
+.. code:: python
+
+    dag >> op1 >> op2
+
+is equivalent to:
+
+.. code:: python
+
+    op1.dag = dag
+    op1.set_downstream(op2)
+
+We can put this all together to build a simple pipeline:
+
+.. code:: python
+
+    with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
+        (
+            DummyOperator(task_id='dummy_1')
+            >> BashOperator(
+                task_id='bash_1',
+                bash_command='echo "HELLO!"')
+            >> PythonOperator(
+                task_id='python_1',
+                python_callable=lambda: print("GOODBYE!"))
+        )
+
+Tasks
+=====
+
+Once an operator is instantiated, it is referred to as a "task". The
+instantiation defines specific values when calling the abstract operator, and
+the parameterized task becomes a node in a DAG.
+
+Task Instances
+==============
+
+A task instance represents a specific run of a task and is characterized as the
+combination of a dag, a task, and a point in time. Task instances also have an
+indicative state, which could be "running", "success", "failed", "skipped", "up
+for retry", etc.
+
+Workflows
+=========
+
+You're now familiar with the core building blocks of Airflow.
+Some of the concepts may sound very similar, but the vocabulary can
+be conceptualized like this:
+
+- DAG: a description of the order in which work should take place
+- Operator: a class that acts as a template for carrying out some work
+- Task: a parameterized instance of an operator
+- Task Instance: a task that 1) has been assigned to a DAG and 2) has a
+  state associated with a specific run of the DAG
+
+By combining ``DAGs`` and ``Operators`` to create ``TaskInstances``, you can
+build complex workflows.
+
+Additional Functionality
+''''''''''''''''''''''''
+
+In addition to the core Airflow objects, there are a number of more complex
+features that enable behaviors like limiting simultaneous access to resources,
+cross-communication, conditional execution, and more.
+
+Hooks
+=====
+
+Hooks are interfaces to external platforms and databases like Hive, S3,
+MySQL, Postgres, HDFS, and Pig. Hooks implement a common interface when
+possible, and act as a building block for operators. They also use
+the ``airflow.models.Connection`` model to retrieve hostnames
+and authentication information. Hooks keep authentication code and
+information out of pipelines, centralized in the metadata database.
+
+Hooks are also very useful on their own to use in Python scripts,
+Airflow airflow.operators.PythonOperator, and in interactive environments
+like iPython or Jupyter Notebook.
+
+Pools
+=====
+
+Some systems can get overwhelmed when too many processes hit them at the same
+time. Airflow pools can be used to **limit the execution parallelism** on
+arbitrary sets of tasks. The list of pools is managed in the UI
+(``Menu -> Admin -> Pools``) by giving the pools a name and assigning
+it a number of worker slots. Tasks can then be associated with
+one of the existing pools by using the ``pool`` parameter when
+creating tasks (i.e., instantiating operators).
+
+.. code:: python
+
+    aggregate_db_message_job = BashOperator(
+        task_id='aggregate_db_message_job',
+        execution_timeout=timedelta(hours=3),
+        pool='ep_data_pipeline_db_msg_agg',
+        bash_command=aggregate_db_message_job_cmd,
+        dag=dag)
+    aggregate_db_message_job.set_upstream(wait_for_empty_queue)
+
+The ``pool`` parameter can
+be used in conjunction with ``priority_weight`` to define priorities
+in the queue, and which tasks get executed first as slots open up in the
+pool. The default ``priority_weight`` is ``1``, and can be bumped to any
+number. When sorting the queue to evaluate which task should be executed
+next, we use the ``priority_weight``, summed up with all of the
+``priority_weight`` values from tasks downstream from this task. You can
+use this to bump a specific important task and the whole path to that task
+gets prioritized accordingly.
+
+Tasks will be scheduled as usual while the slots fill up. Once capacity is
+reached, runnable tasks get queued and their state will show as such in the
+UI. As slots free up, queued tasks start running based on the
+``priority_weight`` (of the task and its descendants).
+
+Note that by default tasks aren't assigned to any pool and their
+execution parallelism is only limited to the executor's setting.
+
+Connections
+===========
+
+The connection information to external systems is stored in the Airflow
+metadata database and managed in the UI (``Menu -> Admin -> Connections``)
+A ``conn_id`` is defined there and hostname / login / password / schema
+information attached to it. Airflow pipelines can simply refer to the
+centrally managed ``conn_id`` without having to hard code any of this
+information anywhere.
+
+Many connections with the same ``conn_id`` can be defined and when that
+is the case, and when the **hooks** uses the ``get_connection`` method
+from ``BaseHook``, Airflow will choose one connection randomly, allowing
+for some basic load balancing and fault tolerance when used in conjunction
+with retries.
+
+Airflow also has the ability to reference connections via environment
+variables from the operating system. The environment variable needs to be
+prefixed with ``AIRFLOW_CONN_`` to be considered a connection. When
+referencing the connection in the Airflow pipeline, the ``conn_id`` should
+be the name of the variable without the prefix. For example, if the ``conn_id``
+is named ``postgres_master`` the environment variable should be named
+``AIRFLOW_CONN_POSTGRES_MASTER`` (note that the environment variable must be
+all uppercase). Airflow assumes the value returned from the environment
+variable to be in a URI format (e.g.
+``postgres://user:password@localhost:5432/master`` or ``s3://accesskey:secretkey@S3``).
+
+Queues
+======
+
+When using the CeleryExecutor, the celery queues that tasks are sent to
+can be specified. ``queue`` is an attribute of BaseOperator, so any
+task can be assigned to any queue. The default queue for the environment
+is defined in the ``airflow.cfg``'s ``celery -> default_queue``. This defines
+the queue that tasks get assigned to when not specified, as well as which
+queue Airflow workers listen to when started.
+
+Workers can listen to one or multiple queues of tasks. When a worker is
+started (using the command ``airflow worker``), a set of comma delimited
+queue names can be specified (e.g. ``airflow worker -q spark``). This worker
+will then only pick up tasks wired to the specified queue(s).
+
+This can be useful if you need specialized workers, either from a
+resource perspective (for say very lightweight tasks where one worker
+could take thousands of tasks without a problem), or from an environment
+perspective (you want a worker running from within the Spark cluster
+itself because it needs a very specific environment and security rights).
+
+XComs
+=====
+
+XComs let tasks exchange messages, allowing more nuanced forms of control and
+shared state. The name is an abbreviation of "cross-communication". XComs are
+principally defined by a key, value, and timestamp, but also track attributes
+like the task/DAG that created the XCom and when it should become visible. Any
+object that can be pickled can be used as an XCom value, so users should make
+sure to use objects of appropriate size.
+
+XComs can be "pushed" (sent) or "pulled" (received). When a task pushes an
+XCom, it makes it generally available to other tasks. Tasks can push XComs at
+any time by calling the ``xcom_push()`` method. In addition, if a task returns
+a value (either from its Operator's ``execute()`` method, or from a
+PythonOperator's ``python_callable`` function), then an XCom containing that
+value is automatically pushed.
+
+Tasks call ``xcom_pull()`` to retrieve XComs, optionally applying filters
+based on criteria like ``key``, source ``task_ids``, and source ``dag_id``. By
+default, ``xcom_pull()`` filters for the keys that are automatically given to
+XComs when they are pushed by being returned from execute functions (as
+opposed to XComs that are pushed manually).
+
+If ``xcom_pull`` is passed a single string for ``task_ids``, then the most
+recent XCom value from that task is returned; if a list of ``task_ids`` is
+passed, then a correpsonding list of XCom values is returned.
+
+.. code:: python
+
+    # inside a PythonOperator called 'pushing_task'
+    def push_function():
+        return value
+
+    # inside another PythonOperator where provide_context=True
+    def pull_function(**context):
+        value = context['task_instance'].xcom_pull(task_ids='pushing_task')
+
+It is also possible to pull XCom directly in a template, here's an example
+of what this may look like:
+
+.. code:: sql
+
+    SELECT * FROM {{ task_instance.xcom_pull(task_ids='foo', key='table_name') }}
+
+Note that XComs are similar to `Variables`_, but are specifically designed
+for inter-task communication rather than global settings.
+
+
+Variables
+=========
+
+Variables are a generic way to store and retrieve arbitrary content or
+settings as a simple key value store within Airflow. Variables can be
+listed, created, updated and deleted from the UI (``Admin -> Variables``),
+code or CLI. While your pipeline code definition and most of your constants
+and variables should be defined in code and stored in source control,
+it can be useful to have some variables or configuration items
+accessible and modifiable through the UI.
+
+
+.. code:: python
+
+    from airflow.models import Variable
+    foo = Variable.get("foo")
+    bar = Variable.get("bar", deserialize_json=True)
+
+The second call assumes ``json`` content and will be deserialized into
+``bar``. Note that ``Variable`` is a sqlalchemy model and can be used
+as such.
+
+
+Branching
+=========
+
+Sometimes you need a workflow to branch, or only go down a certain path
+based on an arbitrary condition which is typically related to something
+that happened in an upstream task. One way to do this is by using the
+``BranchPythonOperator``.
+
+The ``BranchPythonOperator`` is much like the PythonOperator except that it
+expects a python_callable that returns a task_id. The task_id returned
+is followed, and all of the other paths are skipped.
+The task_id returned by the Python function has to be referencing a task
+directly downstream from the BranchPythonOperator task.
+
+Note that using tasks with ``depends_on_past=True`` downstream from
+``BranchPythonOperator`` is logically unsound as ``skipped`` status
+will invariably lead to block tasks that depend on their past successes.
+``skipped`` states propagates where all directly upstream tasks are
+``skipped``.
+
+If you want to skip some tasks, keep in mind that you can't have an empty
+path, if so make a dummy task.
+
+like this, the dummy task "branch_false" is skipped
+
+.. image:: img/branch_good.png
+
+Not like this, where the join task is skipped
+
+.. image:: img/branch_bad.png
+
+SubDAGs
+=======
+
+SubDAGs are perfect for repeating patterns. Defining a function that returns a
+DAG object is a nice design pattern when using Airflow.
+
+Airbnb uses the *stage-check-exchange* pattern when loading data. Data is staged
+in a temporary table, after which data quality checks are performed against
+that table. Once the checks all pass the partition is moved into the production
+table.
+
+As another example, consider the following DAG:
+
+.. image:: img/subdag_before.png
+
+We can combine all of the parallel ``task-*`` operators into a single SubDAG,
+so that the resulting DAG resembles the following:
+
+.. image:: img/subdag_after.png
+
+Note that SubDAG operators should contain a factory method that returns a DAG
+object. This will prevent the SubDAG from being treated like a separate DAG in
+the main UI. For example:
+
+.. code:: python
+
+  #dags/subdag.py
+  from airflow.models import DAG
+  from airflow.operators.dummy_operator import DummyOperator
+
+
+  # Dag is returned by a factory method
+  def sub_dag(parent_dag_name, child_dag_name, start_date, schedule_interval):
+    dag = DAG(
+      '%s.%s' % (parent_dag_name, child_dag_name),
+      schedule_interval=schedule_interval,
+      start_date=start_date,
+    )
+
+    dummy_operator = DummyOperator(
+      task_id='dummy_task',
+      dag=dag,
+    )
+
+    return dag
+
+This SubDAG can then be referenced in your main DAG file:
+
+.. code:: python
+
+  # main_dag.py
+  from datetime import datetime, timedelta
+  from airflow.models import DAG
+  from airflow.operators.subdag_operator import SubDagOperator
+  from dags.subdag import sub_dag
+
+
+  PARENT_DAG_NAME = 'parent_dag'
+  CHILD_DAG_NAME = 'child_dag'
+
+  main_dag = DAG(
+    dag_id=PARENT_DAG_NAME,
+    schedule_interval=timedelta(hours=1),
+    start_date=datetime(2016, 1, 1)
+  )
+
+  sub_dag = SubDagOperator(
+    subdag=sub_dag(PARENT_DAG_NAME, CHILD_DAG_NAME, main_dag.start_date,
+                   main_dag.schedule_interval),
+    task_id=CHILD_DAG_NAME,
+    dag=main_dag,
+  )
+
+You can zoom into a SubDagOperator from the graph view of the main DAG to show
+the tasks contained within the SubDAG:
+
+.. image:: img/subdag_zoom.png
+
+Some other tips when using SubDAGs:
+
+-  by convention, a SubDAG's ``dag_id`` should be prefixed by its parent and
+   a dot. As in ``parent.child``
+-  share arguments between the main DAG and the SubDAG by passing arguments to
+   the SubDAG operator (as demonstrated above)
+-  SubDAGs must have a schedule and be enabled. If the SubDAG's schedule is
+   set to ``None`` or ``@once``, the SubDAG will succeed without having done
+   anything
+-  clearing a SubDagOperator also clears the state of the tasks within
+-  marking success on a SubDagOperator does not affect the state of the tasks
+   within
+-  refrain from using ``depends_on_past=True`` in tasks within the SubDAG as
+   this can be confusing
+-  it is possible to specify an executor for the SubDAG. It is common to use
+   the SequentialExecutor if you want to run the SubDAG in-process and
+   effectively limit its parallelism to one. Using LocalExecutor can be
+   problematic as it may over-subscribe your worker, running multiple tasks in
+   a single slot
+
+See ``airflow/example_dags`` for a demonstration.
+
+SLAs
+====
+
+Service Level Agreements, or time by which a task or DAG should have
+succeeded, can be set at a task level as a ``timedelta``. If
+one or many instances have not succeeded by that time, an alert email is sent
+detailing the list of tasks that missed their SLA. The event is also recorded
+in the database and made available in the web UI under ``Browse->Missed SLAs``
+where events can be analyzed and documented.
+
+
+Trigger Rules
+=============
+
+Though the normal workflow behavior is to trigger tasks when all their
+directly upstream tasks have succeeded, Airflow allows for more complex
+dependency settings.
+
+All operators have a ``trigger_rule`` argument which defines the rule by which
+the generated task get triggered. The default value for ``trigger_rule`` is
+``all_success`` and can be defined as "trigger this task when all directly
+upstream tasks have succeeded". All other rules described here are based
+on direct parent tasks and are values that can be passed to any operator
+while creating tasks:
+
+* ``all_success``: (default) all parents have succeeded
+* ``all_failed``: all parents are in a ``failed`` or ``upstream_failed`` state
+* ``all_done``: all parents are done with their execution
+* ``one_failed``: fires as soon as at least one parent has failed, it does not wait for all parents to be done
+* ``one_success``: fires as soon as at least one parent succeeds, it does not wait for all parents to be done
+* ``dummy``: dependencies are just for show, trigger at will
+
+Note that these can be used in conjunction with ``depends_on_past`` (boolean)
+that, when set to ``True``, keeps a task from getting triggered if the
+previous schedule for the task hasn't succeeded.
+
+
+Latest Run Only
+===============
+
+Standard workflow behavior involves running a series of tasks for a
+particular date/time range. Some workflows, however, perform tasks that
+are independent of run time but need to be run on a schedule, much like a
+standard cron job. In these cases, backfills or running jobs missed during
+a pause just wastes CPU cycles.
+
+For situations like this, you can use the ``LatestOnlyOperator`` to skip
+tasks that are not being run during the most recent scheduled run for a
+DAG. The ``LatestOnlyOperator`` skips all immediate downstream tasks, and
+itself, if the time right now is not between its ``execution_time`` and the
+next scheduled ``execution_time``.
+
+One must be aware of the interaction between skipped tasks and trigger
+rules. Skipped tasks will cascade through trigger rules ``all_success``
+and ``all_failed`` but not ``all_done``, ``one_failed``, ``one_success``,
+and ``dummy``. If you would like to use the ``LatestOnlyOperator`` with
+trigger rules that do not cascade skips, you will need to ensure that the
+``LatestOnlyOperator`` is **directly** upstream of the task you would like
+to skip.
+
+It is possible, through use of trigger rules to mix tasks that should run
+in the typical date/time dependent mode and those using the
+``LatestOnlyOperator``.
+
+For example, consider the following dag:
+
+.. code:: python
+
+  #dags/latest_only_with_trigger.py
+  import datetime as dt
+
+  from airflow.models import DAG
+  from airflow.operators.dummy_operator import DummyOperator
+  from airflow.operators.latest_only_operator import LatestOnlyOperator
+  from airflow.utils.trigger_rule import TriggerRule
+
+
+  dag = DAG(
+      dag_id='latest_only_with_trigger',
+      schedule_interval=dt.timedelta(hours=4),
+      start_date=dt.datetime(2016, 9, 20),
+  )
+
+  latest_only = LatestOnlyOperator(task_id='latest_only', dag=dag)
+
+  task1 = DummyOperator(task_id='task1', dag=dag)
+  task1.set_upstream(latest_only)
+
+  task2 = DummyOperator(task_id='task2', dag=dag)
+
+  task3 = DummyOperator(task_id='task3', dag=dag)
+  task3.set_upstream([task1, task2])
+
+  task4 = DummyOperator(task_id='task4', dag=dag,
+                        trigger_rule=TriggerRule.ALL_DONE)
+  task4.set_upstream([task1, task2])
+
+In the case of this dag, the ``latest_only`` task will show up as skipped
+for all runs except the latest run. ``task1`` is directly downstream of
+``latest_only`` and will also skip for all runs except the latest.
+``task2`` is entirely independent of ``latest_only`` and will run in all
+scheduled periods. ``task3`` is downstream of ``task1`` and ``task2`` and
+because of the default ``trigger_rule`` being ``all_success`` will receive
+a cascaded skip from ``task1``. ``task4`` is downstream of ``task1`` and
+``task2`` but since its ``trigger_rule`` is set to ``all_done`` it will
+trigger as soon as ``task1`` has been skipped (a valid completion state)
+and ``task2`` has succeeded.
+
+.. image:: img/latest_only_with_trigger.png
+
+
+Zombies & Undeads
+=================
+
+Task instances die all the time, usually as part of their normal life cycle,
+but sometimes unexpectedly.
+
+Zombie tasks are characterized by the absence
+of an heartbeat (emitted by the job periodically) and a ``running`` status
+in the database. They can occur when a worker node can't reach the database,
+when Airflow processes are killed externally, or when a node gets rebooted
+for instance. Zombie killing is performed periodically by the scheduler's
+process.
+
+Undead processes are characterized by the existence of a process and a matching
+heartbeat, but Airflow isn't aware of this task as ``running`` in the database.
+This mismatch typically occurs as the state of the database is altered,
+most likely by deleting rows in the "Task Instances" view in the UI.
+Tasks are instructed to verify their state as part of the heartbeat routine,
+and terminate themselves upon figuring out that they are in this "undead"
+state.
+
+
+Cluster Policy
+==============
+
+Your local airflow settings file can define a ``policy`` function that
+has the ability to mutate task attributes based on other task or DAG
+attributes. It receives a single argument as a reference to task objects,
+and is expected to alter its attributes.
+
+For example, this function could apply a specific queue property when
+using a specific operator, or enforce a task timeout policy, making sure
+that no tasks run for more than 48 hours. Here's an example of what this
+may look like inside your ``airflow_settings.py``:
+
+
+.. code:: python
+
+    def policy(task):
+        if task.__class__.__name__ == 'HivePartitionSensor':
+            task.queue = "sensor_queue"
+        if task.timeout > timedelta(hours=48):
+            task.timeout = timedelta(hours=48)
+
+
+Documentation & Notes
+=====================
+
+It's possible to add documentation or notes to your dags & task objects that
+become visible in the web interface ("Graph View" for dags, "Task Details" for
+tasks). There are a set of special task attributes that get rendered as rich
+content if defined:
+
+==========  ================
+attribute   rendered to
+==========  ================
+doc         monospace
+doc_json    json
+doc_yaml    yaml
+doc_md      markdown
+doc_rst     reStructuredText
+==========  ================
+
+Please note that for dags, dag_md is the only attribute interpreted.
+
+This is especially useful if your tasks are built dynamically from
+configuration files, it allows you to expose the configuration that led
+to the related tasks in Airflow.
+
+.. code:: python
+
+    """
+    ### My great DAG
+    """
+
+    dag = DAG('my_dag', default_args=default_args)
+    dag.doc_md = __doc__
+
+    t = BashOperator("foo", dag=dag)
+    t.doc_md = """\
+    #Title"
+    Here's a [url](www.airbnb.com)
+    """
+
+This content will get rendered as markdown respectively in the "Graph View" and
+"Task Details" pages.
+
+Jinja Templating
+================
+
+Airflow leverages the power of
+`Jinja Templating <http://jinja.pocoo.org/docs/dev/>`_ and this can be a
+powerful tool to use in combination with macros (see the :ref:`macros` section).
+
+For example, say you want to pass the execution date as an environment variable
+to a Bash script using the ``BashOperator``.
+
+.. code:: python
+
+  # The execution date as YYYY-MM-DD
+  date = "{{ ds }}"
+  t = BashOperator(
+      task_id='test_env',
+      bash_command='/tmp/test.sh ',
+      dag=dag,
+      env={'EXECUTION_DATE': date})
+
+Here, ``{{ ds }}`` is a macro, and because the ``env`` parameter of the
+``BashOperator`` is templated with Jinja, the execution date will be available
+as an environment variable named ``EXECUTION_DATE`` in your Bash script.
+
+You can use Jinja templating with every parameter that is marked as "templated"
+in the documentation.
+
+Packaged dags
+'''''''''''''
+While often you will specify dags in a single ``.py`` file it might sometimes
+be required to combine dag and its dependencies. For example, you might want
+to combine several dags together to version them together or you might want
+to manage them together or you might need an extra module that is not available
+by default on the system you are running airflow on. To allow this you can create
+a zip file that contains the dag(s) in the root of the zip file and have the extra
+modules unpacked in directories.
+
+For instance you can create a zip file that looks like this:
+
+.. code-block:: bash
+
+    my_dag1.py
+    my_dag2.py
+    package1/__init__.py
+    package1/functions.py
+
+Airflow will scan the zip file and try to load ``my_dag1.py`` and ``my_dag2.py``.
+It will not go into subdirectories as these are considered to be potential
+packages.
+
+In case you would like to add module dependencies to your DAG you basically would
+do the same, but then it is more to use a virtualenv and pip.
+
+.. code-block:: bash
+
+    virtualenv zip_dag
+    source zip_dag/bin/activate
+
+    mkdir zip_dag_contents
+    cd zip_dag_contents
+
+    pip install --install-option="--install-lib=$PWD" my_useful_package
+    cp ~/my_dag.py .
+
+    zip -r zip_dag.zip *
+
+.. note:: the zip file will be inserted at the beginning of module search list
+   (sys.path) and as such it will be available to any other code that resides
+   within the same interpreter.
+
+.. note:: packaged dags cannot be used with pickling turned on.
+
+.. note:: packaged dags cannot contain dynamic libraries (eg. libz.so) these need
+   to be available on the system if a module needs those. In other words only
+   pure python modules can be packaged.
+
diff --git a/_sources/configuration.rst.txt b/_sources/configuration.rst.txt
new file mode 100644
index 0000000..5ff4284
--- /dev/null
+++ b/_sources/configuration.rst.txt
@@ -0,0 +1,284 @@
+Configuration
+-------------
+
+Setting up the sandbox in the :doc:`start` section was easy;
+building a production-grade environment requires a bit more work!
+
+.. _setting-options:
+
+Setting Configuration Options
+'''''''''''''''''''''''''''''
+
+The first time you run Airflow, it will create a file called ``airflow.cfg`` in
+your ``$AIRFLOW_HOME`` directory (``~/airflow`` by default). This file contains Airflow's configuration and you
+can edit it to change any of the settings. You can also set options with environment variables by using this format:
+``$AIRFLOW__{SECTION}__{KEY}`` (note the double underscores).
+
+For example, the
+metadata database connection string can either be set in ``airflow.cfg`` like this:
+
+.. code-block:: bash
+
+    [core]
+    sql_alchemy_conn = my_conn_string
+
+or by creating a corresponding environment variable:
+
+.. code-block:: bash
+
+    AIRFLOW__CORE__SQL_ALCHEMY_CONN=my_conn_string
+
+You can also derive the connection string at run time by appending ``_cmd`` to the key like this:
+
+.. code-block:: bash
+
+    [core]
+    sql_alchemy_conn_cmd = bash_command_to_run
+
+But only three such configuration elements namely sql_alchemy_conn, broker_url and celery_result_backend can be fetched as a command. The idea behind this is to not store passwords on boxes in plain text files. The order of precedence is as follows -
+
+1. environment variable
+2. configuration in airflow.cfg
+3. command in airflow.cfg
+4. default
+
+Setting up a Backend
+''''''''''''''''''''
+If you want to take a real test drive of Airflow, you should consider
+setting up a real database backend and switching to the LocalExecutor.
+
+As Airflow was built to interact with its metadata using the great SqlAlchemy
+library, you should be able to use any database backend supported as a
+SqlAlchemy backend. We recommend using **MySQL** or **Postgres**.
+
+.. note:: If you decide to use **Postgres**, we recommend using the ``psycopg2``
+   driver and specifying it in your SqlAlchemy connection string.
+   Also note that since SqlAlchemy does not expose a way to target a
+   specific schema in the Postgres connection URI, you may
+   want to set a default schema for your role with a
+   command similar to ``ALTER ROLE username SET search_path = airflow, foobar;``
+
+Once you've setup your database to host Airflow, you'll need to alter the
+SqlAlchemy connection string located in your configuration file
+``$AIRFLOW_HOME/airflow.cfg``. You should then also change the "executor"
+setting to use "LocalExecutor", an executor that can parallelize task
+instances locally.
+
+.. code-block:: bash
+
+    # initialize the database
+    airflow initdb
+
+Connections
+'''''''''''
+Airflow needs to know how to connect to your environment. Information
+such as hostname, port, login and passwords to other systems and services is
+handled in the ``Admin->Connection`` section of the UI. The pipeline code you
+will author will reference the 'conn_id' of the Connection objects.
+
+.. image:: img/connections.png
+
+By default, Airflow will save the passwords for the connection in plain text
+within the metadata database. The ``crypto`` package is highly recommended
+during installation. The ``crypto`` package does require that your operating
+system have libffi-dev installed.
+
+Connections in Airflow pipelines can be created using environment variables.
+The environment variable needs to have a prefix of ``AIRFLOW_CONN_`` for
+Airflow with the value in a URI format to use the connection properly. Please
+see the :doc:`concepts` documentation for more information on environment
+variables and connections.
+
+Scaling Out with Celery
+'''''''''''''''''''''''
+``CeleryExecutor`` is one of the ways you can scale out the number of workers. For this
+to work, you need to setup a Celery backend (**RabbitMQ**, **Redis**, ...) and
+change your ``airflow.cfg`` to point the executor parameter to
+``CeleryExecutor`` and provide the related Celery settings.
+
+For more information about setting up a Celery broker, refer to the
+exhaustive `Celery documentation on the topic <http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html>`_.
+
+Here are a few imperative requirements for your workers:
+
+- ``airflow`` needs to be installed, and the CLI needs to be in the path
+- Airflow configuration settings should be homogeneous across the cluster
+- Operators that are executed on the worker need to have their dependencies
+  met in that context. For example, if you use the ``HiveOperator``,
+  the hive CLI needs to be installed on that box, or if you use the
+  ``MySqlOperator``, the required Python library needs to be available in
+  the ``PYTHONPATH`` somehow
+- The worker needs to have access to its ``DAGS_FOLDER``, and you need to
+  synchronize the filesystems by your own means. A common setup would be to
+  store your DAGS_FOLDER in a Git repository and sync it across machines using
+  Chef, Puppet, Ansible, or whatever you use to configure machines in your
+  environment. If all your boxes have a common mount point, having your
+  pipelines files shared there should work as well
+
+
+To kick off a worker, you need to setup Airflow and kick off the worker
+subcommand
+
+.. code-block:: bash
+
+    airflow worker
+
+Your worker should start picking up tasks as soon as they get fired in
+its direction.
+
+Note that you can also run "Celery Flower", a web UI built on top of Celery,
+to monitor your workers. You can use the shortcut command ``airflow flower``
+to start a Flower web server.
+
+
+Scaling Out with Dask
+'''''''''''''''''''''
+
+``DaskExecutor`` allows you to run Airflow tasks in a Dask Distributed cluster.
+
+Dask clusters can be run on a single machine or on remote networks. For complete
+details, consult the `Distributed documentation <https://distributed.readthedocs.io/>`_.
+
+To create a cluster, first start a Scheduler:
+
+.. code-block:: bash
+
+    # default settings for a local cluster
+    DASK_HOST=127.0.0.1
+    DASK_PORT=8786
+
+    dask-scheduler --host $DASK_HOST --port $DASK_PORT
+
+Next start at least one Worker on any machine that can connect to the host:
+
+.. code-block:: bash
+
+    dask-worker $DASK_HOST:$DASK_PORT
+
+Edit your ``airflow.cfg`` to set your executor to ``DaskExecutor`` and provide
+the Dask Scheduler address in the ``[dask]`` section.
+
+Please note:
+
+- Each Dask worker must be able to import Airflow and any dependencies you
+  require.
+- Dask does not support queues. If an Airflow task was created with a queue, a
+  warning will be raised but the task will be submitted to the cluster.
+
+
+Logs
+''''
+Users can specify a logs folder in ``airflow.cfg``. By default, it is in
+the ``AIRFLOW_HOME`` directory.
+
+In addition, users can supply a remote location for storing logs and log backups
+in cloud storage. At this time, Amazon S3 and Google Cloud Storage are supported.
+To enable this feature, ``airflow.cfg`` must be configured as in this example:
+
+.. code-block:: bash
+
+    [core]
+    # Airflow can store logs remotely in AWS S3 or Google Cloud Storage. Users
+    # must supply a remote location URL (starting with either 's3://...' or
+    # 'gs://...') and an Airflow connection id that provides access to the storage
+    # location.
+    remote_base_log_folder = s3://my-bucket/path/to/logs
+    remote_log_conn_id = MyS3Conn
+    # Use server-side encryption for logs stored in S3
+    encrypt_s3_logs = False
+
+Remote logging uses an existing Airflow connection to read/write logs. If you don't
+have a connection properly setup, this will fail. In the above example, Airflow will
+try to use ``S3Hook('MyS3Conn')``.
+
+In the Airflow Web UI, local logs take precedance over remote logs. If local logs
+can not be found or accessed, the remote logs will be displayed. Note that logs
+are only sent to remote storage once a task completes (including failure). In other
+words, remote logs for running tasks are unavailable.
+
+Scaling Out on Mesos (community contributed)
+''''''''''''''''''''''''''''''''''''''''''''
+``MesosExecutor`` allows you to schedule airflow tasks on a Mesos cluster.
+For this to work, you need a running mesos cluster and you must perform the following
+steps -
+
+1. Install airflow on a machine where web server and scheduler will run,
+   let's refer to this as the "Airflow server".
+2. On the Airflow server, install mesos python eggs from `mesos downloads <http://open.mesosphere.com/downloads/mesos/>`_.
+3. On the Airflow server, use a database (such as mysql) which can be accessed from mesos
+   slave machines and add configuration in ``airflow.cfg``.
+4. Change your ``airflow.cfg`` to point executor parameter to
+   `MesosExecutor` and provide related Mesos settings.
+5. On all mesos slaves, install airflow. Copy the ``airflow.cfg`` from
+   Airflow server (so that it uses same sql alchemy connection).
+6. On all mesos slaves, run the following for serving logs:
+
+.. code-block:: bash
+
+    airflow serve_logs
+
+7. On Airflow server, to start processing/scheduling DAGs on mesos, run:
+
+.. code-block:: bash
+
+    airflow scheduler -p
+
+Note: We need -p parameter to pickle the DAGs.
+
+You can now see the airflow framework and corresponding tasks in mesos UI.
+The logs for airflow tasks can be seen in airflow UI as usual.
+
+For more information about mesos, refer to `mesos documentation <http://mesos.apache.org/documentation/latest/>`_.
+For any queries/bugs on `MesosExecutor`, please contact `@kapil-malik <https://github.com/kapil-malik>`_.
+
+Integration with systemd
+''''''''''''''''''''''''
+Airflow can integrate with systemd based systems. This makes watching your
+daemons easy as systemd can take care of restarting a daemon on failure.
+In the ``scripts/systemd`` directory you can find unit files that
+have been tested on Redhat based systems. You can copy those to
+``/usr/lib/systemd/system``. It is assumed that Airflow will run under
+``airflow:airflow``. If not (or if you are running on a non Redhat
+based system) you probably need to adjust the unit files.
+
+Environment configuration is picked up from ``/etc/sysconfig/airflow``.
+An example file is supplied. Make sure to specify the ``SCHEDULER_RUNS``
+variable in this file when you run the scheduler. You
+can also define here, for example, ``AIRFLOW_HOME`` or ``AIRFLOW_CONFIG``.
+
+Integration with upstart
+''''''''''''''''''''''''
+Airflow can integrate with upstart based systems. Upstart automatically starts all airflow services for which you
+have a corresponding ``*.conf`` file in ``/etc/init`` upon system boot. On failure, upstart automatically restarts
+the process (until it reaches re-spawn limit set in a ``*.conf`` file).
+
+You can find sample upstart job files in the ``scripts/upstart`` directory. These files have been tested on
+Ubuntu 14.04 LTS. You may have to adjust ``start on`` and ``stop on`` stanzas to make it work on other upstart
+systems. Some of the possible options are listed in ``scripts/upstart/README``.
+
+Modify ``*.conf`` files as needed and copy to ``/etc/init`` directory. It is assumed that airflow will run
+under ``airflow:airflow``. Change ``setuid`` and ``setgid`` in ``*.conf`` files if you use other user/group
+
+You can use ``initctl`` to manually start, stop, view status of the airflow process that has been
+integrated with upstart
+
+.. code-block:: bash
+
+    initctl airflow-webserver status
+
+Test Mode
+'''''''''
+Airflow has a fixed set of "test mode" configuration options. You can load these
+at any time by calling ``airflow.configuration.load_test_config()`` (note this
+operation is not reversible!). However, some options (like the DAG_FOLDER) are
+loaded before you have a chance to call load_test_config(). In order to eagerly load
+the test configuration, set test_mode in airflow.cfg:
+
+.. code-block:: bash
+
+  [tests]
+  unit_test_mode = True
+
+Due to Airflow's automatic environment variable expansion (see :ref:`setting-options`),
+you can also set the env var ``AIRFLOW__CORE__UNIT_TEST_MODE`` to temporarily overwrite
+airflow.cfg.
diff --git a/_sources/faq.rst.txt b/_sources/faq.rst.txt
new file mode 100644
index 0000000..1e4c038
--- /dev/null
+++ b/_sources/faq.rst.txt
@@ -0,0 +1,147 @@
+FAQ
+========
+
+Why isn't my task getting scheduled?
+------------------------------------
+
+There are very many reasons why your task might not be getting scheduled.
+Here are some of the common causes:
+
+- Does your script "compile", can the Airflow engine parse it and find your
+  DAG object. To test this, you can run ``airflow list_dags`` and
+  confirm that your DAG shows up in the list. You can also run
+  ``airflow list_tasks foo_dag_id --tree`` and confirm that your task
+  shows up in the list as expected. If you use the CeleryExecutor, you
+  may way to confirm that this works both where the scheduler runs as well
+  as where the worker runs.
+
+- Is your ``start_date`` set properly? The Airflow scheduler triggers the
+  task soon after the ``start_date + scheduler_interval`` is passed.
+
+- Is your ``schedule_interval`` set properly? The default ``schedule_interval``
+  is one day (``datetime.timedelta(1)``). You must specify a different ``schedule_interval``
+  directly to the DAG object you instantiate, not as a ``default_param``, as task instances
+  do not override their parent DAG's ``schedule_interval``.
+
+- Is your ``start_date`` beyond where you can see it in the UI? If you
+  set your it to some time say 3 months ago, you won't be able to see
+  it in the main view in the UI, but you should be able to see it in the
+  ``Menu -> Browse ->Task Instances``.
+
+- Are the dependencies for the task met. The task instances directly
+  upstream from the task need to be in a ``success`` state. Also,
+  if you have set ``depends_on_past=True``, the previous task instance
+  needs to have succeeded (except if it is the first run for that task).
+  Also, if ``wait_for_downstream=True``, make sure you understand
+  what it means.
+  You can view how these properties are set from the ``Task Instance Details``
+  page for your task.
+
+- Are the DagRuns you need created and active? A DagRun represents a specific
+  execution of an entire DAG and has a state (running, success, failed, ...).
+  The scheduler creates new DagRun as it moves forward, but never goes back
+  in time to create new ones. The scheduler only evaluates ``running`` DagRuns
+  to see what task instances it can trigger. Note that clearing tasks
+  instances (from the UI or CLI) does set the state of a DagRun back to
+  running. You can bulk view the list of DagRuns and alter states by clicking
+  on the schedule tag for a DAG.
+
+- Is the ``concurrency`` parameter of your DAG reached? ``concurency`` defines
+  how many ``running`` task instances a DAG is allowed to have, beyond which
+  point things get queued.
+
+- Is the ``max_active_runs`` parameter of your DAG reached? ``max_active_runs`` defines
+  how many ``running`` concurrent instances of a DAG there are allowed to be.
+
+You may also want to read the Scheduler section of the docs and make
+sure you fully understand how it proceeds.
+
+
+How do I trigger tasks based on another task's failure?
+-------------------------------------------------------
+
+Check out the ``Trigger Rule`` section in the Concepts section of the
+documentation
+
+Why are connection passwords still not encrypted in the metadata db after I installed airflow[crypto]?
+------------------------------------------------------------------------------------------------------
+
+- Verify that the ``fernet_key`` defined in ``$AIRFLOW_HOME/airflow.cfg`` is a valid Fernet key. It must be a base64-encoded 32-byte key. You need to restart the webserver after you update the key
+- For existing connections (the ones that you had defined before installing ``airflow[crypto]`` and creating a Fernet key), you need to open each connection in the connection admin UI, re-type the password, and save it
+
+What's the deal with ``start_date``?
+------------------------------------
+
+``start_date`` is partly legacy from the pre-DagRun era, but it is still
+relevant in many ways. When creating a new DAG, you probably want to set
+a global ``start_date`` for your tasks using ``default_args``. The first
+DagRun to be created will be based on the ``min(start_date)`` for all your
+task. From that point on, the scheduler creates new DagRuns based on
+your ``schedule_interval`` and the corresponding task instances run as your
+dependencies are met. When introducing new tasks to your DAG, you need to
+pay special attention to ``start_date``, and may want to reactivate
+inactive DagRuns to get the new task to get onboarded properly.
+
+We recommend against using dynamic values as ``start_date``, especially
+``datetime.now()`` as it can be quite confusing. The task is triggered
+once the period closes, and in theory an ``@hourly`` DAG would never get to
+an hour after now as ``now()`` moves along.
+
+
+Previously we also recommended using rounded ``start_date`` in relation to your
+``schedule_interval``. This meant an ``@hourly`` would be at ``00:00``
+minutes:seconds, a ``@daily`` job at midnight, a ``@monthly`` job on the
+first of the month. This is no longer required. Airflow will now auto align
+the ``start_date`` and the ``schedule_interval``, by using the ``start_date``
+as the moment to start looking.
+
+You can use any sensor or a ``TimeDeltaSensor`` to delay
+the execution of tasks within the schedule interval.
+While ``schedule_interval`` does allow specifying a ``datetime.timedelta``
+object, we recommend using the macros or cron expressions instead, as
+it enforces this idea of rounded schedules.
+
+When using ``depends_on_past=True`` it's important to pay special attention
+to ``start_date`` as the past dependency is not enforced only on the specific
+schedule of the ``start_date`` specified for the task. It' also
+important to watch DagRun activity status in time when introducing
+new ``depends_on_past=True``, unless you are planning on running a backfill
+for the new task(s).
+
+Also important to note is that the tasks ``start_date``, in the context of a
+backfill CLI command, get overridden by the backfill's command ``start_date``.
+This allows for a backfill on tasks that have ``depends_on_past=True`` to
+actually start, if it wasn't the case, the backfill just wouldn't start.
+
+How can I create DAGs dynamically?
+----------------------------------
+
+Airflow looks in you ``DAGS_FOLDER`` for modules that contain ``DAG`` objects
+in their global namespace, and adds the objects it finds in the
+``DagBag``. Knowing this all we need is a way to dynamically assign
+variable in the global namespace, which is easily done in python using the
+``globals()`` function for the standard library which behaves like a
+simple dictionary.
+
+.. code:: python
+
+    for i in range(10):
+        dag_id = 'foo_{}'.format(i)
+        globals()[dag_id] = DAG(dag_id)
+        # or better, call a function that returns a DAG object!
+
+What are all the ``airflow run`` commands in my process list?
+---------------------------------------------------------------
+
+There are many layers of ``airflow run`` commands, meaning it can call itself.
+
+- Basic ``airflow run``: fires up an executor, and tell it to run an
+  ``airflow run --local`` command. if using Celery, this means it puts a
+  command in the queue for it to run remote, on the worker. If using
+  LocalExecutor, that translates into running it in a subprocess pool.
+- Local ``airflow run --local``: starts an ``airflow run --raw``
+  command (described below) as a subprocess and is in charge of
+  emitting heartbeats, listening for external kill signals
+  and ensures some cleanup takes place if the subprocess fails
+- Raw ``airflow run --raw`` runs the actual operator's execute method and
+  performs the actual work
diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
new file mode 100644
index 0000000..2a1f1c1
--- /dev/null
+++ b/_sources/index.rst.txt
@@ -0,0 +1,89 @@
+
+.. image:: img/pin_large.png
+    :width: 100
+.. image:: img/incubator.jpg
+    :width: 150
+
+Apache Airflow (incubating) Documentation
+=========================================
+
+.. important::
+
+    **Disclaimer**: Apache Airflow is an effort undergoing incubation at The
+    Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+    Incubation is required of all newly accepted projects until a further
+    review indicates that the infrastructure, communications, and
+    decision making process have stabilized in a manner consistent with
+    other successful ASF projects. While incubation status is not
+    necessarily a reflection of the completeness or stability of
+    the code, it does indicate that the project has yet to be fully
+    endorsed by the ASF.
+
+
+Airflow is a platform to programmatically author, schedule and monitor
+workflows.
+
+Use airflow to author workflows as directed acyclic graphs (DAGs) of tasks.
+The airflow scheduler executes your tasks on an array of workers while
+following the specified dependencies. Rich command line utilities make
+performing complex surgeries on DAGs a snap. The rich user interface
+makes it easy to visualize pipelines running in production,
+monitor progress, and troubleshoot issues when needed.
+
+When workflows are defined as code, they become more maintainable,
+versionable, testable, and collaborative.
+
+
+
+.. image:: img/airflow.gif
+
+------------
+
+Principles
+----------
+
+- **Dynamic**:  Airflow pipelines are configuration as code (Python), allowing for dynamic pipeline generation. This allows for writing code that instantiates pipelines dynamically.
+- **Extensible**:  Easily define your own operators, executors and extend the library so that it fits the level of abstraction that suits your environment.
+- **Elegant**:  Airflow pipelines are lean and explicit. Parameterizing your scripts is built into the core of Airflow using the powerful **Jinja** templating engine.
+- **Scalable**:  Airflow has a modular architecture and uses a message queue to orchestrate an arbitrary number of workers. Airflow is ready to scale to infinity.
+
+
+Beyond the Horizon
+------------------
+
+Airflow **is not** a data streaming solution. Tasks do not move data from
+one to the other (though tasks can exchange metadata!). Airflow is not
+in the `Spark Streaming <http://spark.apache.org/streaming/>`_
+or `Storm <https://storm.apache.org/>`_ space, it is more comparable to
+`Oozie <http://oozie.apache.org/>`_ or
+`Azkaban <http://data.linkedin.com/opensource/azkaban>`_.
+
+Workflows are expected to be mostly static or slowly changing. You can think
+of the structure of the tasks in your workflow as slightly more dynamic
+than a database structure would be. Airflow workflows are expected to look
+similar from a run to the next, this allows for clarity around
+unit of work and continuity.
+
+
+Content
+-------
+.. toctree::
+    :maxdepth: 4
+
+    project
+    license
+    start
+    installation
+    tutorial
+    configuration
+    ui
+    concepts
+    profiling
+    cli
+    scheduler
+    plugins
+    security
+    api
+    integration
+    faq
+    code
diff --git a/_sources/installation.rst.txt b/_sources/installation.rst.txt
new file mode 100644
index 0000000..289f64f
--- /dev/null
+++ b/_sources/installation.rst.txt
@@ -0,0 +1,90 @@
+Installation
+------------
+
+Getting Airflow
+'''''''''''''''
+
+The easiest way to install the latest stable version of Airflow is with ``pip``:
+
+.. code-block:: bash
+
+    pip install airflow
+
+You can also install Airflow with support for extra features like ``s3`` or ``postgres``:
+
+.. code-block:: bash
+
+    pip install "airflow[s3, postgres]"
+
+Extra Packages
+''''''''''''''
+
+The ``airflow`` PyPI basic package only installs what's needed to get started.
+Subpackages can be installed depending on what will be useful in your
+environment. For instance, if you don't need connectivity with Postgres,
+you won't have to go through the trouble of installing the ``postgres-devel``
+yum package, or whatever equivalent applies on the distribution you are using.
+
+Behind the scenes, Airflow does conditional imports of operators that require
+these extra dependencies.
+
+Here's the list of the subpackages and what they enable:
+
++---------------+-------------------------------------+-------------------------------------------------+
+| subpackage    |     install command                 | enables                                         |
++===============+=====================================+=================================================+
+|  all          | ``pip install airflow[all]``        | All Airflow features known to man               |
++---------------+-------------------------------------+-------------------------------------------------+
+|  all_dbs      | ``pip install airflow[all_dbs]``    | All databases integrations                      |
++---------------+-------------------------------------+-------------------------------------------------+
+|  async        | ``pip install airflow[async]``      | Async worker classes for gunicorn               |
++---------------+-------------------------------------+-------------------------------------------------+
+|  devel        | ``pip install airflow[devel]``      | Minimum dev tools requirements                  |
++---------------+-------------------------------------+-------------------------------------------------+
+|  devel_hadoop |``pip install airflow[devel_hadoop]``| Airflow + dependencies on the Hadoop stack      |
++---------------+-------------------------------------+-------------------------------------------------+
+|  celery       | ``pip install airflow[celery]``     | CeleryExecutor                                  |
++---------------+-------------------------------------+-------------------------------------------------+
+|  crypto       | ``pip install airflow[crypto]``     | Encrypt connection passwords in metadata db     |
++---------------+-------------------------------------+-------------------------------------------------+
+|  druid        | ``pip install airflow[druid]``      | Druid.io related operators & hooks              |
++---------------+-------------------------------------+-------------------------------------------------+
+|  gcp_api      | ``pip install airflow[gcp_api]``    | Google Cloud Platform hooks and operators       |
+|               |                                     | (using ``google-api-python-client``)            |
++---------------+-------------------------------------+-------------------------------------------------+
+|  jdbc         | ``pip install airflow[jdbc]``       | JDBC hooks and operators                        |
++---------------+-------------------------------------+-------------------------------------------------+
+|  hdfs         | ``pip install airflow[hdfs]``       | HDFS hooks and operators                        |
++---------------+-------------------------------------+-------------------------------------------------+
+|  hive         | ``pip install airflow[hive]``       | All Hive related operators                      |
++---------------+-------------------------------------+-------------------------------------------------+
+|  kerberos     | ``pip install airflow[kerberos]``   | kerberos integration for kerberized hadoop      |
++---------------+-------------------------------------+-------------------------------------------------+
+|  ldap         | ``pip install airflow[ldap]``       | ldap authentication for users                   |
++---------------+-------------------------------------+-------------------------------------------------+
+|  mssql        | ``pip install airflow[mssql]``      | Microsoft SQL operators and hook,               |
+|               |                                     | support as an Airflow backend                   |
++---------------+-------------------------------------+-------------------------------------------------+
+|  mysql        | ``pip install airflow[mysql]``      | MySQL operators and hook, support as            |
+|               |                                     | an Airflow backend                              |
++---------------+-------------------------------------+-------------------------------------------------+
+|  password     | ``pip install airflow[password]``   | Password Authentication for users               |
++---------------+-------------------------------------+-------------------------------------------------+
+|  postgres     | ``pip install airflow[postgres]``   | Postgres operators and hook, support            |
+|               |                                     | as an Airflow backend                           |
++---------------+-------------------------------------+-------------------------------------------------+
+|  qds          | ``pip install airflow[qds]``        | Enable QDS (qubole data services) support       |
++---------------+-------------------------------------+-------------------------------------------------+
+|  rabbitmq     | ``pip install airflow[rabbitmq]``   | Rabbitmq support as a Celery backend            |
++---------------+-------------------------------------+-------------------------------------------------+
+|  s3           | ``pip install airflow[s3]``         | ``S3KeySensor``, ``S3PrefixSensor``             |
++---------------+-------------------------------------+-------------------------------------------------+
+|  samba        | ``pip install airflow[samba]``      | ``Hive2SambaOperator``                          |
++---------------+-------------------------------------+-------------------------------------------------+
+|  slack        | ``pip install airflow[slack]``      | ``SlackAPIPostOperator``                        |
++---------------+-------------------------------------+-------------------------------------------------+
+|  vertica      | ``pip install airflow[vertica]``    | Vertica hook                                    |
+|               |                                     | support as an Airflow backend                   |
++---------------+-------------------------------------+-------------------------------------------------+
+|  cloudant     | ``pip install airflow[cloudant]``   | Cloudant hook                                   |
++---------------+-------------------------------------+-------------------------------------------------+
diff --git a/_sources/integration.rst.txt b/_sources/integration.rst.txt
new file mode 100644
index 0000000..10bc038
--- /dev/null
+++ b/_sources/integration.rst.txt
@@ -0,0 +1,246 @@
+Integration
+===========
+
+- :ref:`AWS`
+- :ref:`GCP`
+
+.. _AWS:
+
+AWS: Amazon Webservices
+-----------------------
+
+---
+
+.. _GCP:
+
+GCP: Google Cloud Platform
+--------------------------
+
+Airflow has extensive support for the Google Cloud Platform. But note that most Hooks and
+Operators are in the contrib section. Meaning that they have a *beta* status, meaning that
+they can have breaking changes between minor releases.
+
+BigQuery
+''''''''
+
+BigQuery Operators
+^^^^^^^^^^^^^^^^^^
+
+- :ref:`BigQueryCheckOperator` : Performs checks against a SQL query that will return a single row with different values.
+- :ref:`BigQueryValueCheckOperator` : Performs a simple value check using SQL code.
+- :ref:`BigQueryIntervalCheckOperator` : Checks that the values of metrics given as SQL expressions are within a certain tolerance of the ones from days_back before.
+- :ref:`BigQueryOperator` : Executes BigQuery SQL queries in a specific BigQuery database.
+- :ref:`BigQueryToBigQueryOperator` : Copy a BigQuery table to another BigQuery table.
+- :ref:`BigQueryToCloudStorageOperator` : Transfers a BigQuery table to a Google Cloud Storage bucket
+
+
+.. _BigQueryCheckOperator:
+
+BigQueryCheckOperator
+"""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_check_operator.BigQueryCheckOperator
+
+.. _BigQueryValueCheckOperator:
+
+BigQueryValueCheckOperator
+""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_check_operator.BigQueryValueCheckOperator
+
+.. _BigQueryIntervalCheckOperator:
+
+BigQueryIntervalCheckOperator
+"""""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_check_operator.BigQueryIntervalCheckOperator
+
+.. _BigQueryOperator:
+
+BigQueryOperator
+""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_operator.BigQueryOperator
+
+.. _BigQueryToBigQueryOperator:
+
+BigQueryToBigQueryOperator
+""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_to_bigquery.BigQueryToBigQueryOperator
+
+.. _BigQueryToCloudStorageOperator:
+
+BigQueryToCloudStorageOperator
+""""""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
+
+
+BigQueryHook
+^^^^^^^^^^^^
+
+.. autoclass:: airflow.contrib.hooks.bigquery_hook.BigQueryHook
+    :members:
+
+
+Cloud DataFlow
+''''''''''''''
+
+DataFlow Operators
+^^^^^^^^^^^^^^^^^^
+
+- :ref:`DataFlowJavaOperator` :
+
+.. _DataFlowJavaOperator:
+
+DataFlowJavaOperator
+""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataflow_operator.DataFlowJavaOperator
+
+.. code:: python
+
+    default_args = {
+        'owner': 'airflow',
+        'depends_on_past': False,
+        'start_date':
+            (2016, 8, 1),
+        'email': ['alex@vanboxel.be'],
+        'email_on_failure': False,
+        'email_on_retry': False,
+        'retries': 1,
+        'retry_delay': timedelta(minutes=30),
+        'dataflow_default_options': {
+            'project': 'my-gcp-project',
+            'zone': 'us-central1-f',
+            'stagingLocation': 'gs://bucket/tmp/dataflow/staging/',
+        }
+    }
+
+    dag = DAG('test-dag', default_args=default_args)
+
+    task = DataFlowJavaOperator(
+        gcp_conn_id='gcp_default',
+        task_id='normalize-cal',
+        jar='{{var.value.gcp_dataflow_base}}pipeline-ingress-cal-normalize-1.0.jar',
+        options={
+            'autoscalingAlgorithm': 'BASIC',
+            'maxNumWorkers': '50',
+            'start': '{{ds}}',
+            'partitionType': 'DAY'
+
+        },
+        dag=dag)
+
+DataFlowHook
+^^^^^^^^^^^^
+
+.. autoclass:: airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook
+    :members:
+
+
+
+Cloud DataProc
+''''''''''''''
+
+DataProc Operators
+^^^^^^^^^^^^^^^^^^
+
+- :ref:`DataProcPigOperator` : Start a Pig query Job on a Cloud DataProc cluster.
+- :ref:`DataProcHiveOperator` : Start a Hive query Job on a Cloud DataProc cluster.
+- :ref:`DataProcSparkSqlOperator` : Start a Spark SQL query Job on a Cloud DataProc cluster.
+- :ref:`DataProcSparkOperator` : Start a Spark Job on a Cloud DataProc cluster.
+- :ref:`DataProcHadoopOperator` : Start a Hadoop Job on a Cloud DataProc cluster.
+- :ref:`DataProcPySparkOperator` : Start a PySpark Job on a Cloud DataProc cluster.
+
+.. _DataProcPigOperator:
+
+DataProcPigOperator
+"""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcPigOperator
+
+.. _DataProcHiveOperator:
+
+DataProcHiveOperator
+""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcHiveOperator
+
+.. _DataProcSparkSqlOperator:
+
+DataProcSparkSqlOperator
+""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcSparkSqlOperator
+
+.. _DataProcSparkOperator:
+
+DataProcSparkOperator
+"""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcSparkOperator
+
+.. _DataProcHadoopOperator:
+
+DataProcHadoopOperator
+""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcHadoopOperator
+
+.. _DataProcPySparkOperator:
+
+DataProcPySparkOperator
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. autoclass:: airflow.contrib.operators.dataproc_operator.DataProcPySparkOperator
+    :members:
+
+
+Cloud Datastore
+'''''''''''''''
+
+Datastore Operators
+^^^^^^^^^^^^^^^^^^^
+
+DatastoreHook
+~~~~~~~~~~~~~
+
+.. autoclass:: airflow.contrib.hooks.datastore_hook.DatastoreHook
+    :members:
+
+
+
+Cloud Storage
+'''''''''''''
+
+Storage Operators
+^^^^^^^^^^^^^^^^^
+
+- :ref:`GoogleCloudStorageDownloadOperator` : Downloads a file from Google Cloud Storage.
+- :ref:`GoogleCloudStorageToBigQueryOperator` : Loads files from Google cloud storage into BigQuery.
+
+.. _GoogleCloudStorageDownloadOperator:
+
+GoogleCloudStorageDownloadOperator
+""""""""""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator
+    :members:
+
+.. _GoogleCloudStorageToBigQueryOperator:
+
+GoogleCloudStorageToBigQueryOperator
+""""""""""""""""""""""""""""""""""""
+
+.. autoclass:: airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator
+    :members:
+
+
+GoogleCloudStorageHook
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. autoclass:: airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook
+    :members:
+
diff --git a/_sources/license.rst.txt b/_sources/license.rst.txt
new file mode 100644
index 0000000..9da26c0
--- /dev/null
+++ b/_sources/license.rst.txt
@@ -0,0 +1,211 @@
+License
+=======
+
+.. image:: img/apache.jpg
+    :width: 150
+
+::
+
+    Apache License
+    Version 2.0, January 2004
+    http://www.apache.org/licenses/
+
+    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+    1. Definitions.
+
+       "License" shall mean the terms and conditions for use, reproduction,
+       and distribution as defined by Sections 1 through 9 of this document.
+
+       "Licensor" shall mean the copyright owner or entity authorized by
+       the copyright owner that is granting the License.
+
+       "Legal Entity" shall mean the union of the acting entity and all
+       other entities that control, are controlled by, or are under common
+       control with that entity. For the purposes of this definition,
+       "control" means (i) the power, direct or indirect, to cause the
+       direction or management of such entity, whether by contract or
+       otherwise, or (ii) ownership of fifty percent (50%) or more of the
+       outstanding shares, or (iii) beneficial ownership of such entity.
+
+       "You" (or "Your") shall mean an individual or Legal Entity
+       exercising permissions granted by this License.
+
+       "Source" form shall mean the preferred form for making modifications,
+       including but not limited to software source code, documentation
+       source, and configuration files.
+
+       "Object" form shall mean any form resulting from mechanical
+       transformation or translation of a Source form, including but
+       not limited to compiled object code, generated documentation,
+       and conversions to other media types.
+
+       "Work" shall mean the work of authorship, whether in Source or
+       Object form, made available under the License, as indicated by a
+       copyright notice that is included in or attached to the work
+       (an example is provided in the Appendix below).
+
+       "Derivative Works" shall mean any work, whether in Source or Object
+       form, that is based on (or derived from) the Work and for which the
+       editorial revisions, annotations, elaborations, or other modifications
+       represent, as a whole, an original work of authorship. For the purposes
+       of this License, Derivative Works shall not include works that remain
+       separable from, or merely link (or bind by name) to the interfaces of,
+       the Work and Derivative Works thereof.
+
+       "Contribution" shall mean any work of authorship, including
+       the original version of the Work and any modifications or additions
+       to that Work or Derivative Works thereof, that is intentionally
+       submitted to Licensor for inclusion in the Work by the copyright owner
+       or by an individual or Legal Entity authorized to submit on behalf of
+       the copyright owner. For the purposes of this definition, "submitted"
+       means any form of electronic, verbal, or written communication sent
+       to the Licensor or its representatives, including but not limited to
+       communication on electronic mailing lists, source code control systems,
+       and issue tracking systems that are managed by, or on behalf of, the
+       Licensor for the purpose of discussing and improving the Work, but
+       excluding communication that is conspicuously marked or otherwise
+       designated in writing by the copyright owner as "Not a Contribution."
+
+       "Contributor" shall mean Licensor and any individual or Legal Entity
+       on behalf of whom a Contribution has been received by Licensor and
+       subsequently incorporated within the Work.
+
+    2. Grant of Copyright License. Subject to the terms and conditions of
+       this License, each Contributor hereby grants to You a perpetual,
+       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+       copyright license to reproduce, prepare Derivative Works of,
+       publicly display, publicly perform, sublicense, and distribute the
+       Work and such Derivative Works in Source or Object form.
+
+    3. Grant of Patent License. Subject to the terms and conditions of
+       this License, each Contributor hereby grants to You a perpetual,
+       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+       (except as stated in this section) patent license to make, have made,
+       use, offer to sell, sell, import, and otherwise transfer the Work,
+       where such license applies only to those patent claims licensable
+       by such Contributor that are necessarily infringed by their
+       Contribution(s) alone or by combination of their Contribution(s)
+       with the Work to which such Contribution(s) was submitted. If You
+       institute patent litigation against any entity (including a
+       cross-claim or counterclaim in a lawsuit) alleging that the Work
+       or a Contribution incorporated within the Work constitutes direct
+       or contributory patent infringement, then any patent licenses
+       granted to You under this License for that Work shall terminate
+       as of the date such litigation is filed.
+
+    4. Redistribution. You may reproduce and distribute copies of the
+       Work or Derivative Works thereof in any medium, with or without
+       modifications, and in Source or Object form, provided that You
+       meet the following conditions:
+
+       (a) You must give any other recipients of the Work or
+           Derivative Works a copy of this License; and
+
+       (b) You must cause any modified files to carry prominent notices
+           stating that You changed the files; and
+
+       (c) You must retain, in the Source form of any Derivative Works
+           that You distribute, all copyright, patent, trademark, and
+           attribution notices from the Source form of the Work,
+           excluding those notices that do not pertain to any part of
+           the Derivative Works; and
+
+       (d) If the Work includes a "NOTICE" text file as part of its
+           distribution, then any Derivative Works that You distribute must
+           include a readable copy of the attribution notices contained
+           within such NOTICE file, excluding those notices that do not
+           pertain to any part of the Derivative Works, in at least one
+           of the following places: within a NOTICE text file distributed
+           as part of the Derivative Works; within the Source form or
+           documentation, if provided along with the Derivative Works; or,
+           within a display generated by the Derivative Works, if and
+           wherever such third-party notices normally appear. The contents
+           of the NOTICE file are for informational purposes only and
+           do not modify the License. You may add Your own attribution
+           notices within Derivative Works that You distribute, alongside
+           or as an addendum to the NOTICE text from the Work, provided
+           that such additional attribution notices cannot be construed
+           as modifying the License.
+
+       You may add Your own copyright statement to Your modifications and
+       may provide additional or different license terms and conditions
+       for use, reproduction, or distribution of Your modifications, or
+       for any such Derivative Works as a whole, provided Your use,
+       reproduction, and distribution of the Work otherwise complies with
+       the conditions stated in this License.
+
+    5. Submission of Contributions. Unless You explicitly state otherwise,
+       any Contribution intentionally submitted for inclusion in the Work
+       by You to the Licensor shall be under the terms and conditions of
+       this License, without any additional terms or conditions.
+       Notwithstanding the above, nothing herein shall supersede or modify
+       the terms of any separate license agreement you may have executed
+       with Licensor regarding such Contributions.
+
+    6. Trademarks. This License does not grant permission to use the trade
+       names, trademarks, service marks, or product names of the Licensor,
+       except as required for reasonable and customary use in describing the
+       origin of the Work and reproducing the content of the NOTICE file.
+
+    7. Disclaimer of Warranty. Unless required by applicable law or
+       agreed to in writing, Licensor provides the Work (and each
+       Contributor provides its Contributions) on an "AS IS" BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+       implied, including, without limitation, any warranties or conditions
+       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+       PARTICULAR PURPOSE. You are solely responsible for determining the
+       appropriateness of using or redistributing the Work and assume any
+       risks associated with Your exercise of permissions under this License.
+
+    8. Limitation of Liability. In no event and under no legal theory,
+       whether in tort (including negligence), contract, or otherwise,
+       unless required by applicable law (such as deliberate and grossly
+       negligent acts) or agreed to in writing, shall any Contributor be
+       liable to You for damages, including any direct, indirect, special,
+       incidental, or consequential damages of any character arising as a
+       result of this License or out of the use or inability to use the
+       Work (including but not limited to damages for loss of goodwill,
+       work stoppage, computer failure or malfunction, or any and all
+       other commercial damages or losses), even if such Contributor
+       has been advised of the possibility of such damages.
+
+    9. Accepting Warranty or Additional Liability. While redistributing
+       the Work or Derivative Works thereof, You may choose to offer,
+       and charge a fee for, acceptance of support, warranty, indemnity,
+       or other liability obligations and/or rights consistent with this
+       License. However, in accepting such obligations, You may act only
+       on Your own behalf and on Your sole responsibility, not on behalf
+       of any other Contributor, and only if You agree to indemnify,
+       defend, and hold each Contributor harmless for any liability
+       incurred by, or claims asserted against, such Contributor by reason
+       of your accepting any such warranty or additional liability.
+
+    END OF TERMS AND CONDITIONS
+
+    APPENDIX: How to apply the Apache License to your work.
+
+       To apply the Apache License to your work, attach the following
+       boilerplate notice, with the fields enclosed by brackets "[]"
+       replaced with your own identifying information. (Don't include
+       the brackets!)  The text should be enclosed in the appropriate
+       comment syntax for the file format. We also recommend that a
+       file or class name and description of purpose be included on the
+       same "printed page" as the copyright notice for easier
+       identification within third-party archives.
+
+    Copyright 2015 Apache Software Foundation
+
+    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
+
+        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.
+    Status API Training Shop Blog About
+    © 2016 GitHub, Inc. Terms Privacy Security Contact Help
diff --git a/_sources/plugins.rst.txt b/_sources/plugins.rst.txt
new file mode 100644
index 0000000..8d2078f
--- /dev/null
+++ b/_sources/plugins.rst.txt
@@ -0,0 +1,144 @@
+Plugins
+=======
+
+Airflow has a simple plugin manager built-in that can integrate external
+features to its core by simply dropping files in your
+``$AIRFLOW_HOME/plugins`` folder.
+
+The python modules in the ``plugins`` folder get imported,
+and **hooks**, **operators**, **macros**, **executors** and web **views**
+get integrated to Airflow's main collections and become available for use.
+
+What for?
+---------
+
+Airflow offers a generic toolbox for working with data. Different
+organizations have different stacks and different needs. Using Airflow
+plugins can be a way for companies to customize their Airflow installation
+to reflect their ecosystem.
+
+Plugins can be used as an easy way to write, share and activate new sets of
+features.
+
+There's also a need for a set of more complex applications to interact with
+different flavors of data and metadata.
+
+Examples:
+
+* A set of tools to parse Hive logs and expose Hive metadata (CPU /IO / phases/ skew /...)
+* An anomaly detection framework, allowing people to collect metrics, set thresholds and alerts
+* An auditing tool, helping understand who accesses what
+* A config-driven SLA monitoring tool, allowing you to set monitored tables and at what time
+  they should land, alert people, and expose visualizations of outages
+* ...
+
+Why build on top of Airflow?
+----------------------------
+
+Airflow has many components that can be reused when building an application:
+
+* A web server you can use to render your views
+* A metadata database to store your models
+* Access to your databases, and knowledge of how to connect to them
+* An array of workers that your application can push workload to
+* Airflow is deployed, you can just piggy back on it's deployment logistics
+* Basic charting capabilities, underlying libraries and abstractions
+
+
+Interface
+---------
+
+To create a plugin you will need to derive the
+``airflow.plugins_manager.AirflowPlugin`` class and reference the objects
+you want to plug into Airflow. Here's what the class you need to derive
+looks like:
+
+
+.. code:: python
+
+    class AirflowPlugin(object):
+        # The name of your plugin (str)
+        name = None
+        # A list of class(es) derived from BaseOperator
+        operators = []
+        # A list of class(es) derived from BaseHook
+        hooks = []
+        # A list of class(es) derived from BaseExecutor
+        executors = []
+        # A list of references to inject into the macros namespace
+        macros = []
+        # A list of objects created from a class derived
+        # from flask_admin.BaseView
+        admin_views = []
+        # A list of Blueprint object created from flask.Blueprint
+        flask_blueprints = []
+        # A list of menu links (flask_admin.base.MenuLink)
+        menu_links = []
+
+
+Example
+-------
+
+The code below defines a plugin that injects a set of dummy object
+definitions in Airflow.
+
+.. code:: python
+
+    # This is the class you derive to create a plugin
+    from airflow.plugins_manager import AirflowPlugin
+
+    from flask import Blueprint
+    from flask_admin import BaseView, expose
+    from flask_admin.base import MenuLink
+
+    # Importing base classes that we need to derive
+    from airflow.hooks.base_hook import BaseHook
+    from airflow.models import  BaseOperator
+    from airflow.executors.base_executor import BaseExecutor
+
+    # Will show up under airflow.hooks.test_plugin.PluginHook
+    class PluginHook(BaseHook):
+        pass
+
+    # Will show up under airflow.operators.test_plugin.PluginOperator
+    class PluginOperator(BaseOperator):
+        pass
+
+    # Will show up under airflow.executors.test_plugin.PluginExecutor
+    class PluginExecutor(BaseExecutor):
+        pass
+
+    # Will show up under airflow.macros.test_plugin.plugin_macro
+    def plugin_macro():
+        pass
+
+    # Creating a flask admin BaseView
+    class TestView(BaseView):
+        @expose('/')
+        def test(self):
+            # in this example, put your test_plugin/test.html template at airflow/plugins/templates/test_plugin/test.html
+            return self.render("test_plugin/test.html", content="Hello galaxy!")
+    v = TestView(category="Test Plugin", name="Test View")
+
+    # Creating a flask blueprint to intergrate the templates and static folder
+    bp = Blueprint(
+        "test_plugin", __name__,
+        template_folder='templates', # registers airflow/plugins/templates as a Jinja template folder
+        static_folder='static',
+        static_url_path='/static/test_plugin')
+
+    ml = MenuLink(
+        category='Test Plugin',
+        name='Test Menu Link',
+        url='http://pythonhosted.org/airflow/')
+
+    # Defining the plugin class
+    class AirflowTestPlugin(AirflowPlugin):
+        name = "test_plugin"
+        operators = [PluginOperator]
+        hooks = [PluginHook]
+        executors = [PluginExecutor]
+        macros = [plugin_macro]
+        admin_views = [v]
+        flask_blueprints = [bp]
+        menu_links = [ml]
diff --git a/_sources/profiling.rst.txt b/_sources/profiling.rst.txt
new file mode 100644
index 0000000..93e6b6b
--- /dev/null
+++ b/_sources/profiling.rst.txt
@@ -0,0 +1,39 @@
+Data Profiling
+==============
+
+Part of being productive with data is having the right weapons to
+profile the data you are working with. Airflow provides a simple query
+interface to write SQL and get results quickly, and a charting application
+letting you visualize data.
+
+Adhoc Queries
+-------------
+The adhoc query UI allows for simple SQL interactions with the database
+connections registered in Airflow.
+
+.. image:: img/adhoc.png
+
+Charts
+------
+A simple UI built on top of flask-admin and highcharts allows building
+data visualizations and charts easily. Fill in a form with a label, SQL,
+chart type, pick a source database from your environment's connectons,
+select a few other options, and save it for later use.
+
+You can even use the same templating and macros available when writing
+airflow pipelines, parameterizing your queries and modifying parameters
+directly in the URL.
+
+These charts are basic, but they're easy to create, modify and share.
+
+Chart Screenshot
+................
+
+.. image:: img/chart.png
+
+-----
+
+Chart Form Screenshot
+.....................
+
+.. image:: img/chart_form.png
diff --git a/_sources/project.rst.txt b/_sources/project.rst.txt
new file mode 100644
index 0000000..2fbd516
--- /dev/null
+++ b/_sources/project.rst.txt
@@ -0,0 +1,49 @@
+Project
+=======
+
+History
+-------
+
+Airflow was started in October 2014 by Maxime Beauchemin at Airbnb.
+It was open source from the very first commit and officially brought under
+the Airbnb Github and announced in June 2015.
+
+The project joined the Apache Software Foundation's incubation program in March 2016.
+
+
+Committers
+----------
+
+- @mistercrunch (Maxime "Max" Beauchemin)
+- @r39132 (Siddharth "Sid" Anand)
+- @criccomini (Chris Riccomini)
+- @bolkedebruin (Bolke de Bruin)
+- @artwr (Arthur Wiedmer)
+- @jlowin (Jeremiah Lowin)
+- @patrickleotardif (Patrick Leo Tardif)
+- @aoen (Dan Davydov)
+- @syvineckruyk (Steven Yvinec-Kruyk)
+
+For the full list of contributors, take a look at `Airflow's Github
+Contributor page:
+<https://github.com/apache/incubator-airflow/graphs/contributors>`_
+
+
+Resources & links
+-----------------
+
+* `Airflow's official documentation <http://airflow.apache.org/>`_
+* Mailing list (send emails to
+  ``dev-subscribe@airflow.incubator.apache.org`` and/or
+  ``commits-subscribe@airflow.incubator.apache.org``
+  to subscribe to each)
+* `Issues on Apache's Jira <https://issues.apache.org/jira/browse/AIRFLOW>`_
+* `Gitter (chat) Channel <https://gitter.im/airbnb/airflow>`_
+* `More resources and links to Airflow related content on the Wiki <https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Links>`_
+
+
+
+Roadmap
+-------
+
+Please refer to the Roadmap on `the wiki <https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Home>`_
diff --git a/_sources/scheduler.rst.txt b/_sources/scheduler.rst.txt
new file mode 100644
index 0000000..749d58a
--- /dev/null
+++ b/_sources/scheduler.rst.txt
@@ -0,0 +1,153 @@
+Scheduling & Triggers
+=====================
+
+The Airflow scheduler monitors all tasks and all DAGs, and triggers the
+task instances whose dependencies have been met. Behind the scenes,
+it monitors and stays in sync with a folder for all DAG objects it may contain,
+and periodically (every minute or so) inspects active tasks to see whether
+they can be triggered.
+
+The Airflow scheduler is designed to run as a persistent service in an
+Airflow production environment. To kick it off, all you need to do is
+execute ``airflow scheduler``. It will use the configuration specified in
+``airflow.cfg``.
+
+Note that if you run a DAG on a ``schedule_interval`` of one day,
+the run stamped ``2016-01-01`` will be trigger soon after ``2016-01-01T23:59``.
+In other words, the job instance is started once the period it covers
+has ended.
+
+**Let's Repeat That** The scheduler runs your job one ``schedule_interval`` AFTER the
+start date, at the END of the period.
+
+The scheduler starts an instance of the executor specified in the your
+``airflow.cfg``. If it happens to be the ``LocalExecutor``, tasks will be
+executed as subprocesses; in the case of ``CeleryExecutor`` and
+``MesosExecutor``, tasks are executed remotely.
+
+To start a scheduler, simply run the command:
+
+.. code:: bash
+
+    airflow scheduler
+
+
+DAG Runs
+''''''''
+
+A DAG Run is an object representing an instantiation of the DAG in time.
+
+Each DAG may or may not have a schedule, which informs how ``DAG Runs`` are
+created. ``schedule_interval`` is defined as a DAG arguments, and receives
+preferably a
+`cron expression <https://en.wikipedia.org/wiki/Cron#CRON_expression>`_ as
+a ``str``, or a ``datetime.timedelta`` object. Alternatively, you can also
+use one of these cron "preset":
+
++--------------+----------------------------------------------------------------+---------------+
+| preset       | Run once a year at midnight of January 1                       | cron          |
++==============+================================================================+===============+
+| ``None``     | Don't schedule, use for exclusively "externally triggered"     |               |
+|              | DAGs                                                           |               |
++--------------+----------------------------------------------------------------+---------------+
+| ``@once``    | Schedule once and only once                                    |               |
++--------------+----------------------------------------------------------------+---------------+
+| ``@hourly``  | Run once an hour at the beginning of the hour                  | ``0 * * * *`` |
++--------------+----------------------------------------------------------------+---------------+
+| ``@daily``   | Run once a day at midnight                                     | ``0 0 * * *`` |
++--------------+----------------------------------------------------------------+---------------+
+| ``@weekly``  | Run once a week at midnight on Sunday morning                  | ``0 0 * * 0`` |
++--------------+----------------------------------------------------------------+---------------+
+| ``@monthly`` | Run once a month at midnight of the first day of the month     | ``0 0 1 * *`` |
++--------------+----------------------------------------------------------------+---------------+
+| ``@yearly``  | Run once a year at midnight of January 1                       | ``0 0 1 1 *`` |
++--------------+----------------------------------------------------------------+---------------+
+
+
+Your DAG will be instantiated
+for each schedule, while creating a ``DAG Run`` entry for each schedule.
+
+DAG runs have a state associated to them (running, failed, success) and
+informs the scheduler on which set of schedules should be evaluated for
+task submissions. Without the metadata at the DAG run level, the Airflow
+scheduler would have much more work to do in order to figure out what tasks
+should be triggered and come to a crawl. It might also create undesired
+processing when changing the shape of your DAG, by say adding in new
+tasks.
+
+Backfill and Catchup
+''''''''''''''''''''
+
+An Airflow DAG with a ``start_date``, possibly an ``end_date``, and a ``schedule_interval`` defines a
+series of intervals which the scheduler turn into individual Dag Runs and execute. A key capability of
+Airflow is that these DAG Runs are atomic, idempotent items, and the scheduler, by default, will examine
+the lifetime of the DAG (from start to end/now, one interval at a time) and kick off a DAG Run for any
+interval that has not been run (or has been cleared). This concept is called Catchup.
+
+If your DAG is written to handle it's own catchup (IE not limited to the interval, but instead to "Now"
+for instance.), then you will want to turn catchup off (Either on the DAG itself with ``dag.catchup =
+False``) or by default at the configuration file level with ``catchup_by_default = False``. What this
+will do, is to instruct the scheduler to only create a DAG Run for the most current instance of the DAG
+interval series.
+
+.. code:: python
+    """
+    Code that goes along with the Airflow tutorial located at:
+    https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py
+    """
+    from airflow import DAG
+    from airflow.operators.bash_operator import BashOperator
+    from datetime import datetime, timedelta
+
+
+    default_args = {
+        'owner': 'airflow',
+        'depends_on_past': False,
+        'start_date': datetime(2015, 12, 1),
+        'email': ['airflow@airflow.com'],
+        'email_on_failure': False,
+        'email_on_retry': False,
+        'retries': 1,
+        'retry_delay': timedelta(minutes=5),
+        'schedule_interval': '@hourly',
+    }
+
+    dag = DAG('tutorial', catchup=False, default_args=default_args)
+
+In the example above, if the DAG is picked up by the scheduler daemon on 2016-01-02 at 6 AM, (or from the
+command line), a single DAG Run will be created, with an ``execution_date`` of 2016-01-01, and the next
+one will be created just after midnight on the morning of 2016-01-03 with an execution date of 2016-01-02.
+
+If the ``dag.catchup`` value had been True instead, the scheduler would have created a DAG Run for each
+completed interval between 2015-12-01 and 2016-01-02 (but not yet one for 2016-01-02, as that interval
+hasn't completed) and the scheduler will execute them sequentially. This behavior is great for atomic
+datasets that can easily be split into periods. Turning catchup off is great if your DAG Runs perform
+backfill internally.
+
+External Triggers
+'''''''''''''''''
+
+Note that ``DAG Runs`` can also be created manually through the CLI while
+running an ``airflow trigger_dag`` command, where you can define a
+specific ``run_id``. The ``DAG Runs`` created externally to the
+scheduler get associated to the trigger's timestamp, and will be displayed
+in the UI alongside scheduled ``DAG runs``.
+
+
+To Keep in Mind
+'''''''''''''''
+* The first ``DAG Run`` is created based on the minimum ``start_date`` for the
+  tasks in your DAG.
+* Subsequent ``DAG Runs`` are created by the scheduler process, based on
+  your DAG's ``schedule_interval``, sequentially.
+* When clearing a set of tasks' state in hope of getting them to re-run,
+  it is important to keep in mind the ``DAG Run``'s state too as it defines
+  whether the scheduler should look into triggering tasks for that run.
+
+Here are some of the ways you can **unblock tasks**:
+
+* From the UI, you can **clear** (as in delete the status of) individual task instances from the task instances dialog, while defining whether you want to includes the past/future and the upstream/downstream dependencies. Note that a confirmation window comes next and allows you to see the set you are about to clear.
+* The CLI command ``airflow clear -h`` has lots of options when it comes to clearing task instance states, including specifying date ranges, targeting task_ids by specifying a regular expression, flags for including upstream and downstream relatives, and targeting task instances in specific states (``failed``, or ``success``)
+* Marking task instances as successful can be done through the UI. This is mostly to fix false negatives, or for instance when the fix has been applied outside of Airflow.
+* The ``airflow backfill`` CLI subcommand has a flag to ``--mark_success`` and allows selecting subsections of the DAG as well as specifying date ranges.
+
diff --git a/_sources/security.rst.txt b/_sources/security.rst.txt
new file mode 100644
index 0000000..70db606
--- /dev/null
+++ b/_sources/security.rst.txt
@@ -0,0 +1,334 @@
+Security
+========
+
+By default, all gates are opened. An easy way to restrict access
+to the web application is to do it at the network level, or by using
+SSH tunnels.
+
+It is however possible to switch on authentication by either using one of the supplied
+backends or create your own.
+
+Web Authentication
+------------------
+
+Password
+''''''''
+
+One of the simplest mechanisms for authentication is requiring users to specify a password before logging in.
+Password authentication requires the used of the ``password`` subpackage in your requirements file. Password hashing
+uses bcrypt before storing passwords.
+
+.. code-block:: bash
+
+    [webserver]
+    authenticate = True
+    auth_backend = airflow.contrib.auth.backends.password_auth
+
+When password auth is enabled, an initial user credential will need to be created before anyone can login. An initial
+user was not created in the migrations for this authenication backend to prevent default Airflow installations from
+attack. Creating a new user has to be done via a Python REPL on the same machine Airflow is installed.
+
+.. code-block:: bash
+
+    # navigate to the airflow installation directory
+    $ cd ~/airflow
+    $ python
+    Python 2.7.9 (default, Feb 10 2015, 03:28:08)
+    Type "help", "copyright", "credits" or "license" for more information.
+    >>> import airflow
+    >>> from airflow import models, settings
+    >>> from airflow.contrib.auth.backends.password_auth import PasswordUser
+    >>> user = PasswordUser(models.User())
+    >>> user.username = 'new_user_name'
+    >>> user.email = 'new_user_email@example.com'
+    >>> user.password = 'set_the_password'
+    >>> session = settings.Session()
+    >>> session.add(user)
+    >>> session.commit()
+    >>> session.close()
+    >>> exit()
+
+LDAP
+''''
+
+To turn on LDAP authentication configure your ``airflow.cfg`` as follows. Please note that the example uses
+an encrypted connection to the ldap server as you probably do not want passwords be readable on the network level.
+It is however possible to configure without encryption if you really want to.
+
+Additionally, if you are using Active Directory, and are not explicitly specifying an OU that your users are in,
+you will need to change ``search_scope`` to "SUBTREE".
+
+Valid search_scope options can be found in the `ldap3 Documentation <http://ldap3.readthedocs.org/searches.html?highlight=search_scope>`_
+
+.. code-block:: bash
+
+    [webserver]
+    authenticate = True
+    auth_backend = airflow.contrib.auth.backends.ldap_auth
+
+    [ldap]
+    # set a connection without encryption: uri = ldap://<your.ldap.server>:<port>
+    uri = ldaps://<your.ldap.server>:<port>
+    user_filter = objectClass=*
+    # in case of Active Directory you would use: user_name_attr = sAMAccountName
+    user_name_attr = uid
+    superuser_filter = memberOf=CN=airflow-super-users,OU=Groups,OU=RWC,OU=US,OU=NORAM,DC=example,DC=com
+    data_profiler_filter = memberOf=CN=airflow-data-profilers,OU=Groups,OU=RWC,OU=US,OU=NORAM,DC=example,DC=com
+    bind_user = cn=Manager,dc=example,dc=com
+    bind_password = insecure
+    basedn = dc=example,dc=com
+    cacert = /etc/ca/ldap_ca.crt
+    # Set search_scope to one of them:  BASE, LEVEL , SUBTREE
+    # Set search_scope to SUBTREE if using Active Directory, and not specifying an Organizational Unit
+    search_scope = LEVEL
+
+The superuser_filter and data_profiler_filter are optional. If defined, these configurations allow you to specify LDAP groups that users must belong to in order to have superuser (admin) and data-profiler permissions. If undefined, all users will be superusers and data profilers.
+
+Roll your own
+'''''''''''''
+
+Airflow uses ``flask_login`` and
+exposes a set of hooks in the ``airflow.default_login`` module. You can
+alter the content and make it part of the ``PYTHONPATH`` and configure it as a backend in ``airflow.cfg```.
+
+.. code-block:: bash
+
+    [webserver]
+    authenticate = True
+    auth_backend = mypackage.auth
+
+Multi-tenancy
+-------------
+
+You can filter the list of dags in webserver by owner name, when authentication
+is turned on, by setting webserver.filter_by_owner as true in your ``airflow.cfg``
+With this, when a user authenticates and logs into webserver, it will see only the dags
+which it is owner of. A super_user, will be able to see all the dags although.
+This makes the web UI a multi-tenant UI, where a user will only be able to see dags
+created by itself.
+
+
+Kerberos
+--------
+
+Airflow has initial support for Kerberos. This means that airflow can renew kerberos
+tickets for itself and store it in the ticket cache. The hooks and dags can make use of ticket
+to authenticate against kerberized services.
+
+Limitations
+'''''''''''
+
+Please note that at this time not all hooks have been adjusted to make use of this functionality yet.
+Also it does not integrate kerberos into the web interface and you will have to rely on network
+level security for now to make sure your service remains secure.
+
+Celery integration has not been tried and tested yet. However if you generate a key tab for every host
+and launch a ticket renewer next to every worker it will most likely work.
+
+Enabling kerberos
+'''''''''''''''''
+
+#### Airflow
+
+To enable kerberos you will need to generate a (service) key tab.
+
+.. code-block:: bash
+
+    # in the kadmin.local or kadmin shell, create the airflow principal
+    kadmin:  addprinc -randkey airflow/fully.qualified.domain.name@YOUR-REALM.COM
+
+    # Create the airflow keytab file that will contain the airflow principal
+    kadmin:  xst -norandkey -k airflow.keytab airflow/fully.qualified.domain.name
+
+Now store this file in a location where the airflow user can read it (chmod 600). And then add the following to
+your ``airflow.cfg``
+
+.. code-block:: bash
+
+    [core]
+    security = kerberos
+
+    [kerberos]
+    keytab = /etc/airflow/airflow.keytab
+    reinit_frequency = 3600
+    principal = airflow
+
+Launch the ticket renewer by
+
+.. code-block:: bash
+
+    # run ticket renewer
+    airflow kerberos
+
+#### Hadoop
+
+If want to use impersonation this needs to be enabled in ``core-site.xml`` of your hadoop config.
+
+.. code-block:: bash
+
+    <property>
+      <name>hadoop.proxyuser.airflow.groups</name>
+      <value>*</value>
+    </property>
+
+    <property>
+      <name>hadoop.proxyuser.airflow.users</name>
+      <value>*</value>
+    </property>
+
+    <property>
+      <name>hadoop.proxyuser.airflow.hosts</name>
+      <value>*</value>
+    </property>
+
+Of course if you need to tighten your security replace the asterisk with something more appropriate.
+
+Using kerberos authentication
+'''''''''''''''''''''''''''''
+
+The hive hook has been updated to take advantage of kerberos authentication. To allow your DAGs to use it simply
+update the connection details with, for example:
+
+.. code-block:: bash
+
+    { "use_beeline": true, "principal": "hive/_HOST@EXAMPLE.COM"}
+
+Adjust the principal to your settings. The _HOST part will be replaced by the fully qualified domain name of
+the server.
+
+You can specify if you would like to use the dag owner as the user for the connection or the user specified in the login
+section of the connection. For the login user specify the following as extra:
+
+.. code-block:: bash
+
+    { "use_beeline": true, "principal": "hive/_HOST@EXAMPLE.COM", "proxy_user": "login"}
+
+For the DAG owner use:
+
+.. code-block:: bash
+
+    { "use_beeline": true, "principal": "hive/_HOST@EXAMPLE.COM", "proxy_user": "owner"}
+
+and in your DAG, when initializing the HiveOperator, specify
+
+.. code-block:: bash
+
+    run_as_owner=True
+
+OAuth Authentication
+--------------------
+
+GitHub Enterprise (GHE) Authentication
+''''''''''''''''''''''''''''''''''''''
+
+The GitHub Enterprise authentication backend can be used to authenticate users
+against an installation of GitHub Enterprise using OAuth2. You can optionally
+specify a team whitelist (composed of slug cased team names) to restrict login
+to only members of those teams.
+
+*NOTE* If you do not specify a team whitelist, anyone with a valid account on
+your GHE installation will be able to login to Airflow.
+
+.. code-block:: bash
+
+    [webserver]
+    authenticate = True
+    auth_backend = airflow.contrib.auth.backends.github_enterprise_auth
+
+    [github_enterprise]
+    host = github.example.com
+    client_id = oauth_key_from_github_enterprise
+    client_secret = oauth_secret_from_github_enterprise
+    oauth_callback_route = /example/ghe_oauth/callback
+    allowed_teams = 1, 345, 23
+
+Setting up GHE Authentication
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+An application must be setup in GHE before you can use the GHE authentication
+backend. In order to setup an application:
+
+1. Navigate to your GHE profile
+2. Select 'Applications' from the left hand nav
+3. Select the 'Developer Applications' tab
+4. Click 'Register new application'
+5. Fill in the required information (the 'Authorization callback URL' must be fully qualifed e.g. http://airflow.example.com/example/ghe_oauth/callback)
+6. Click 'Register application'
+7. Copy 'Client ID', 'Client Secret', and your callback route to your airflow.cfg according to the above example
+
+Google Authentication
+'''''''''''''''''''''
+
+The Google authentication backend can be used to authenticate users
+against Google using OAuth2. You must specify a domain to restrict login
+to only members of that domain.
+
+.. code-block:: bash
+
+    [webserver]
+    authenticate = True
+    auth_backend = airflow.contrib.auth.backends.google_auth
+
+    [google]
+    client_id = google_client_id
+    client_secret = google_client_secret
+    oauth_callback_route = /oauth2callback
+    domain = example.com
+
+Setting up Google Authentication
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+An application must be setup in the Google API Console before you can use the Google authentication
+backend. In order to setup an application:
+
+1. Navigate to https://console.developers.google.com/apis/
+2. Select 'Credentials' from the left hand nav
+3. Click 'Create credentials' and choose 'OAuth client ID'
+4. Choose 'Web application'
+5. Fill in the required information (the 'Authorized redirect URIs' must be fully qualifed e.g. http://airflow.example.com/oauth2callback)
+6. Click 'Create'
+7. Copy 'Client ID', 'Client Secret', and your redirect URI to your airflow.cfg according to the above example
+
+SSL
+---
+
+SSL can be enabled by providing a certificate and key. Once enabled, be sure to use
+"https://" in your browser.
+
+.. code-block:: bash
+
+    [webserver]
+    web_server_ssl_cert = <path to cert>
+    web_server_ssl_key = <path to key>
+
+Enabling SSL will not automatically change the web server port. If you want to use the
+standard port 443, you'll need to configure that too. Be aware that super user privileges
+(or cap_net_bind_service on Linux) are required to listen on port 443.
+
+.. code-block:: bash
+
+    # Optionally, set the server to listen on the standard SSL port.
+    web_server_port = 443
+    base_url = http://<hostname or IP>:443
+
+Impersonation
+'''''''''''''
+
+Airflow has the ability to impersonate a unix user while running task
+instances based on the task's ``run_as_user`` parameter, which takes a user's name.
+
+*NOTE* For impersonations to work, Airflow must be run with `sudo` as subtasks are run
+with `sudo -u` and permissions of files are changed. Furthermore, the unix user needs to
+exist on the worker. Here is what a simple sudoers file entry could look like to achieve
+this, assuming as airflow is running as the `airflow` user. Note that this means that
+the airflow user must be trusted and treated the same way as the root user.
+
+.. code-block:: none
+    airflow ALL=(ALL) NOPASSWD: ALL
+
+Subtasks with impersonation will still log to the same folder, except that the files they
+log to will have permissions changed such that only the unix user can write to it.
+
+*Default impersonation* To prevent tasks that don't use impersonation to be run with
+`sudo` privileges, you can set the `default_impersonation` config in `core` which sets a
+default user impersonate if `run_as_user` is not set.
diff --git a/_sources/start.rst.txt b/_sources/start.rst.txt
new file mode 100644
index 0000000..cc41d4b
--- /dev/null
+++ b/_sources/start.rst.txt
@@ -0,0 +1,49 @@
+Quick Start
+-----------
+
+The installation is quick and straightforward.
+
+.. code-block:: bash
+
+    # airflow needs a home, ~/airflow is the default,
+    # but you can lay foundation somewhere else if you prefer
+    # (optional)
+    export AIRFLOW_HOME=~/airflow
+
+    # install from pypi using pip
+    pip install airflow
+
+    # initialize the database
+    airflow initdb
+
+    # start the web server, default port is 8080
+    airflow webserver -p 8080
+
+Upon running these commands, Airflow will create the ``$AIRFLOW_HOME`` folder
+and lay an "airflow.cfg" file with defaults that get you going fast. You can
+inspect the file either in ``$AIRFLOW_HOME/airflow.cfg``, or through the UI in
+the ``Admin->Configuration`` menu. The PID file for the webserver will be stored
+in ``$AIRFLOW_HOME/airflow-webserver.pid`` or in ``/run/airflow/webserver.pid``
+if started by systemd.
+
+Out of the box, Airflow uses a sqlite database, which you should outgrow
+fairly quickly since no parallelization is possible using this database
+backend. It works in conjunction with the ``SequentialExecutor`` which will
+only run task instances sequentially. While this is very limiting, it allows
+you to get up and running quickly and take a tour of the UI and the
+command line utilities.
+
+Here are a few commands that will trigger a few task instances. You should
+be able to see the status of the jobs change in the ``example1`` DAG as you
+run the commands below.
+
+.. code-block:: bash
+
+    # run your first task instance
+    airflow run example_bash_operator runme_0 2015-01-01
+    # run a backfill over 2 days
+    airflow backfill example_bash_operator -s 2015-01-01 -e 2015-01-02
+
+What's Next?
+''''''''''''
+From this point, you can head to the :doc:`tutorial` section for further examples or the :doc:`configuration` section if you're ready to get your hands dirty.
diff --git a/_sources/tutorial.rst.txt b/_sources/tutorial.rst.txt
new file mode 100644
index 0000000..97bbe11
--- /dev/null
+++ b/_sources/tutorial.rst.txt
@@ -0,0 +1,429 @@
+
+Tutorial
+================
+
+This tutorial walks you through some of the fundamental Airflow concepts,
+objects, and their usage while writing your first pipeline.
+
+Example Pipeline definition
+---------------------------
+
+Here is an example of a basic pipeline definition. Do not worry if this looks
+complicated, a line by line explanation follows below.
+
+.. code:: python
+
+    """
+    Code that goes along with the Airflow tutorial located at:
+    https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py
+    """
+    from airflow import DAG
+    from airflow.operators.bash_operator import BashOperator
+    from datetime import datetime, timedelta
+
+
+    default_args = {
+        'owner': 'airflow',
+        'depends_on_past': False,
+        'start_date': datetime(2015, 6, 1),
+        'email': ['airflow@airflow.com'],
+        'email_on_failure': False,
+        'email_on_retry': False,
+        'retries': 1,
+        'retry_delay': timedelta(minutes=5),
+        # 'queue': 'bash_queue',
+        # 'pool': 'backfill',
+        # 'priority_weight': 10,
+        # 'end_date': datetime(2016, 1, 1),
+    }
+
+    dag = DAG('tutorial', default_args=default_args)
+
+    # t1, t2 and t3 are examples of tasks created by instantiating operators
+    t1 = BashOperator(
+        task_id='print_date',
+        bash_command='date',
+        dag=dag)
+
+    t2 = BashOperator(
+        task_id='sleep',
+        bash_command='sleep 5',
+        retries=3,
+        dag=dag)
+
+    templated_command = """
+        {% for i in range(5) %}
+            echo "{{ ds }}"
+            echo "{{ macros.ds_add(ds, 7)}}"
+            echo "{{ params.my_param }}"
+        {% endfor %}
+    """
+
+    t3 = BashOperator(
+        task_id='templated',
+        bash_command=templated_command,
+        params={'my_param': 'Parameter I passed in'},
+        dag=dag)
+
+    t2.set_upstream(t1)
+    t3.set_upstream(t1)
+
+
+It's a DAG definition file
+--------------------------
+
+One thing to wrap your head around (it may not be very intuitive for everyone
+at first) is that this Airflow Python script is really
+just a configuration file specifying the DAG's structure as code.
+The actual tasks defined here will run in a different context from
+the context of this script. Different tasks run on different workers
+at different points in time, which means that this script cannot be used
+to cross communicate between tasks. Note that for this
+purpose we have a more advanced feature called ``XCom``.
+
+People sometimes think of the DAG definition file as a place where they
+can do some actual data processing - that is not the case at all!
+The script's purpose is to define a DAG object. It needs to evaluate
+quickly (seconds, not minutes) since the scheduler will execute it
+periodically to reflect the changes if any.
+
+
+Importing Modules
+-----------------
+
+An Airflow pipeline is just a Python script that happens to define an
+Airflow DAG object. Let's start by importing the libraries we will need.
+
+.. code:: python
+
+    # The DAG object; we'll need this to instantiate a DAG
+    from airflow import DAG
+
+    # Operators; we need this to operate!
+    from airflow.operators.bash_operator import BashOperator
+
+Default Arguments
+-----------------
+We're about to create a DAG and some tasks, and we have the choice to
+explicitly pass a set of arguments to each task's constructor
+(which would become redundant), or (better!) we can define a dictionary
+of default parameters that we can use when creating tasks.
+
+.. code:: python
+
+    from datetime import datetime, timedelta
+
+    default_args = {
+        'owner': 'airflow',
+        'depends_on_past': False,
+        'start_date': datetime(2015, 6, 1),
+        'email': ['airflow@airflow.com'],
+        'email_on_failure': False,
+        'email_on_retry': False,
+        'retries': 1,
+        'retry_delay': timedelta(minutes=5),
+        # 'queue': 'bash_queue',
+        # 'pool': 'backfill',
+        # 'priority_weight': 10,
+        # 'end_date': datetime(2016, 1, 1),
+    }
+
+For more information about the BaseOperator's parameters and what they do,
+refer to the :py:class:``airflow.models.BaseOperator`` documentation.
+
+Also, note that you could easily define different sets of arguments that
+would serve different purposes. An example of that would be to have
+different settings between a production and development environment.
+
+
+Instantiate a DAG
+-----------------
+
+We'll need a DAG object to nest our tasks into. Here we pass a string
+that defines the ``dag_id``, which serves as a unique identifier for your DAG.
+We also pass the default argument dictionary that we just defined and
+define a ``schedule_interval`` of 1 day for the DAG.
+
+.. code:: python
+
+    dag = DAG(
+        'tutorial', default_args=default_args, schedule_interval=timedelta(1))
+
+Tasks
+-----
+Tasks are generated when instantiating operator objects. An object
+instantiated from an operator is called a constructor. The first argument
+``task_id`` acts as a unique identifier for the task.
+
+.. code:: python
+
+    t1 = BashOperator(
+        task_id='print_date',
+        bash_command='date',
+        dag=dag)
+
+    t2 = BashOperator(
+        task_id='sleep',
+        bash_command='sleep 5',
+        retries=3,
+        dag=dag)
+
+Notice how we pass a mix of operator specific arguments (``bash_command``) and
+an argument common to all operators (``retries``) inherited
+from BaseOperator to the operator's constructor. This is simpler than
+passing every argument for every constructor call. Also, notice that in
+the second task we override the ``retries`` parameter with ``3``.
+
+The precedence rules for a task are as follows:
+
+1.  Explicitly passed arguments
+2.  Values that exist in the ``default_args`` dictionary
+3.  The operator's default value, if one exists
+
+A task must include or inherit the arguments ``task_id`` and ``owner``,
+otherwise Airflow will raise an exception.
+
+Templating with Jinja
+---------------------
+Airflow leverages the power of
+`Jinja Templating <http://jinja.pocoo.org/docs/dev/>`_  and provides
+the pipeline author
+with a set of built-in parameters and macros. Airflow also provides
+hooks for the pipeline author to define their own parameters, macros and
+templates.
+
+This tutorial barely scratches the surface of what you can do with
+templating in Airflow, but the goal of this section is to let you know
+this feature exists, get you familiar with double curly brackets, and
+point to the most common template variable: ``{{ ds }}``.
+
+.. code:: python
+
+    templated_command = """
+        {% for i in range(5) %}
+            echo "{{ ds }}"
+            echo "{{ macros.ds_add(ds, 7) }}"
+            echo "{{ params.my_param }}"
+        {% endfor %}
+    """
+
+    t3 = BashOperator(
+        task_id='templated',
+        bash_command=templated_command,
+        params={'my_param': 'Parameter I passed in'},
+        dag=dag)
+
+Notice that the ``templated_command`` contains code logic in ``{% %}`` blocks,
+references parameters like ``{{ ds }}``, calls a function as in
+``{{ macros.ds_add(ds, 7)}}``, and references a user-defined parameter
+in ``{{ params.my_param }}``.
+
+The ``params`` hook in ``BaseOperator`` allows you to pass a dictionary of
+parameters and/or objects to your templates. Please take the time
+to understand how the parameter ``my_param`` makes it through to the template.
+
+Files can also be passed to the ``bash_command`` argument, like
+``bash_command='templated_command.sh'``, where the file location is relative to
+the directory containing the pipeline file (``tutorial.py`` in this case). This
+may be desirable for many reasons, like separating your script's logic and
+pipeline code, allowing for proper code highlighting in files composed in
+different languages, and general flexibility in structuring pipelines. It is
+also possible to define your ``template_searchpath`` as pointing to any folder
+locations in the DAG constructor call.
+
+For more information on the variables and macros that can be referenced
+in templates, make sure to read through the :ref:`macros` section
+
+Setting up Dependencies
+-----------------------
+We have two simple tasks that do not depend on each other. Here's a few ways
+you can define dependencies between them:
+
+.. code:: python
+
+    t2.set_upstream(t1)
+
+    # This means that t2 will depend on t1
+    # running successfully to run
+    # It is equivalent to
+    # t1.set_downstream(t2)
+
+    t3.set_upstream(t1)
+
+    # all of this is equivalent to
+    # dag.set_dependency('print_date', 'sleep')
+    # dag.set_dependency('print_date', 'templated')
+
+Note that when executing your script, Airflow will raise exceptions when
+it finds cycles in your DAG or when a dependency is referenced more
+than once.
+
+Recap
+-----
+Alright, so we have a pretty basic DAG. At this point your code should look
+something like this:
+
+.. code:: python
+
+    """
+    Code that goes along with the Airflow located at:
+    http://airflow.readthedocs.org/en/latest/tutorial.html
+    """
+    from airflow import DAG
+    from airflow.operators.bash_operator import BashOperator
+    from datetime import datetime, timedelta
+
+
+    default_args = {
+        'owner': 'airflow',
+        'depends_on_past': False,
+        'start_date': datetime(2015, 6, 1),
+        'email': ['airflow@airflow.com'],
+        'email_on_failure': False,
+        'email_on_retry': False,
+        'retries': 1,
+        'retry_delay': timedelta(minutes=5),
+        # 'queue': 'bash_queue',
+        # 'pool': 'backfill',
+        # 'priority_weight': 10,
+        # 'end_date': datetime(2016, 1, 1),
+    }
+
+    dag = DAG(
+        'tutorial', default_args=default_args, schedule_interval=timedelta(1))
+
+    # t1, t2 and t3 are examples of tasks created by instantiating operators
+    t1 = BashOperator(
+        task_id='print_date',
+        bash_command='date',
+        dag=dag)
+
+    t2 = BashOperator(
+        task_id='sleep',
+        bash_command='sleep 5',
+        retries=3,
+        dag=dag)
+
+    templated_command = """
+        {% for i in range(5) %}
+            echo "{{ ds }}"
+            echo "{{ macros.ds_add(ds, 7)}}"
+            echo "{{ params.my_param }}"
+        {% endfor %}
+    """
+
+    t3 = BashOperator(
+        task_id='templated',
+        bash_command=templated_command,
+        params={'my_param': 'Parameter I passed in'},
+        dag=dag)
+
+    t2.set_upstream(t1)
+    t3.set_upstream(t1)
+
+Testing
+--------
+
+Running the Script
+''''''''''''''''''
+
+Time to run some tests. First let's make sure that the pipeline
+parses. Let's assume we're saving the code from the previous step in
+``tutorial.py`` in the DAGs folder referenced in your ``airflow.cfg``.
+The default location for your DAGs is ``~/airflow/dags``.
+
+.. code-block:: bash
+
+    python ~/airflow/dags/tutorial.py
+
+If the script does not raise an exception it means that you haven't done
+anything horribly wrong, and that your Airflow environment is somewhat
+sound.
+
+Command Line Metadata Validation
+'''''''''''''''''''''''''''''''''
+Let's run a few commands to validate this script further.
+
+.. code-block:: bash
+
+    # print the list of active DAGs
+    airflow list_dags
+
+    # prints the list of tasks the "tutorial" dag_id
+    airflow list_tasks tutorial
+
+    # prints the hierarchy of tasks in the tutorial DAG
+    airflow list_tasks tutorial --tree
+
+
+Testing
+'''''''
+Let's test by running the actual task instances on a specific date. The
+date specified in this context is an ``execution_date``, which simulates the
+scheduler running your task or dag at a specific date + time:
+
+.. code-block:: bash
+
+    # command layout: command subcommand dag_id task_id date
+
+    # testing print_date
+    airflow test tutorial print_date 2015-06-01
+
+    # testing sleep
+    airflow test tutorial sleep 2015-06-01
+
+Now remember what we did with templating earlier? See how this template
+gets rendered and executed by running this command:
+
+.. code-block:: bash
+
+    # testing templated
+    airflow test tutorial templated 2015-06-01
+
+This should result in displaying a verbose log of events and ultimately
+running your bash command and printing the result.
+
+Note that the ``airflow test`` command runs task instances locally, outputs
+their log to stdout (on screen), doesn't bother with dependencies, and
+doesn't communicate state (running, success, failed, ...) to the database.
+It simply allows testing a single task instance.
+
+Backfill
+''''''''
+Everything looks like it's running fine so let's run a backfill.
+``backfill`` will respect your dependencies, emit logs into files and talk to
+the database to record status. If you do have a webserver up, you'll be able
+to track the progress. ``airflow webserver`` will start a web server if you
+are interested in tracking the progress visually as your backfill progresses.
+
+Note that if you use ``depends_on_past=True``, individual task instances
+will depend on the success of the preceding task instance, except for the
+start_date specified itself, for which this dependency is disregarded.
+
+The date range in this context is a ``start_date`` and optionally an ``end_date``,
+which are used to populate the run schedule with task instances from this dag.
+
+.. code-block:: bash
+
+    # optional, start a web server in debug mode in the background
+    # airflow webserver --debug &
+
+    # start your backfill on a date range
+    airflow backfill tutorial -s 2015-06-01 -e 2015-06-07
+
+What's Next?
+-------------
+That's it, you've written, tested and backfilled your very first Airflow
+pipeline. Merging your code into a code repository that has a master scheduler
+running against it should get it to get triggered and run every day.
+
+Here's a few things you might want to do next:
+
+* Take an in-depth tour of the UI - click all the things!
+* Keep reading the docs! Especially the sections on:
+
+    * Command line interface
+    * Operators
+    * Macros
+
+* Write your first pipeline!
diff --git a/_sources/ui.rst.txt b/_sources/ui.rst.txt
new file mode 100644
index 0000000..4b232fa
--- /dev/null
+++ b/_sources/ui.rst.txt
@@ -0,0 +1,102 @@
+UI / Screenshots
+=================
+The Airflow UI make it easy to monitor and troubleshoot your data pipelines.
+Here's a quick overview of some of the features and visualizations you
+can find in the Airflow UI.
+
+
+DAGs View
+.........
+List of the DAGs in your environment, and a set of shortcuts to useful pages.
+You can see exactly how many tasks succeeded, failed, or are currently
+running at a glance.
+
+------------
+
+.. image:: img/dags.png
+
+------------
+
+
+Tree View
+.........
+A tree representation of the DAG that spans across time. If a pipeline is
+late, you can quickly see where the different steps are and identify
+the blocking ones.
+
+------------
+
+.. image:: img/tree.png
+
+------------
+
+Graph View
+..........
+The graph view is perhaps the most comprehensive. Visualize your DAG's
+dependencies and their current status for a specific run.
+
+------------
+
+.. image:: img/graph.png
+
+------------
+
+Variable View
+.............
+The variable view allows you to list, create, edit or delete the key-value pair
+of a variable used during jobs. Value of a variable will be hidden if the key contains
+any words in ('password', 'secret', 'passwd', 'authorization', 'api_key', 'apikey', 'access_token')
+by default, but can be configured to show in clear-text.
+
+------------
+
+.. image:: img/variable_hidden.png
+
+------------
+
+Gantt Chart
+...........
+The Gantt chart lets you analyse task duration and overlap. You can quickly
+identify bottlenecks and where the bulk of the time is spent for specific
+DAG runs.
+
+------------
+
+.. image:: img/gantt.png
+
+------------
+
+Task Duration
+.............
+The duration of your different tasks over the past N runs. This view lets
+you find outliers and quickly understand where the time is spent in your
+DAG over many runs.
+
+
+------------
+
+.. image:: img/duration.png
+
+------------
+
+Code View
+.........
+Transparency is everything. While the code for your pipeline is in source
+control, this is a quick way to get to the code that generates the DAG and
+provide yet more context.
+
+------------
+
+.. image:: img/code.png
+
+------------
+
+Task Instance Context Menu
+..........................
+From the pages seen above (tree view, graph view, gantt, ...), it is always
+possible to click on a task instance, and get to this rich context menu
+that can take you to more detailed metadata, and perform some actions.
+
+------------
+
+.. image:: img/context.png
diff --git a/_static/fonts/Inconsolata.ttf b/_static/fonts/Inconsolata.ttf
new file mode 100644
index 0000000..4b8a36d
Binary files /dev/null and b/_static/fonts/Inconsolata.ttf differ
diff --git a/_static/jquery-3.1.0.js b/_static/jquery-3.1.0.js
new file mode 100644
index 0000000..f2fc274
--- /dev/null
+++ b/_static/jquery-3.1.0.js
@@ -0,0 +1,10074 @@
+/*eslint-disable no-unused-vars*/
+/*!
+ * jQuery JavaScript Library v3.1.0
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2016-07-07T21:44Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+	function DOMEval( code, doc ) {
+		doc = doc || document;
+
+		var script = doc.createElement( "script" );
+
+		script.text = code;
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+/* global Symbol */
+// Defining this global in .eslintrc would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.1.0",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return letter.toUpperCase();
+	};
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+		return num != null ?
+
+			// Return just the one element from the set
+			( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+			// Return all the elements in a clean array
+			slice.call( this );
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = jQuery.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && jQuery.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isFunction: function( obj ) {
+		return jQuery.type( obj ) === "function";
+	},
+
+	isArray: Array.isArray,
+
+	isWindow: function( obj ) {
+		return obj != null && obj === obj.window;
+	},
+
+	isNumeric: function( obj ) {
+
+		// As of jQuery 3.0, isNumeric is limited to
+		// strings and numbers (primitives or objects)
+		// that can be coerced to finite numbers (gh-2662)
+		var type = jQuery.type( obj );
+		return ( type === "number" || type === "string" ) &&
+
+			// parseFloat NaNs numeric-cast false positives ("")
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+			// subtraction forces infinities to NaN
+			!isNaN( obj - parseFloat( obj ) );
+	},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	type: function( obj ) {
+		if ( obj == null ) {
+			return obj + "";
+		}
+
+		// Support: Android <=2.3 only (functionish RegExp)
+		return typeof obj === "object" || typeof obj === "function" ?
+			class2type[ toString.call( obj ) ] || "object" :
+			typeof obj;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Support: IE <=9 - 11, Edge 12 - 13
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	nodeName: function( elem, name ) {
+		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	now: Date.now,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = jQuery.type( obj );
+
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.0
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-01-04
+ */
+(function( window ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; i < len; i++ ) {
+			if ( list[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rwhitespace = new RegExp( whitespace + "+", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+	rpseudo = new RegExp( pseudos ),
+	ridentifier = new RegExp( "^" + identifier + "$" ),
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + identifier + ")" ),
+		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+	},
+
+	rinputs = /^(?:input|select|textarea|button)$/i,
+	rheader = /^h\d$/i,
+
+	rnative = /^[^{]+\{\s*\[native \w/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true;
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+	// Known :disabled false positives:
+	// IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)
+	// not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Check form elements and option elements for explicit disabling
+		return "label" in elem && elem.disabled === disabled ||
+			"form" in elem && elem.disabled === disabled ||
+
+			// Check non-disabled form elements for fieldset[disabled] ancestors
+			"form" in elem && elem.disabled === false && (
+				// Support: IE6-11+
+				// Ancestry is covered for us
+				elem.isDisabled === disabled ||
+
+				// Otherwise, assume any non-<option> under fieldset[disabled] is disabled
+				/* jshint -W018 */
+				elem.isDisabled !== !disabled &&
+					("label" in elem || !disabledAncestor( elem )) !== disabled
+			);
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID find and filter
+	if ( support.getById ) {
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var m = context.getElementById( id );
+				return m ? [ m ] : [];
+			}
+		};
+		Expr.filter["ID"] = function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				return elem.getAttribute("id") === attrId;
+			};
+		};
+	} else {
+		// Support: IE6/7
+		// getElementById is not reliable as a find shortcut
+		delete Expr.find["ID"];
+
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		val :
+		support.attributes || !documentIsHTML ?
+			elem.getAttribute( name ) :
+			(val = elem.getAttributeNode(name)) && val.specified ?
+				val.value :
+				null;
+};
+
+Sizzle.escape = function( sel ) {
+	return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				function( elem ) {
+					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+				};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ className + " " ];
+
+			return pattern ||
+				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+				classCache( className, function( elem ) {
+					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.slice( -check.length ) === check :
+					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				function( elem ) {
+					return !!elem.parentNode;
+				} :
+
+				function( elem, context, xml ) {
+					var cache, uniqueCache, outerCache, node, nodeIndex, start,
+						dir = simple !== forward ? "nextSibling" : "previousSibling",
+						parent = elem.parentNode,
+						name = ofType && elem.nodeName.toLowerCase(),
+						useCache = !xml && !ofType,
+						diff = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							uniqueCache = outerCache[ node.uniqueID ] ||
+								(outerCache[ node.uniqueID ] = {});
+
+							cache = uniqueCache[ type ] || [];
+							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+							diff = nodeIndex && cache[ 2 ];
+							node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"target": function( elem ) {
+			var hash = window.location && window.location.hash;
+			return hash && hash.slice( 1 ) === elem.id;
+		},
+
+		"root": function( elem ) {
+			return elem === docElem;
+		},
+
+		"focus": function( elem ) {
+			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"first": createPositionalPseudo(function() {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+	var matched, match, tokens, type,
+		soFar, groups, preFilters,
+		cached = tokenCache[ selector + " " ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				(match = preFilters[ type ]( match ))) ) {
+				matched = match.shift();
+				tokens.push({
+					value: matched,
+					type: type,
+					matches: match
+				});
+				soFar = soFar.slice( matched.length );
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; i < len; i++ ) {
+		selector += tokens[i].value;
+	}
+	return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		skip = combinator.next,
+		key = skip || dir,
+		checkNonElements = base && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+					).replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && toSelector( tokens )
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, outermost ) {
+			var elem, j, matcher,
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				setMatched = [],
+				contextBackup = outermostContext,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				support.getById && context.nodeType === 9 && documentIsHTML &&
+				Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+
+	}
+
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+
+	}
+
+	if ( typeof qualifier === "string" ) {
+		if ( risSimple.test( qualifier ) ) {
+			return jQuery.filter( qualifier, elements, not );
+		}
+
+		qualifier = jQuery.filter( qualifier, elements );
+	}
+
+	return jQuery.grep( elements, function( elem ) {
+		return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+	} );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	return elems.length === 1 && elem.nodeType === 1 ?
+		jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+		jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+			return elem.nodeType === 1;
+		} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( i = 0; i < len; i++ ) {
+			jQuery.find( selector, self[ i ], ret );
+		}
+
+		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+	},
+	filter: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( jQuery.isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return sibling( elem, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return sibling( elem, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return siblings( ( elem.parentNode || {} ).firstChild, elem );
+	},
+	children: function( elem ) {
+		return siblings( elem.firstChild );
+	},
+	contents: function( elem ) {
+		return elem.contentDocument || jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+var rnotwhite = ( /\S+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( jQuery.isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Support: Android 4.0 only
+			// Strict mode functions invoked without .call/.apply get global-object context
+			resolve.call( undefined, value );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.call( undefined, value );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "notify", "progress", jQuery.Callbacks( "memory" ),
+					jQuery.Callbacks( "memory" ), 2 ],
+				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+			],
+			state = "pending",
+			promise = {
+				state: function() {
+					return state;
+				},
+				always: function() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && jQuery.isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( jQuery.isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+	}
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+	window.setTimeout( function() {
+		throw error;
+	} );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Hold (or release) the ready event
+	holdReady: function( hold ) {
+		if ( hold ) {
+			jQuery.readyWait++;
+		} else {
+			jQuery.ready( true );
+		}
+	},
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( jQuery.type( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !jQuery.isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	return chainable ?
+		elems :
+
+		// Gets
+		bulk ?
+			fn.call( elems ) :
+			len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ jQuery.camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( jQuery.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( jQuery.camelCase );
+			} else {
+				key = jQuery.camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnotwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = data === "true" ? true :
+					data === "false" ? false :
+					data === "null" ? null :
+
+					// Only convert to a number if it doesn't change the string
+					+data + "" === data ? +data :
+					rbrace.test( data ) ? JSON.parse( data ) :
+					data;
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+jQuery.extend( {
+	hasData: function( elem ) {
+		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+	},
+
+	data: function( elem, name, data ) {
+		return dataUser.access( elem, name, data );
+	},
+
+	removeData: function( elem, name ) {
+		dataUser.remove( elem, name );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_data: function( elem, name, data ) {
+		return dataPriv.access( elem, name, data );
+	},
+
+	_removeData: function( elem, name ) {
+		dataPriv.remove( elem, name );
+	}
+} );
+
+jQuery.fn.extend( {
+	data: function( key, value ) {
+		var i, name, data,
+			elem = this[ 0 ],
+			attrs = elem && elem.attributes;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = jQuery.camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || jQuery.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return queue || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			startLength = queue.length,
+			fn = queue.shift(),
+			hooks = jQuery._queueHooks( elem, type ),
+			next = function() {
+				jQuery.dequeue( elem, type );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_queueHooks: function( elem, type ) {
+		var key = type + "queueHooks";
+		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+			empty: jQuery.Callbacks( "once memory" ).add( function() {
+				dataPriv.remove( elem, [ type + "queue", key ] );
+			} )
+		} );
+	}
+} );
+
+jQuery.fn.extend( {
+	queue: function( type, data ) {
+		var setter = 2;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+
+var swap = function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+	var adjusted,
+		scale = 1,
+		maxIterations = 20,
+		currentValue = tween ?
+			function() {
+				return tween.cur();
+			} :
+			function() {
+				return jQuery.css( elem, prop, "" );
+			},
+		initial = currentValue(),
+		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		do {
+
+			// If previous iteration zeroed out, double until we get *something*.
+			// Use string for doubling so we don't accidentally see scale as unchanged below
+			scale = scale || ".5";
+
+			// Adjust and apply
+			initialInUnit = initialInUnit / scale;
+			jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Update scale, tolerating zero or NaN from tween.cur()
+		// Break the loop if scale is unchanged or perfect, or if we've just had enough.
+		} while (
+			scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+		);
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) ),
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	thead: [ 1, "<table>", "</table>" ],
+	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+	_default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret = typeof context.getElementsByTagName !== "undefined" ?
+			context.getElementsByTagName( tag || "*" ) :
+			typeof context.querySelectorAll !== "undefined" ?
+				context.querySelectorAll( tag || "*" ) :
+			[];
+
+	return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
+		jQuery.merge( [ context ], ret ) :
+		ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( jQuery.type( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	global: {},
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var handleObjIn, eventHandle, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.get( elem );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnotwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend( {
+				type: type,
+				origType: origType,
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+				namespace: namespaces.join( "." )
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var j, origCount, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+		if ( !elemData || !( events = elemData.events ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnotwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					( !handler || handler.guid === handleObj.guid ) &&
+					( !tmp || tmp.test( handleObj.namespace ) ) &&
+					( !selector || selector === handleObj.selector ||
+						selector === "**" && handleObj.selector ) ) {
+					handlers.splice( j, 1 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+					event.handleObj = handleObj;
+					event.data = handleObj.data;
+
+					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+						handleObj.handler ).apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, matches, sel, handleObj,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Support: IE <=9
+		// Find delegate handlers
+		// Black-hole SVG <use> instance trees (#13180)
+		//
+		// Support: Firefox <=42
+		// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
+		if ( delegateCount && cur.nodeType &&
+			( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
+					matches = [];
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matches[ sel ] === undefined ) {
+							matches[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matches[ sel ] ) {
+							matches.push( handleObj );
+						}
+					}
+					if ( matches.length ) {
+						handlerQueue.push( { elem: cur, handlers: matches } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			get: jQuery.isFunction( hook ) ?
+				function() {
+					if ( this.originalEvent ) {
+							return hook( this.originalEvent );
+					}
+				} :
+				function() {
+					if ( this.originalEvent ) {
+							return this.originalEvent[ name ];
+					}
+				},
+
+			set: function( value ) {
+				Object.defineProperty( this, name, {
+					enumerable: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return jQuery.nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+	mouseenter: "mouseover",
+	mouseleave: "mouseout",
+	pointerenter: "pointerover",
+	pointerleave: "pointerout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var ret,
+				target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+} );
+
+jQuery.fn.extend( {
+
+	on: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn );
+	},
+	one: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		var handleObj, type;
+		if ( types && types.preventDefault && types.handleObj ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rscriptTypeMasked = /^true\/(.*)/,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+function manipulationTarget( elem, content ) {
+	if ( jQuery.nodeName( elem, "table" ) &&
+		jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	var match = rscriptTypeMasked.exec( elem.type );
+
+	if ( match ) {
+		elem.type = match[ 1 ];
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( events ) {
+			delete pdataCur.handle;
+			pdataCur.events = {};
+
+			for ( type in events ) {
+				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+					jQuery.event.add( dest, type, events[ type ][ i ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	args = concat.apply( [], args );
+
+	var fragment, first, scripts, hasScripts, node, doc,
+		i = 0,
+		l = collection.length,
+		iNoClone = l - 1,
+		value = args[ 0 ],
+		isFunction = jQuery.isFunction( value );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( isFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( isFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function() {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		} );
+	},
+
+	html: function( value ) {
+		return access( this, function( value ) {
+			var elem = this[ 0 ] || {},
+				i = 0,
+				l = this.length;
+
+			if ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+
+
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		div.style.cssText =
+			"box-sizing:border-box;" +
+			"position:relative;display:block;" +
+			"margin:auto;border:1px;padding:1px;" +
+			"top:1%;width:50%";
+		div.innerHTML = "";
+		documentElement.appendChild( container );
+
+		var divStyle = window.getComputedStyle( div );
+		pixelPositionVal = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = divStyle.marginLeft === "2px";
+		boxSizingReliableVal = divStyle.width === "4px";
+
+		// Support: Android 4.0 - 4.3 only
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.marginRight = "50%";
+		pixelMarginRightVal = divStyle.marginRight === "4px";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
+		"padding:0;margin-top:1px;position:absolute";
+	container.appendChild( div );
+
+	jQuery.extend( support, {
+		pixelPosition: function() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelMarginRight: function() {
+			computeStyleTests();
+			return pixelMarginRightVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		}
+	} );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// Support: IE <=9 only
+	// getPropertyValue is only needed for .css('filter') (#12537)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+	var i = extra === ( isBorderBox ? "border" : "content" ) ?
+
+		// If we already have the right measurement, avoid augmentation
+		4 :
+
+		// Otherwise initialize for horizontal or vertical properties
+		name === "width" ? 1 : 0,
+
+		val = 0;
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin, so add it if we want it
+		if ( extra === "margin" ) {
+			val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+		}
+
+		if ( isBorderBox ) {
+
+			// border-box includes padding, so remove it if we want content
+			if ( extra === "content" ) {
+				val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// At this point, extra isn't border nor margin, so remove border
+			if ( extra !== "margin" ) {
+				val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		} else {
+
+			// At this point, extra isn't content, so add padding
+			val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// At this point, extra isn't content nor padding, so add border
+			if ( extra !== "padding" ) {
+				val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+	// Start with offset property, which is equivalent to the border-box value
+	var val,
+		valueIsBorderBox = true,
+		styles = getStyles( elem ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+	// Support: IE <=11 only
+	// Running getBoundingClientRect on a disconnected node
+	// in IE throws an error.
+	if ( elem.getClientRects().length ) {
+		val = elem.getBoundingClientRect()[ name ];
+	}
+
+	// Some non-html elements return undefined for offsetWidth, so check for null/undefined
+	// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
+	// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
+	if ( val <= 0 || val == null ) {
+
+		// Fall back to computed then uncomputed css if necessary
+		val = curCSS( elem, name, styles );
+		if ( val < 0 || val == null ) {
+			val = elem.style[ name ];
+		}
+
+		// Computed unit is not pixels. Stop here and return.
+		if ( rnumnonpx.test( val ) ) {
+			return val;
+		}
+
+		// Check for style in case a browser which returns unreliable values
+		// for getComputedStyle silently falls back to the reliable elem.style
+		valueIsBorderBox = isBorderBox &&
+			( support.boxSizingReliable() || val === elem.style[ name ] );
+
+		// Normalize "", auto, and prepare for extra
+		val = parseFloat( val ) || 0;
+	}
+
+	// Use the active box-sizing model to add/subtract irrelevant styles
+	return ( val +
+		augmentWidthOrHeight(
+			elem,
+			name,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {
+		"float": "cssFloat"
+	},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = jQuery.camelCase( name ),
+			style = elem.style;
+
+		name = jQuery.cssProps[ origName ] ||
+			( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
... 4452 lines suppressed ...


[airflow-site] 20/30: Revert "[AIRFLOW-5148] Add Google Analytics to the Airflow doc website (#3)"

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit bfe18bfe4e7095d779b81bb9ce978d6bc6123e6b
Author: kaxil <ka...@gmail.com>
AuthorDate: Thu Aug 8 23:22:55 2019 +0100

    Revert "[AIRFLOW-5148] Add Google Analytics to the Airflow doc website (#3)"
    
    This reverts commit 4321aaaa8b46da1fc60293db01349623ead28a32.
---
 1.10.4/_api/airflow/contrib/executors/index.html   | 23 +---------
 .../executors/kubernetes_executor/index.html       | 23 +---------
 .../contrib/executors/mesos_executor/index.html    | 23 +---------
 .../contrib/hooks/aws_athena_hook/index.html       | 23 +---------
 .../contrib/hooks/aws_dynamodb_hook/index.html     | 23 +---------
 .../contrib/hooks/aws_firehose_hook/index.html     | 23 +---------
 .../contrib/hooks/aws_glue_catalog_hook/index.html | 23 +---------
 .../_api/airflow/contrib/hooks/aws_hook/index.html | 23 +---------
 .../contrib/hooks/aws_lambda_hook/index.html       | 23 +---------
 .../airflow/contrib/hooks/aws_sns_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  | 23 +---------
 .../hooks/azure_container_instance_hook/index.html | 23 +---------
 .../hooks/azure_container_registry_hook/index.html | 23 +---------
 .../hooks/azure_container_volume_hook/index.html   | 23 +---------
 .../contrib/hooks/azure_cosmos_hook/index.html     | 23 +---------
 .../contrib/hooks/azure_data_lake_hook/index.html  | 23 +---------
 .../contrib/hooks/azure_fileshare_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/bigquery_hook/index.html | 23 +---------
 .../contrib/hooks/cassandra_hook/index.html        | 23 +---------
 .../airflow/contrib/hooks/cloudant_hook/index.html | 23 +---------
 .../contrib/hooks/databricks_hook/index.html       | 23 +---------
 .../airflow/contrib/hooks/datadog_hook/index.html  | 23 +---------
 .../contrib/hooks/datastore_hook/index.html        | 23 +---------
 .../airflow/contrib/hooks/dingding_hook/index.html | 23 +---------
 .../contrib/hooks/discord_webhook_hook/index.html  | 23 +---------
 .../_api/airflow/contrib/hooks/emr_hook/index.html | 23 +---------
 .../_api/airflow/contrib/hooks/fs_hook/index.html  | 23 +---------
 .../_api/airflow/contrib/hooks/ftp_hook/index.html | 23 +---------
 .../contrib/hooks/gcp_api_base_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_bigtable_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_cloud_build_hook/index.html  | 23 +---------
 .../contrib/hooks/gcp_compute_hook/index.html      | 23 +---------
 .../contrib/hooks/gcp_container_hook/index.html    | 23 +---------
 .../contrib/hooks/gcp_dataflow_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_dataproc_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  | 23 +---------
 .../contrib/hooks/gcp_function_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  | 23 +---------
 .../contrib/hooks/gcp_mlengine_hook/index.html     | 23 +---------
 .../hooks/gcp_natural_language_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_pubsub_hook/index.html       | 23 +---------
 .../contrib/hooks/gcp_spanner_hook/index.html      | 23 +---------
 .../hooks/gcp_speech_to_text_hook/index.html       | 23 +---------
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  | 23 +---------
 .../hooks/gcp_text_to_speech_hook/index.html       | 23 +---------
 .../contrib/hooks/gcp_transfer_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_translate_hook/index.html    | 23 +---------
 .../hooks/gcp_video_intelligence_hook/index.html   | 23 +---------
 .../contrib/hooks/gcp_vision_hook/index.html       | 23 +---------
 .../_api/airflow/contrib/hooks/gcs_hook/index.html | 23 +---------
 .../airflow/contrib/hooks/grpc_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/imap_hook/index.html     | 23 +---------
 1.10.4/_api/airflow/contrib/hooks/index.html       | 23 +---------
 .../airflow/contrib/hooks/jenkins_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/jira_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/mongo_hook/index.html    | 23 +---------
 .../airflow/contrib/hooks/openfaas_hook/index.html | 23 +---------
 .../contrib/hooks/opsgenie_alert_hook/index.html   | 23 +---------
 .../airflow/contrib/hooks/pinot_hook/index.html    | 23 +---------
 .../contrib/hooks/qubole_check_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/qubole_hook/index.html   | 23 +---------
 .../airflow/contrib/hooks/redis_hook/index.html    | 23 +---------
 .../airflow/contrib/hooks/redshift_hook/index.html | 23 +---------
 .../contrib/hooks/sagemaker_hook/index.html        | 27 ++----------
 .../contrib/hooks/salesforce_hook/index.html       | 23 +---------
 .../airflow/contrib/hooks/segment_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/sftp_hook/index.html     | 49 ++++++----------------
 .../contrib/hooks/slack_webhook_hook/index.html    | 23 +---------
 .../contrib/hooks/snowflake_hook/index.html        | 23 +---------
 .../contrib/hooks/spark_jdbc_hook/index.html       | 23 +---------
 .../contrib/hooks/spark_jdbc_script/index.html     | 23 +---------
 .../contrib/hooks/spark_sql_hook/index.html        | 23 +---------
 .../contrib/hooks/spark_submit_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/sqoop_hook/index.html    | 23 +---------
 .../_api/airflow/contrib/hooks/ssh_hook/index.html | 23 +---------
 .../airflow/contrib/hooks/vertica_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/wasb_hook/index.html     | 23 +---------
 .../airflow/contrib/hooks/winrm_hook/index.html    | 23 +---------
 .../operators/adls_list_operator/index.html        | 23 +---------
 .../contrib/operators/adls_to_gcs/index.html       | 23 +---------
 .../operators/aws_athena_operator/index.html       | 23 +---------
 .../operators/aws_sqs_publish_operator/index.html  | 23 +---------
 .../contrib/operators/awsbatch_operator/index.html | 23 +---------
 .../azure_container_instances_operator/index.html  | 23 +---------
 .../operators/azure_cosmos_operator/index.html     | 23 +---------
 .../operators/bigquery_check_operator/index.html   | 23 +---------
 .../contrib/operators/bigquery_get_data/index.html | 23 +---------
 .../contrib/operators/bigquery_operator/index.html | 23 +---------
 .../bigquery_table_delete_operator/index.html      | 23 +---------
 .../operators/bigquery_to_bigquery/index.html      | 23 +---------
 .../contrib/operators/bigquery_to_gcs/index.html   | 23 +---------
 .../contrib/operators/cassandra_to_gcs/index.html  | 23 +---------
 .../operators/databricks_operator/index.html       | 23 +---------
 .../contrib/operators/dataflow_operator/index.html | 23 +---------
 .../contrib/operators/dataproc_operator/index.html | 23 +---------
 .../operators/datastore_export_operator/index.html | 23 +---------
 .../operators/datastore_import_operator/index.html | 23 +---------
 .../contrib/operators/dingding_operator/index.html | 23 +---------
 .../operators/discord_webhook_operator/index.html  | 23 +---------
 .../contrib/operators/druid_operator/index.html    | 23 +---------
 .../contrib/operators/ecs_operator/index.html      | 23 +---------
 .../operators/emr_add_steps_operator/index.html    | 23 +---------
 .../emr_create_job_flow_operator/index.html        | 23 +---------
 .../emr_terminate_job_flow_operator/index.html     | 23 +---------
 .../contrib/operators/file_to_gcs/index.html       | 23 +---------
 .../contrib/operators/file_to_wasb/index.html      | 23 +---------
 .../operators/gcp_bigtable_operator/index.html     | 23 +---------
 .../operators/gcp_cloud_build_operator/index.html  | 23 +---------
 .../operators/gcp_compute_operator/index.html      | 23 +---------
 .../operators/gcp_container_operator/index.html    | 23 +---------
 .../contrib/operators/gcp_dlp_operator/index.html  | 23 +---------
 .../operators/gcp_function_operator/index.html     | 23 +---------
 .../gcp_natural_language_operator/index.html       | 23 +---------
 .../operators/gcp_spanner_operator/index.html      | 23 +---------
 .../gcp_speech_to_text_operator/index.html         | 23 +---------
 .../contrib/operators/gcp_sql_operator/index.html  | 23 +---------
 .../gcp_text_to_speech_operator/index.html         | 23 +---------
 .../operators/gcp_transfer_operator/index.html     | 23 +---------
 .../operators/gcp_translate_operator/index.html    | 23 +---------
 .../gcp_translate_speech_operator/index.html       | 23 +---------
 .../gcp_video_intelligence_operator/index.html     | 23 +---------
 .../operators/gcp_vision_operator/index.html       | 23 +---------
 .../contrib/operators/gcs_acl_operator/index.html  | 23 +---------
 .../operators/gcs_delete_operator/index.html       | 23 +---------
 .../operators/gcs_download_operator/index.html     | 23 +---------
 .../contrib/operators/gcs_list_operator/index.html | 23 +---------
 .../contrib/operators/gcs_operator/index.html      | 23 +---------
 .../airflow/contrib/operators/gcs_to_bq/index.html | 23 +---------
 .../contrib/operators/gcs_to_gcs/index.html        | 23 +---------
 .../airflow/contrib/operators/gcs_to_s3/index.html | 23 +---------
 .../contrib/operators/hipchat_operator/index.html  | 23 +---------
 .../contrib/operators/hive_to_dynamodb/index.html  | 23 +---------
 .../imap_attachment_to_s3_operator/index.html      | 23 +---------
 1.10.4/_api/airflow/contrib/operators/index.html   | 23 +---------
 .../jenkins_job_trigger_operator/index.html        | 23 +---------
 .../contrib/operators/jira_operator/index.html     | 23 +---------
 .../operators/kubernetes_pod_operator/index.html   | 23 +---------
 .../contrib/operators/mlengine_operator/index.html | 23 +---------
 .../contrib/operators/mongo_to_s3/index.html       | 23 +---------
 .../contrib/operators/mssql_to_gcs/index.html      | 23 +---------
 .../contrib/operators/mysql_to_gcs/index.html      | 23 +---------
 .../operators/opsgenie_alert_operator/index.html   | 23 +---------
 .../oracle_to_azure_data_lake_transfer/index.html  | 23 +---------
 .../operators/oracle_to_oracle_transfer/index.html | 23 +---------
 .../operators/postgres_to_gcs_operator/index.html  | 23 +---------
 .../contrib/operators/pubsub_operator/index.html   | 23 +---------
 .../operators/qubole_check_operator/index.html     | 23 +---------
 .../contrib/operators/qubole_operator/index.html   | 23 +---------
 .../operators/redis_publish_operator/index.html    | 23 +---------
 .../operators/s3_copy_object_operator/index.html   | 23 +---------
 .../s3_delete_objects_operator/index.html          | 23 +---------
 .../contrib/operators/s3_list_operator/index.html  | 23 +---------
 .../operators/s3_to_gcs_operator/index.html        | 23 +---------
 .../operators/s3_to_sftp_operator/index.html       | 23 +---------
 .../operators/sagemaker_base_operator/index.html   | 23 +---------
 .../sagemaker_endpoint_config_operator/index.html  | 25 ++---------
 .../sagemaker_endpoint_operator/index.html         | 29 +++----------
 .../operators/sagemaker_model_operator/index.html  | 25 ++---------
 .../sagemaker_training_operator/index.html         | 25 ++---------
 .../sagemaker_transform_operator/index.html        | 27 ++----------
 .../operators/sagemaker_tuning_operator/index.html | 25 ++---------
 .../segment_track_event_operator/index.html        | 23 +---------
 .../contrib/operators/sftp_operator/index.html     | 23 +---------
 .../operators/sftp_to_s3_operator/index.html       | 23 +---------
 .../operators/slack_webhook_operator/index.html    | 23 +---------
 .../operators/snowflake_operator/index.html        | 23 +---------
 .../operators/sns_publish_operator/index.html      | 23 +---------
 .../operators/spark_jdbc_operator/index.html       | 23 +---------
 .../operators/spark_sql_operator/index.html        | 23 +---------
 .../operators/spark_submit_operator/index.html     | 23 +---------
 .../contrib/operators/sql_to_gcs/index.html        | 23 +---------
 .../contrib/operators/sqoop_operator/index.html    | 23 +---------
 .../contrib/operators/ssh_operator/index.html      | 23 +---------
 .../contrib/operators/vertica_operator/index.html  | 23 +---------
 .../contrib/operators/vertica_to_hive/index.html   | 23 +---------
 .../contrib/operators/vertica_to_mysql/index.html  | 23 +---------
 .../operators/wasb_delete_blob_operator/index.html | 23 +---------
 .../contrib/operators/winrm_operator/index.html    | 23 +---------
 .../contrib/sensors/aws_athena_sensor/index.html   | 23 +---------
 .../aws_glue_catalog_partition_sensor/index.html   | 23 +---------
 .../sensors/aws_redshift_cluster_sensor/index.html | 23 +---------
 .../contrib/sensors/aws_sqs_sensor/index.html      | 23 +---------
 .../contrib/sensors/azure_cosmos_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/bash_sensor/index.html | 23 +---------
 .../contrib/sensors/bigquery_sensor/index.html     | 23 +---------
 .../sensors/cassandra_record_sensor/index.html     | 23 +---------
 .../sensors/cassandra_table_sensor/index.html      | 23 +---------
 .../contrib/sensors/datadog_sensor/index.html      | 23 +---------
 .../contrib/sensors/emr_base_sensor/index.html     | 23 +---------
 .../contrib/sensors/emr_job_flow_sensor/index.html | 23 +---------
 .../contrib/sensors/emr_step_sensor/index.html     | 23 +---------
 .../airflow/contrib/sensors/file_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/ftp_sensor/index.html  | 23 +---------
 .../contrib/sensors/gcp_transfer_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/gcs_sensor/index.html  | 23 +---------
 .../airflow/contrib/sensors/hdfs_sensor/index.html | 23 +---------
 .../sensors/imap_attachment_sensor/index.html      | 23 +---------
 1.10.4/_api/airflow/contrib/sensors/index.html     | 23 +---------
 .../airflow/contrib/sensors/jira_sensor/index.html | 23 +---------
 .../contrib/sensors/mongo_sensor/index.html        | 23 +---------
 .../contrib/sensors/pubsub_sensor/index.html       | 23 +---------
 .../contrib/sensors/python_sensor/index.html       | 23 +---------
 .../contrib/sensors/qubole_sensor/index.html       | 23 +---------
 .../contrib/sensors/redis_key_sensor/index.html    | 23 +---------
 .../sensors/redis_pub_sub_sensor/index.html        | 23 +---------
 .../sensors/sagemaker_base_sensor/index.html       | 23 +---------
 .../sensors/sagemaker_endpoint_sensor/index.html   | 23 +---------
 .../sensors/sagemaker_training_sensor/index.html   | 23 +---------
 .../sensors/sagemaker_transform_sensor/index.html  | 23 +---------
 .../sensors/sagemaker_tuning_sensor/index.html     | 23 +---------
 .../airflow/contrib/sensors/sftp_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/wasb_sensor/index.html | 23 +---------
 .../contrib/sensors/weekday_sensor/index.html      | 23 +---------
 .../airflow/executors/base_executor/index.html     | 23 +---------
 .../airflow/executors/celery_executor/index.html   | 23 +---------
 .../airflow/executors/dask_executor/index.html     | 23 +---------
 1.10.4/_api/airflow/executors/index.html           | 23 +---------
 .../airflow/executors/local_executor/index.html    | 23 +---------
 .../executors/sequential_executor/index.html       | 23 +---------
 1.10.4/_api/airflow/hooks/S3_hook/index.html       | 23 +---------
 1.10.4/_api/airflow/hooks/base_hook/index.html     | 23 +---------
 1.10.4/_api/airflow/hooks/dbapi_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/docker_hook/index.html   | 23 +---------
 1.10.4/_api/airflow/hooks/druid_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/hdfs_hook/index.html     | 23 +---------
 1.10.4/_api/airflow/hooks/hive_hooks/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/http_hook/index.html     | 23 +---------
 1.10.4/_api/airflow/hooks/index.html               | 23 +---------
 1.10.4/_api/airflow/hooks/jdbc_hook/index.html     | 23 +---------
 1.10.4/_api/airflow/hooks/mssql_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/mysql_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/oracle_hook/index.html   | 23 +---------
 1.10.4/_api/airflow/hooks/pig_hook/index.html      | 23 +---------
 1.10.4/_api/airflow/hooks/postgres_hook/index.html | 23 +---------
 1.10.4/_api/airflow/hooks/presto_hook/index.html   | 23 +---------
 1.10.4/_api/airflow/hooks/samba_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/slack_hook/index.html    | 23 +---------
 1.10.4/_api/airflow/hooks/sqlite_hook/index.html   | 23 +---------
 1.10.4/_api/airflow/hooks/webhdfs_hook/index.html  | 23 +---------
 1.10.4/_api/airflow/hooks/zendesk_hook/index.html  | 23 +---------
 1.10.4/_api/airflow/models/base/index.html         | 23 +---------
 1.10.4/_api/airflow/models/baseoperator/index.html | 23 +---------
 1.10.4/_api/airflow/models/chart/index.html        | 23 +---------
 1.10.4/_api/airflow/models/connection/index.html   | 23 +---------
 1.10.4/_api/airflow/models/crypto/index.html       | 23 +---------
 1.10.4/_api/airflow/models/dag/index.html          | 23 +---------
 1.10.4/_api/airflow/models/dagbag/index.html       | 23 +---------
 1.10.4/_api/airflow/models/dagpickle/index.html    | 23 +---------
 1.10.4/_api/airflow/models/dagrun/index.html       | 23 +---------
 1.10.4/_api/airflow/models/errors/index.html       | 23 +---------
 1.10.4/_api/airflow/models/index.html              | 23 +---------
 1.10.4/_api/airflow/models/knownevent/index.html   | 23 +---------
 1.10.4/_api/airflow/models/kubernetes/index.html   | 23 +---------
 1.10.4/_api/airflow/models/log/index.html          | 23 +---------
 1.10.4/_api/airflow/models/pool/index.html         | 23 +---------
 1.10.4/_api/airflow/models/skipmixin/index.html    | 23 +---------
 1.10.4/_api/airflow/models/slamiss/index.html      | 23 +---------
 1.10.4/_api/airflow/models/taskfail/index.html     | 23 +---------
 1.10.4/_api/airflow/models/taskinstance/index.html | 23 +---------
 .../_api/airflow/models/taskreschedule/index.html  | 23 +---------
 1.10.4/_api/airflow/models/user/index.html         | 23 +---------
 1.10.4/_api/airflow/models/variable/index.html     | 23 +---------
 1.10.4/_api/airflow/models/xcom/index.html         | 23 +---------
 .../airflow/operators/bash_operator/index.html     | 23 +---------
 .../airflow/operators/branch_operator/index.html   | 23 +---------
 .../airflow/operators/check_operator/index.html    | 23 +---------
 .../airflow/operators/dagrun_operator/index.html   | 23 +---------
 .../airflow/operators/docker_operator/index.html   | 23 +---------
 .../operators/druid_check_operator/index.html      | 23 +---------
 .../airflow/operators/dummy_operator/index.html    | 23 +---------
 .../airflow/operators/email_operator/index.html    | 23 +---------
 .../airflow/operators/generic_transfer/index.html  | 23 +---------
 .../airflow/operators/hive_operator/index.html     | 23 +---------
 .../operators/hive_stats_operator/index.html       | 23 +---------
 .../airflow/operators/hive_to_druid/index.html     | 23 +---------
 .../airflow/operators/hive_to_mysql/index.html     | 23 +---------
 .../operators/hive_to_samba_operator/index.html    | 23 +---------
 .../airflow/operators/http_operator/index.html     | 23 +---------
 1.10.4/_api/airflow/operators/index.html           | 23 +---------
 .../airflow/operators/jdbc_operator/index.html     | 23 +---------
 .../operators/latest_only_operator/index.html      | 23 +---------
 .../airflow/operators/mssql_operator/index.html    | 23 +---------
 .../airflow/operators/mssql_to_hive/index.html     | 23 +---------
 .../airflow/operators/mysql_operator/index.html    | 23 +---------
 .../airflow/operators/mysql_to_hive/index.html     | 23 +---------
 .../airflow/operators/oracle_operator/index.html   | 23 +---------
 .../_api/airflow/operators/pig_operator/index.html | 23 +---------
 .../airflow/operators/postgres_operator/index.html | 23 +---------
 .../operators/presto_check_operator/index.html     | 23 +---------
 .../airflow/operators/presto_to_mysql/index.html   | 23 +---------
 .../airflow/operators/python_operator/index.html   | 23 +---------
 .../operators/redshift_to_s3_operator/index.html   | 23 +---------
 .../s3_file_transform_operator/index.html          | 23 +---------
 .../operators/s3_to_hive_operator/index.html       | 23 +---------
 .../operators/s3_to_redshift_operator/index.html   | 23 +---------
 1.10.4/_api/airflow/operators/sensors/index.html   | 23 +---------
 .../airflow/operators/slack_operator/index.html    | 23 +---------
 .../airflow/operators/sqlite_operator/index.html   | 23 +---------
 .../airflow/operators/subdag_operator/index.html   | 23 +---------
 .../sensors/base_sensor_operator/index.html        | 23 +---------
 .../sensors/external_task_sensor/index.html        | 23 +---------
 1.10.4/_api/airflow/sensors/hdfs_sensor/index.html | 23 +---------
 .../sensors/hive_partition_sensor/index.html       | 23 +---------
 1.10.4/_api/airflow/sensors/http_sensor/index.html | 23 +---------
 1.10.4/_api/airflow/sensors/index.html             | 23 +---------
 .../sensors/metastore_partition_sensor/index.html  | 23 +---------
 .../sensors/named_hive_partition_sensor/index.html | 23 +---------
 .../_api/airflow/sensors/s3_key_sensor/index.html  | 23 +---------
 .../airflow/sensors/s3_prefix_sensor/index.html    | 23 +---------
 1.10.4/_api/airflow/sensors/sql_sensor/index.html  | 23 +---------
 .../airflow/sensors/time_delta_sensor/index.html   | 23 +---------
 1.10.4/_api/airflow/sensors/time_sensor/index.html | 23 +---------
 .../airflow/sensors/web_hdfs_sensor/index.html     | 23 +---------
 1.10.4/_api/index.html                             | 23 +---------
 .../example_dags/example_dingding_operator.html    | 23 +---------
 .../example_gcp_bigtable_operators.html            | 23 +---------
 .../example_dags/example_gcp_cloud_build.html      | 23 +---------
 .../contrib/example_dags/example_gcp_compute.html  | 23 +---------
 .../example_dags/example_gcp_compute_igm.html      | 23 +---------
 .../contrib/example_dags/example_gcp_function.html | 23 +---------
 .../example_dags/example_gcp_natural_language.html | 23 +---------
 .../contrib/example_dags/example_gcp_spanner.html  | 23 +---------
 .../contrib/example_dags/example_gcp_speech.html   | 23 +---------
 .../contrib/example_dags/example_gcp_sql.html      | 23 +---------
 .../example_dags/example_gcp_sql_query.html        | 23 +---------
 .../contrib/example_dags/example_gcp_transfer.html | 23 +---------
 .../example_dags/example_gcp_translate.html        | 23 +---------
 .../example_gcp_video_intelligence.html            | 23 +---------
 .../contrib/example_dags/example_gcp_vision.html   | 23 +---------
 .../contrib/example_dags/example_gcs_acl.html      | 23 +---------
 .../example_dags/example_gcs_to_bq_operator.html   | 23 +---------
 .../contrib/executors/kubernetes_executor.html     | 23 +---------
 .../airflow/contrib/executors/mesos_executor.html  | 23 +---------
 1.10.4/_modules/airflow/contrib/hooks.html         | 23 +---------
 .../airflow/contrib/hooks/aws_athena_hook.html     | 23 +---------
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   | 23 +---------
 .../airflow/contrib/hooks/aws_firehose_hook.html   | 23 +---------
 .../contrib/hooks/aws_glue_catalog_hook.html       | 23 +---------
 .../_modules/airflow/contrib/hooks/aws_hook.html   | 23 +---------
 .../airflow/contrib/hooks/aws_lambda_hook.html     | 23 +---------
 .../airflow/contrib/hooks/aws_sns_hook.html        | 23 +---------
 .../airflow/contrib/hooks/aws_sqs_hook.html        | 23 +---------
 .../hooks/azure_container_instance_hook.html       | 23 +---------
 .../hooks/azure_container_registry_hook.html       | 23 +---------
 .../contrib/hooks/azure_container_volume_hook.html | 23 +---------
 .../airflow/contrib/hooks/azure_cosmos_hook.html   | 23 +---------
 .../contrib/hooks/azure_data_lake_hook.html        | 23 +---------
 .../contrib/hooks/azure_fileshare_hook.html        | 23 +---------
 .../airflow/contrib/hooks/bigquery_hook.html       | 23 +---------
 .../airflow/contrib/hooks/cassandra_hook.html      | 23 +---------
 .../airflow/contrib/hooks/cloudant_hook.html       | 23 +---------
 .../airflow/contrib/hooks/databricks_hook.html     | 23 +---------
 .../airflow/contrib/hooks/datadog_hook.html        | 23 +---------
 .../airflow/contrib/hooks/datastore_hook.html      | 23 +---------
 .../airflow/contrib/hooks/dingding_hook.html       | 23 +---------
 .../contrib/hooks/discord_webhook_hook.html        | 23 +---------
 .../_modules/airflow/contrib/hooks/emr_hook.html   | 23 +---------
 1.10.4/_modules/airflow/contrib/hooks/fs_hook.html | 23 +---------
 .../_modules/airflow/contrib/hooks/ftp_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_api_base_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   | 23 +---------
 .../contrib/hooks/gcp_cloud_build_hook.html        | 23 +---------
 .../airflow/contrib/hooks/gcp_compute_hook.html    | 23 +---------
 .../airflow/contrib/hooks/gcp_container_hook.html  | 23 +---------
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_dlp_hook.html        | 23 +---------
 .../airflow/contrib/hooks/gcp_function_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_kms_hook.html        | 23 +---------
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   | 23 +---------
 .../contrib/hooks/gcp_natural_language_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_spanner_hook.html    | 23 +---------
 .../contrib/hooks/gcp_speech_to_text_hook.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_sql_hook.html        | 23 +---------
 .../contrib/hooks/gcp_text_to_speech_hook.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_transfer_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_translate_hook.html  | 23 +---------
 .../contrib/hooks/gcp_video_intelligence_hook.html | 23 +---------
 .../airflow/contrib/hooks/gcp_vision_hook.html     | 23 +---------
 .../_modules/airflow/contrib/hooks/gcs_hook.html   | 23 +---------
 .../_modules/airflow/contrib/hooks/grpc_hook.html  | 23 +---------
 .../_modules/airflow/contrib/hooks/imap_hook.html  | 23 +---------
 .../airflow/contrib/hooks/jenkins_hook.html        | 23 +---------
 .../_modules/airflow/contrib/hooks/jira_hook.html  | 23 +---------
 .../_modules/airflow/contrib/hooks/mongo_hook.html | 23 +---------
 .../airflow/contrib/hooks/openfaas_hook.html       | 23 +---------
 .../airflow/contrib/hooks/opsgenie_alert_hook.html | 23 +---------
 .../_modules/airflow/contrib/hooks/pinot_hook.html | 23 +---------
 .../airflow/contrib/hooks/qubole_check_hook.html   | 23 +---------
 .../airflow/contrib/hooks/qubole_hook.html         | 23 +---------
 .../_modules/airflow/contrib/hooks/redis_hook.html | 23 +---------
 .../airflow/contrib/hooks/redshift_hook.html       | 23 +---------
 .../airflow/contrib/hooks/sagemaker_hook.html      | 23 +---------
 .../airflow/contrib/hooks/salesforce_hook.html     | 23 +---------
 .../airflow/contrib/hooks/segment_hook.html        | 23 +---------
 .../_modules/airflow/contrib/hooks/sftp_hook.html  | 23 +---------
 .../airflow/contrib/hooks/slack_webhook_hook.html  | 23 +---------
 .../airflow/contrib/hooks/snowflake_hook.html      | 23 +---------
 .../airflow/contrib/hooks/spark_jdbc_hook.html     | 23 +---------
 .../airflow/contrib/hooks/spark_jdbc_script.html   | 23 +---------
 .../airflow/contrib/hooks/spark_sql_hook.html      | 23 +---------
 .../airflow/contrib/hooks/spark_submit_hook.html   | 23 +---------
 .../_modules/airflow/contrib/hooks/sqoop_hook.html | 23 +---------
 .../_modules/airflow/contrib/hooks/ssh_hook.html   | 23 +---------
 .../airflow/contrib/hooks/vertica_hook.html        | 23 +---------
 .../_modules/airflow/contrib/hooks/wasb_hook.html  | 23 +---------
 .../_modules/airflow/contrib/hooks/winrm_hook.html | 23 +---------
 1.10.4/_modules/airflow/contrib/operators.html     | 23 +---------
 .../contrib/operators/adls_list_operator.html      | 23 +---------
 .../airflow/contrib/operators/adls_to_gcs.html     | 23 +---------
 .../contrib/operators/aws_athena_operator.html     | 23 +---------
 .../operators/aws_sqs_publish_operator.html        | 23 +---------
 .../contrib/operators/awsbatch_operator.html       | 23 +---------
 .../azure_container_instances_operator.html        | 23 +---------
 .../contrib/operators/azure_cosmos_operator.html   | 23 +---------
 .../contrib/operators/bigquery_check_operator.html | 23 +---------
 .../contrib/operators/bigquery_get_data.html       | 23 +---------
 .../contrib/operators/bigquery_operator.html       | 23 +---------
 .../operators/bigquery_table_delete_operator.html  | 23 +---------
 .../contrib/operators/bigquery_to_bigquery.html    | 23 +---------
 .../airflow/contrib/operators/bigquery_to_gcs.html | 23 +---------
 .../contrib/operators/cassandra_to_gcs.html        | 23 +---------
 .../contrib/operators/databricks_operator.html     | 23 +---------
 .../contrib/operators/dataflow_operator.html       | 23 +---------
 .../contrib/operators/dataproc_operator.html       | 23 +---------
 .../operators/datastore_export_operator.html       | 23 +---------
 .../operators/datastore_import_operator.html       | 23 +---------
 .../contrib/operators/dingding_operator.html       | 23 +---------
 .../operators/discord_webhook_operator.html        | 23 +---------
 .../airflow/contrib/operators/druid_operator.html  | 23 +---------
 .../airflow/contrib/operators/ecs_operator.html    | 23 +---------
 .../contrib/operators/emr_add_steps_operator.html  | 23 +---------
 .../operators/emr_create_job_flow_operator.html    | 23 +---------
 .../operators/emr_terminate_job_flow_operator.html | 23 +---------
 .../airflow/contrib/operators/file_to_gcs.html     | 23 +---------
 .../airflow/contrib/operators/file_to_wasb.html    | 23 +---------
 .../contrib/operators/gcp_bigtable_operator.html   | 23 +---------
 .../operators/gcp_cloud_build_operator.html        | 23 +---------
 .../contrib/operators/gcp_compute_operator.html    | 23 +---------
 .../contrib/operators/gcp_container_operator.html  | 23 +---------
 .../contrib/operators/gcp_dlp_operator.html        | 23 +---------
 .../contrib/operators/gcp_function_operator.html   | 23 +---------
 .../operators/gcp_natural_language_operator.html   | 23 +---------
 .../contrib/operators/gcp_spanner_operator.html    | 23 +---------
 .../operators/gcp_speech_to_text_operator.html     | 23 +---------
 .../contrib/operators/gcp_sql_operator.html        | 23 +---------
 .../operators/gcp_text_to_speech_operator.html     | 23 +---------
 .../contrib/operators/gcp_transfer_operator.html   | 23 +---------
 .../contrib/operators/gcp_translate_operator.html  | 23 +---------
 .../operators/gcp_translate_speech_operator.html   | 23 +---------
 .../operators/gcp_video_intelligence_operator.html | 23 +---------
 .../contrib/operators/gcp_vision_operator.html     | 23 +---------
 .../contrib/operators/gcs_acl_operator.html        | 23 +---------
 .../contrib/operators/gcs_delete_operator.html     | 23 +---------
 .../contrib/operators/gcs_download_operator.html   | 23 +---------
 .../contrib/operators/gcs_list_operator.html       | 23 +---------
 .../airflow/contrib/operators/gcs_operator.html    | 23 +---------
 .../airflow/contrib/operators/gcs_to_bq.html       | 23 +---------
 .../airflow/contrib/operators/gcs_to_gcs.html      | 23 +---------
 .../airflow/contrib/operators/gcs_to_s3.html       | 23 +---------
 .../contrib/operators/hipchat_operator.html        | 23 +---------
 .../contrib/operators/hive_to_dynamodb.html        | 23 +---------
 .../operators/imap_attachment_to_s3_operator.html  | 23 +---------
 .../operators/jenkins_job_trigger_operator.html    | 23 +---------
 .../airflow/contrib/operators/jira_operator.html   | 23 +---------
 .../contrib/operators/kubernetes_pod_operator.html | 23 +---------
 .../contrib/operators/mlengine_operator.html       | 23 +---------
 .../airflow/contrib/operators/mongo_to_s3.html     | 23 +---------
 .../airflow/contrib/operators/mssql_to_gcs.html    | 23 +---------
 .../airflow/contrib/operators/mysql_to_gcs.html    | 23 +---------
 .../contrib/operators/opsgenie_alert_operator.html | 23 +---------
 .../oracle_to_azure_data_lake_transfer.html        | 23 +---------
 .../operators/oracle_to_oracle_transfer.html       | 23 +---------
 .../operators/postgres_to_gcs_operator.html        | 23 +---------
 .../airflow/contrib/operators/pubsub_operator.html | 23 +---------
 .../contrib/operators/qubole_check_operator.html   | 23 +---------
 .../airflow/contrib/operators/qubole_operator.html | 23 +---------
 .../contrib/operators/redis_publish_operator.html  | 23 +---------
 .../contrib/operators/s3_copy_object_operator.html | 23 +---------
 .../operators/s3_delete_objects_operator.html      | 23 +---------
 .../contrib/operators/s3_list_operator.html        | 23 +---------
 .../contrib/operators/s3_to_gcs_operator.html      | 23 +---------
 .../contrib/operators/s3_to_sftp_operator.html     | 23 +---------
 .../contrib/operators/sagemaker_base_operator.html | 23 +---------
 .../sagemaker_endpoint_config_operator.html        | 23 +---------
 .../operators/sagemaker_endpoint_operator.html     | 23 +---------
 .../operators/sagemaker_model_operator.html        | 23 +---------
 .../operators/sagemaker_training_operator.html     | 23 +---------
 .../operators/sagemaker_transform_operator.html    | 23 +---------
 .../operators/sagemaker_tuning_operator.html       | 23 +---------
 .../operators/segment_track_event_operator.html    | 23 +---------
 .../airflow/contrib/operators/sftp_operator.html   | 23 +---------
 .../contrib/operators/sftp_to_s3_operator.html     | 23 +---------
 .../contrib/operators/slack_webhook_operator.html  | 23 +---------
 .../contrib/operators/snowflake_operator.html      | 23 +---------
 .../contrib/operators/sns_publish_operator.html    | 23 +---------
 .../contrib/operators/spark_jdbc_operator.html     | 23 +---------
 .../contrib/operators/spark_sql_operator.html      | 23 +---------
 .../contrib/operators/spark_submit_operator.html   | 23 +---------
 .../airflow/contrib/operators/sql_to_gcs.html      | 23 +---------
 .../airflow/contrib/operators/sqoop_operator.html  | 23 +---------
 .../airflow/contrib/operators/ssh_operator.html    | 23 +---------
 .../contrib/operators/vertica_operator.html        | 23 +---------
 .../airflow/contrib/operators/vertica_to_hive.html | 23 +---------
 .../contrib/operators/vertica_to_mysql.html        | 23 +---------
 .../operators/wasb_delete_blob_operator.html       | 23 +---------
 .../airflow/contrib/operators/winrm_operator.html  | 23 +---------
 .../airflow/contrib/sensors/aws_athena_sensor.html | 23 +---------
 .../sensors/aws_glue_catalog_partition_sensor.html | 23 +---------
 .../sensors/aws_redshift_cluster_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/aws_sqs_sensor.html    | 23 +---------
 .../contrib/sensors/azure_cosmos_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/bash_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/bigquery_sensor.html   | 23 +---------
 .../contrib/sensors/cassandra_record_sensor.html   | 23 +---------
 .../contrib/sensors/cassandra_table_sensor.html    | 23 +---------
 .../airflow/contrib/sensors/datadog_sensor.html    | 23 +---------
 .../airflow/contrib/sensors/emr_base_sensor.html   | 23 +---------
 .../contrib/sensors/emr_job_flow_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/emr_step_sensor.html   | 23 +---------
 .../airflow/contrib/sensors/file_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/ftp_sensor.html        | 23 +---------
 .../contrib/sensors/gcp_transfer_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/gcs_sensor.html        | 23 +---------
 .../airflow/contrib/sensors/hdfs_sensor.html       | 23 +---------
 .../contrib/sensors/imap_attachment_sensor.html    | 23 +---------
 .../airflow/contrib/sensors/jira_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/mongo_sensor.html      | 23 +---------
 .../airflow/contrib/sensors/pubsub_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/python_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/qubole_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/redis_key_sensor.html  | 23 +---------
 .../contrib/sensors/redis_pub_sub_sensor.html      | 23 +---------
 .../contrib/sensors/sagemaker_base_sensor.html     | 23 +---------
 .../contrib/sensors/sagemaker_endpoint_sensor.html | 23 +---------
 .../contrib/sensors/sagemaker_training_sensor.html | 23 +---------
 .../sensors/sagemaker_transform_sensor.html        | 23 +---------
 .../contrib/sensors/sagemaker_tuning_sensor.html   | 23 +---------
 .../airflow/contrib/sensors/sftp_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/wasb_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/weekday_sensor.html    | 23 +---------
 .../example_dags/example_bash_operator.html        | 23 +---------
 .../example_dags/example_python_operator.html      | 23 +---------
 1.10.4/_modules/airflow/exceptions.html            | 23 +---------
 1.10.4/_modules/airflow/executors.html             | 23 +---------
 .../_modules/airflow/executors/base_executor.html  | 23 +---------
 .../airflow/executors/celery_executor.html         | 23 +---------
 .../_modules/airflow/executors/dask_executor.html  | 23 +---------
 .../_modules/airflow/executors/local_executor.html | 23 +---------
 .../airflow/executors/sequential_executor.html     | 23 +---------
 1.10.4/_modules/airflow/hooks.html                 | 23 +---------
 1.10.4/_modules/airflow/hooks/S3_hook.html         | 23 +---------
 1.10.4/_modules/airflow/hooks/base_hook.html       | 23 +---------
 1.10.4/_modules/airflow/hooks/dbapi_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/docker_hook.html     | 23 +---------
 1.10.4/_modules/airflow/hooks/druid_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/hdfs_hook.html       | 23 +---------
 1.10.4/_modules/airflow/hooks/hive_hooks.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/http_hook.html       | 23 +---------
 1.10.4/_modules/airflow/hooks/jdbc_hook.html       | 23 +---------
 1.10.4/_modules/airflow/hooks/mssql_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/mysql_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/oracle_hook.html     | 23 +---------
 1.10.4/_modules/airflow/hooks/pig_hook.html        | 23 +---------
 1.10.4/_modules/airflow/hooks/postgres_hook.html   | 23 +---------
 1.10.4/_modules/airflow/hooks/presto_hook.html     | 23 +---------
 1.10.4/_modules/airflow/hooks/samba_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/slack_hook.html      | 23 +---------
 1.10.4/_modules/airflow/hooks/sqlite_hook.html     | 23 +---------
 1.10.4/_modules/airflow/hooks/webhdfs_hook.html    | 23 +---------
 1.10.4/_modules/airflow/hooks/zendesk_hook.html    | 23 +---------
 1.10.4/_modules/airflow/macros.html                | 23 +---------
 1.10.4/_modules/airflow/macros/hive.html           | 23 +---------
 1.10.4/_modules/airflow/models.html                | 23 +---------
 1.10.4/_modules/airflow/models/base.html           | 23 +---------
 1.10.4/_modules/airflow/models/baseoperator.html   | 23 +---------
 1.10.4/_modules/airflow/models/chart.html          | 23 +---------
 1.10.4/_modules/airflow/models/connection.html     | 23 +---------
 1.10.4/_modules/airflow/models/crypto.html         | 23 +---------
 1.10.4/_modules/airflow/models/dag.html            | 23 +---------
 1.10.4/_modules/airflow/models/dagbag.html         | 23 +---------
 1.10.4/_modules/airflow/models/dagpickle.html      | 23 +---------
 1.10.4/_modules/airflow/models/dagrun.html         | 23 +---------
 1.10.4/_modules/airflow/models/errors.html         | 23 +---------
 1.10.4/_modules/airflow/models/knownevent.html     | 23 +---------
 1.10.4/_modules/airflow/models/kubernetes.html     | 23 +---------
 1.10.4/_modules/airflow/models/log.html            | 23 +---------
 1.10.4/_modules/airflow/models/pool.html           | 23 +---------
 1.10.4/_modules/airflow/models/skipmixin.html      | 23 +---------
 1.10.4/_modules/airflow/models/slamiss.html        | 23 +---------
 1.10.4/_modules/airflow/models/taskfail.html       | 23 +---------
 1.10.4/_modules/airflow/models/taskinstance.html   | 23 +---------
 1.10.4/_modules/airflow/models/taskreschedule.html | 23 +---------
 1.10.4/_modules/airflow/models/user.html           | 23 +---------
 1.10.4/_modules/airflow/models/variable.html       | 23 +---------
 1.10.4/_modules/airflow/models/xcom.html           | 23 +---------
 1.10.4/_modules/airflow/operators.html             | 23 +---------
 .../_modules/airflow/operators/bash_operator.html  | 23 +---------
 .../airflow/operators/branch_operator.html         | 23 +---------
 .../_modules/airflow/operators/check_operator.html | 23 +---------
 .../airflow/operators/dagrun_operator.html         | 23 +---------
 .../airflow/operators/docker_operator.html         | 23 +---------
 .../airflow/operators/druid_check_operator.html    | 23 +---------
 .../_modules/airflow/operators/dummy_operator.html | 23 +---------
 .../_modules/airflow/operators/email_operator.html | 23 +---------
 .../airflow/operators/generic_transfer.html        | 23 +---------
 .../_modules/airflow/operators/hive_operator.html  | 23 +---------
 .../airflow/operators/hive_stats_operator.html     | 23 +---------
 .../_modules/airflow/operators/hive_to_druid.html  | 23 +---------
 .../_modules/airflow/operators/hive_to_mysql.html  | 23 +---------
 .../airflow/operators/hive_to_samba_operator.html  | 23 +---------
 .../_modules/airflow/operators/http_operator.html  | 23 +---------
 .../_modules/airflow/operators/jdbc_operator.html  | 23 +---------
 .../airflow/operators/latest_only_operator.html    | 23 +---------
 .../_modules/airflow/operators/mssql_operator.html | 23 +---------
 .../_modules/airflow/operators/mssql_to_hive.html  | 23 +---------
 .../_modules/airflow/operators/mysql_operator.html | 23 +---------
 .../_modules/airflow/operators/mysql_to_hive.html  | 23 +---------
 .../airflow/operators/oracle_operator.html         | 23 +---------
 .../_modules/airflow/operators/pig_operator.html   | 23 +---------
 .../airflow/operators/postgres_operator.html       | 23 +---------
 .../airflow/operators/presto_check_operator.html   | 23 +---------
 .../airflow/operators/presto_to_mysql.html         | 23 +---------
 .../airflow/operators/python_operator.html         | 23 +---------
 .../airflow/operators/redshift_to_s3_operator.html | 23 +---------
 .../operators/s3_file_transform_operator.html      | 23 +---------
 .../airflow/operators/s3_to_hive_operator.html     | 23 +---------
 .../airflow/operators/s3_to_redshift_operator.html | 23 +---------
 1.10.4/_modules/airflow/operators/sensors.html     | 23 +---------
 .../_modules/airflow/operators/slack_operator.html | 23 +---------
 .../airflow/operators/sqlite_operator.html         | 23 +---------
 .../airflow/operators/subdag_operator.html         | 23 +---------
 1.10.4/_modules/airflow/sensors.html               | 23 +---------
 .../airflow/sensors/base_sensor_operator.html      | 23 +---------
 .../airflow/sensors/external_task_sensor.html      | 23 +---------
 1.10.4/_modules/airflow/sensors/hdfs_sensor.html   | 23 +---------
 .../airflow/sensors/hive_partition_sensor.html     | 23 +---------
 1.10.4/_modules/airflow/sensors/http_sensor.html   | 23 +---------
 .../sensors/metastore_partition_sensor.html        | 23 +---------
 .../sensors/named_hive_partition_sensor.html       | 23 +---------
 1.10.4/_modules/airflow/sensors/s3_key_sensor.html | 23 +---------
 .../_modules/airflow/sensors/s3_prefix_sensor.html | 23 +---------
 1.10.4/_modules/airflow/sensors/sql_sensor.html    | 23 +---------
 .../airflow/sensors/time_delta_sensor.html         | 23 +---------
 1.10.4/_modules/airflow/sensors/time_sensor.html   | 23 +---------
 .../_modules/airflow/sensors/web_hdfs_sensor.html  | 23 +---------
 .../_modules/airflow/utils/log/logging_mixin.html  | 23 +---------
 1.10.4/_modules/index.html                         | 23 +---------
 1.10.4/api.html                                    | 23 +---------
 1.10.4/changelog.html                              | 29 +++----------
 1.10.4/cli.html                                    | 27 ++----------
 1.10.4/concepts.html                               | 23 +---------
 1.10.4/faq.html                                    | 23 +---------
 1.10.4/genindex.html                               | 23 +---------
 1.10.4/howto/check-health.html                     | 23 +---------
 1.10.4/howto/connection/aws.html                   | 23 +---------
 1.10.4/howto/connection/gcp.html                   | 23 +---------
 1.10.4/howto/connection/gcp_sql.html               | 23 +---------
 1.10.4/howto/connection/grpc.html                  | 23 +---------
 1.10.4/howto/connection/index.html                 | 23 +---------
 1.10.4/howto/connection/mysql.html                 | 23 +---------
 1.10.4/howto/connection/oracle.html                | 23 +---------
 1.10.4/howto/connection/postgres.html              | 23 +---------
 1.10.4/howto/connection/ssh.html                   | 23 +---------
 1.10.4/howto/define_extra_link.html                | 23 +---------
 1.10.4/howto/executor/use-celery.html              | 23 +---------
 1.10.4/howto/executor/use-dask.html                | 23 +---------
 1.10.4/howto/executor/use-mesos.html               | 23 +---------
 1.10.4/howto/index.html                            | 23 +---------
 1.10.4/howto/initialize-database.html              | 23 +---------
 1.10.4/howto/operator/bash.html                    | 23 +---------
 1.10.4/howto/operator/dingding.html                | 23 +---------
 1.10.4/howto/operator/gcp/bigtable.html            | 23 +---------
 1.10.4/howto/operator/gcp/cloud_build.html         | 23 +---------
 1.10.4/howto/operator/gcp/compute.html             | 23 +---------
 1.10.4/howto/operator/gcp/function.html            | 23 +---------
 1.10.4/howto/operator/gcp/gcs.html                 | 23 +---------
 1.10.4/howto/operator/gcp/index.html               | 23 +---------
 1.10.4/howto/operator/gcp/natural_language.html    | 23 +---------
 1.10.4/howto/operator/gcp/spanner.html             | 23 +---------
 1.10.4/howto/operator/gcp/speech.html              | 23 +---------
 1.10.4/howto/operator/gcp/sql.html                 | 23 +---------
 1.10.4/howto/operator/gcp/transfer.html            | 23 +---------
 1.10.4/howto/operator/gcp/translate-speech.html    | 23 +---------
 1.10.4/howto/operator/gcp/translate.html           | 23 +---------
 1.10.4/howto/operator/gcp/video.html               | 23 +---------
 1.10.4/howto/operator/gcp/vision.html              | 23 +---------
 1.10.4/howto/operator/index.html                   | 23 +---------
 1.10.4/howto/operator/python.html                  | 23 +---------
 1.10.4/howto/run-behind-proxy.html                 | 23 +---------
 1.10.4/howto/run-with-systemd.html                 | 23 +---------
 1.10.4/howto/run-with-upstart.html                 | 23 +---------
 1.10.4/howto/secure-connections.html               | 23 +---------
 1.10.4/howto/set-config.html                       | 23 +---------
 1.10.4/howto/use-test-config.html                  | 23 +---------
 1.10.4/howto/write-logs.html                       | 23 +---------
 1.10.4/http-routingtable.html                      | 23 +---------
 1.10.4/index.html                                  | 25 ++---------
 1.10.4/installation.html                           | 23 +---------
 1.10.4/integration.html                            | 23 +---------
 1.10.4/kubernetes.html                             | 23 +---------
 1.10.4/license.html                                | 23 +---------
 1.10.4/lineage.html                                | 23 +---------
 1.10.4/macros.html                                 | 23 +---------
 1.10.4/metrics.html                                | 23 +---------
 1.10.4/plugins.html                                | 23 +---------
 1.10.4/profiling.html                              | 23 +---------
 1.10.4/project.html                                | 23 +---------
 1.10.4/py-modindex.html                            | 23 +---------
 1.10.4/scheduler.html                              | 23 +---------
 1.10.4/search.html                                 | 23 +---------
 1.10.4/security.html                               | 23 +---------
 1.10.4/start.html                                  | 23 +---------
 1.10.4/timezone.html                               | 23 +---------
 1.10.4/tutorial.html                               | 23 +---------
 1.10.4/ui.html                                     | 23 +---------
 _api/airflow/contrib/executors/index.html          | 23 +---------
 .../executors/kubernetes_executor/index.html       | 23 +---------
 .../contrib/executors/mesos_executor/index.html    | 23 +---------
 .../contrib/hooks/aws_athena_hook/index.html       | 23 +---------
 .../contrib/hooks/aws_dynamodb_hook/index.html     | 23 +---------
 .../contrib/hooks/aws_firehose_hook/index.html     | 23 +---------
 .../contrib/hooks/aws_glue_catalog_hook/index.html | 23 +---------
 _api/airflow/contrib/hooks/aws_hook/index.html     | 23 +---------
 .../contrib/hooks/aws_lambda_hook/index.html       | 23 +---------
 _api/airflow/contrib/hooks/aws_sns_hook/index.html | 23 +---------
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html | 23 +---------
 .../hooks/azure_container_instance_hook/index.html | 23 +---------
 .../hooks/azure_container_registry_hook/index.html | 23 +---------
 .../hooks/azure_container_volume_hook/index.html   | 23 +---------
 .../contrib/hooks/azure_cosmos_hook/index.html     | 23 +---------
 .../contrib/hooks/azure_data_lake_hook/index.html  | 23 +---------
 .../contrib/hooks/azure_fileshare_hook/index.html  | 23 +---------
 .../airflow/contrib/hooks/bigquery_hook/index.html | 23 +---------
 .../contrib/hooks/cassandra_hook/index.html        | 23 +---------
 .../airflow/contrib/hooks/cloudant_hook/index.html | 23 +---------
 .../contrib/hooks/databricks_hook/index.html       | 23 +---------
 _api/airflow/contrib/hooks/datadog_hook/index.html | 23 +---------
 .../contrib/hooks/datastore_hook/index.html        | 23 +---------
 .../airflow/contrib/hooks/dingding_hook/index.html | 23 +---------
 .../contrib/hooks/discord_webhook_hook/index.html  | 23 +---------
 _api/airflow/contrib/hooks/emr_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/fs_hook/index.html      | 23 +---------
 _api/airflow/contrib/hooks/ftp_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_api_base_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_bigtable_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_cloud_build_hook/index.html  | 23 +---------
 .../contrib/hooks/gcp_compute_hook/index.html      | 23 +---------
 .../contrib/hooks/gcp_container_hook/index.html    | 23 +---------
 .../contrib/hooks/gcp_dataflow_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_dataproc_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html | 23 +---------
 .../contrib/hooks/gcp_function_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html | 23 +---------
 .../contrib/hooks/gcp_mlengine_hook/index.html     | 23 +---------
 .../hooks/gcp_natural_language_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_pubsub_hook/index.html       | 23 +---------
 .../contrib/hooks/gcp_spanner_hook/index.html      | 23 +---------
 .../hooks/gcp_speech_to_text_hook/index.html       | 23 +---------
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html | 23 +---------
 .../hooks/gcp_text_to_speech_hook/index.html       | 23 +---------
 .../contrib/hooks/gcp_transfer_hook/index.html     | 23 +---------
 .../contrib/hooks/gcp_translate_hook/index.html    | 23 +---------
 .../hooks/gcp_video_intelligence_hook/index.html   | 23 +---------
 .../contrib/hooks/gcp_vision_hook/index.html       | 23 +---------
 _api/airflow/contrib/hooks/gcs_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/grpc_hook/index.html    | 23 +---------
 _api/airflow/contrib/hooks/imap_hook/index.html    | 23 +---------
 _api/airflow/contrib/hooks/index.html              | 23 +---------
 _api/airflow/contrib/hooks/jenkins_hook/index.html | 23 +---------
 _api/airflow/contrib/hooks/jira_hook/index.html    | 23 +---------
 _api/airflow/contrib/hooks/mongo_hook/index.html   | 23 +---------
 .../airflow/contrib/hooks/openfaas_hook/index.html | 23 +---------
 .../contrib/hooks/opsgenie_alert_hook/index.html   | 23 +---------
 _api/airflow/contrib/hooks/pinot_hook/index.html   | 23 +---------
 .../contrib/hooks/qubole_check_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/qubole_hook/index.html  | 23 +---------
 _api/airflow/contrib/hooks/redis_hook/index.html   | 23 +---------
 .../airflow/contrib/hooks/redshift_hook/index.html | 23 +---------
 .../contrib/hooks/sagemaker_hook/index.html        | 27 ++----------
 .../contrib/hooks/salesforce_hook/index.html       | 23 +---------
 _api/airflow/contrib/hooks/segment_hook/index.html | 23 +---------
 _api/airflow/contrib/hooks/sftp_hook/index.html    | 49 ++++++----------------
 .../contrib/hooks/slack_webhook_hook/index.html    | 23 +---------
 .../contrib/hooks/snowflake_hook/index.html        | 23 +---------
 .../contrib/hooks/spark_jdbc_hook/index.html       | 23 +---------
 .../contrib/hooks/spark_jdbc_script/index.html     | 23 +---------
 .../contrib/hooks/spark_sql_hook/index.html        | 23 +---------
 .../contrib/hooks/spark_submit_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/sqoop_hook/index.html   | 23 +---------
 _api/airflow/contrib/hooks/ssh_hook/index.html     | 23 +---------
 _api/airflow/contrib/hooks/vertica_hook/index.html | 23 +---------
 _api/airflow/contrib/hooks/wasb_hook/index.html    | 23 +---------
 _api/airflow/contrib/hooks/winrm_hook/index.html   | 23 +---------
 .../operators/adls_list_operator/index.html        | 23 +---------
 .../contrib/operators/adls_to_gcs/index.html       | 23 +---------
 .../operators/aws_athena_operator/index.html       | 23 +---------
 .../operators/aws_sqs_publish_operator/index.html  | 23 +---------
 .../contrib/operators/awsbatch_operator/index.html | 23 +---------
 .../azure_container_instances_operator/index.html  | 23 +---------
 .../operators/azure_cosmos_operator/index.html     | 23 +---------
 .../operators/bigquery_check_operator/index.html   | 23 +---------
 .../contrib/operators/bigquery_get_data/index.html | 23 +---------
 .../contrib/operators/bigquery_operator/index.html | 23 +---------
 .../bigquery_table_delete_operator/index.html      | 23 +---------
 .../operators/bigquery_to_bigquery/index.html      | 23 +---------
 .../contrib/operators/bigquery_to_gcs/index.html   | 23 +---------
 .../contrib/operators/cassandra_to_gcs/index.html  | 23 +---------
 .../operators/databricks_operator/index.html       | 23 +---------
 .../contrib/operators/dataflow_operator/index.html | 23 +---------
 .../contrib/operators/dataproc_operator/index.html | 23 +---------
 .../operators/datastore_export_operator/index.html | 23 +---------
 .../operators/datastore_import_operator/index.html | 23 +---------
 .../contrib/operators/dingding_operator/index.html | 23 +---------
 .../operators/discord_webhook_operator/index.html  | 23 +---------
 .../contrib/operators/druid_operator/index.html    | 23 +---------
 .../contrib/operators/ecs_operator/index.html      | 23 +---------
 .../operators/emr_add_steps_operator/index.html    | 23 +---------
 .../emr_create_job_flow_operator/index.html        | 23 +---------
 .../emr_terminate_job_flow_operator/index.html     | 23 +---------
 .../contrib/operators/file_to_gcs/index.html       | 23 +---------
 .../contrib/operators/file_to_wasb/index.html      | 23 +---------
 .../operators/gcp_bigtable_operator/index.html     | 23 +---------
 .../operators/gcp_cloud_build_operator/index.html  | 23 +---------
 .../operators/gcp_compute_operator/index.html      | 23 +---------
 .../operators/gcp_container_operator/index.html    | 23 +---------
 .../contrib/operators/gcp_dlp_operator/index.html  | 23 +---------
 .../operators/gcp_function_operator/index.html     | 23 +---------
 .../gcp_natural_language_operator/index.html       | 23 +---------
 .../operators/gcp_spanner_operator/index.html      | 23 +---------
 .../gcp_speech_to_text_operator/index.html         | 23 +---------
 .../contrib/operators/gcp_sql_operator/index.html  | 23 +---------
 .../gcp_text_to_speech_operator/index.html         | 23 +---------
 .../operators/gcp_transfer_operator/index.html     | 23 +---------
 .../operators/gcp_translate_operator/index.html    | 23 +---------
 .../gcp_translate_speech_operator/index.html       | 23 +---------
 .../gcp_video_intelligence_operator/index.html     | 23 +---------
 .../operators/gcp_vision_operator/index.html       | 23 +---------
 .../contrib/operators/gcs_acl_operator/index.html  | 23 +---------
 .../operators/gcs_delete_operator/index.html       | 23 +---------
 .../operators/gcs_download_operator/index.html     | 23 +---------
 .../contrib/operators/gcs_list_operator/index.html | 23 +---------
 .../contrib/operators/gcs_operator/index.html      | 23 +---------
 .../airflow/contrib/operators/gcs_to_bq/index.html | 23 +---------
 .../contrib/operators/gcs_to_gcs/index.html        | 23 +---------
 .../airflow/contrib/operators/gcs_to_s3/index.html | 23 +---------
 .../contrib/operators/hipchat_operator/index.html  | 23 +---------
 .../contrib/operators/hive_to_dynamodb/index.html  | 23 +---------
 .../imap_attachment_to_s3_operator/index.html      | 23 +---------
 _api/airflow/contrib/operators/index.html          | 23 +---------
 .../jenkins_job_trigger_operator/index.html        | 23 +---------
 .../contrib/operators/jira_operator/index.html     | 23 +---------
 .../operators/kubernetes_pod_operator/index.html   | 23 +---------
 .../contrib/operators/mlengine_operator/index.html | 23 +---------
 .../contrib/operators/mongo_to_s3/index.html       | 23 +---------
 .../contrib/operators/mssql_to_gcs/index.html      | 23 +---------
 .../contrib/operators/mysql_to_gcs/index.html      | 23 +---------
 .../operators/opsgenie_alert_operator/index.html   | 23 +---------
 .../oracle_to_azure_data_lake_transfer/index.html  | 23 +---------
 .../operators/oracle_to_oracle_transfer/index.html | 23 +---------
 .../operators/postgres_to_gcs_operator/index.html  | 23 +---------
 .../contrib/operators/pubsub_operator/index.html   | 23 +---------
 .../operators/qubole_check_operator/index.html     | 23 +---------
 .../contrib/operators/qubole_operator/index.html   | 23 +---------
 .../operators/redis_publish_operator/index.html    | 23 +---------
 .../operators/s3_copy_object_operator/index.html   | 23 +---------
 .../s3_delete_objects_operator/index.html          | 23 +---------
 .../contrib/operators/s3_list_operator/index.html  | 23 +---------
 .../operators/s3_to_gcs_operator/index.html        | 23 +---------
 .../operators/s3_to_sftp_operator/index.html       | 23 +---------
 .../operators/sagemaker_base_operator/index.html   | 23 +---------
 .../sagemaker_endpoint_config_operator/index.html  | 25 ++---------
 .../sagemaker_endpoint_operator/index.html         | 29 +++----------
 .../operators/sagemaker_model_operator/index.html  | 25 ++---------
 .../sagemaker_training_operator/index.html         | 25 ++---------
 .../sagemaker_transform_operator/index.html        | 27 ++----------
 .../operators/sagemaker_tuning_operator/index.html | 25 ++---------
 .../segment_track_event_operator/index.html        | 23 +---------
 .../contrib/operators/sftp_operator/index.html     | 23 +---------
 .../operators/sftp_to_s3_operator/index.html       | 23 +---------
 .../operators/slack_webhook_operator/index.html    | 23 +---------
 .../operators/snowflake_operator/index.html        | 23 +---------
 .../operators/sns_publish_operator/index.html      | 23 +---------
 .../operators/spark_jdbc_operator/index.html       | 23 +---------
 .../operators/spark_sql_operator/index.html        | 23 +---------
 .../operators/spark_submit_operator/index.html     | 23 +---------
 .../contrib/operators/sql_to_gcs/index.html        | 23 +---------
 .../contrib/operators/sqoop_operator/index.html    | 23 +---------
 .../contrib/operators/ssh_operator/index.html      | 23 +---------
 .../contrib/operators/vertica_operator/index.html  | 23 +---------
 .../contrib/operators/vertica_to_hive/index.html   | 23 +---------
 .../contrib/operators/vertica_to_mysql/index.html  | 23 +---------
 .../operators/wasb_delete_blob_operator/index.html | 23 +---------
 .../contrib/operators/winrm_operator/index.html    | 23 +---------
 .../contrib/sensors/aws_athena_sensor/index.html   | 23 +---------
 .../aws_glue_catalog_partition_sensor/index.html   | 23 +---------
 .../sensors/aws_redshift_cluster_sensor/index.html | 23 +---------
 .../contrib/sensors/aws_sqs_sensor/index.html      | 23 +---------
 .../contrib/sensors/azure_cosmos_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/bash_sensor/index.html | 23 +---------
 .../contrib/sensors/bigquery_sensor/index.html     | 23 +---------
 .../sensors/cassandra_record_sensor/index.html     | 23 +---------
 .../sensors/cassandra_table_sensor/index.html      | 23 +---------
 .../contrib/sensors/datadog_sensor/index.html      | 23 +---------
 .../contrib/sensors/emr_base_sensor/index.html     | 23 +---------
 .../contrib/sensors/emr_job_flow_sensor/index.html | 23 +---------
 .../contrib/sensors/emr_step_sensor/index.html     | 23 +---------
 .../airflow/contrib/sensors/file_sensor/index.html | 23 +---------
 _api/airflow/contrib/sensors/ftp_sensor/index.html | 23 +---------
 .../contrib/sensors/gcp_transfer_sensor/index.html | 23 +---------
 _api/airflow/contrib/sensors/gcs_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/hdfs_sensor/index.html | 23 +---------
 .../sensors/imap_attachment_sensor/index.html      | 23 +---------
 _api/airflow/contrib/sensors/index.html            | 23 +---------
 .../airflow/contrib/sensors/jira_sensor/index.html | 23 +---------
 .../contrib/sensors/mongo_sensor/index.html        | 23 +---------
 .../contrib/sensors/pubsub_sensor/index.html       | 23 +---------
 .../contrib/sensors/python_sensor/index.html       | 23 +---------
 .../contrib/sensors/qubole_sensor/index.html       | 23 +---------
 .../contrib/sensors/redis_key_sensor/index.html    | 23 +---------
 .../sensors/redis_pub_sub_sensor/index.html        | 23 +---------
 .../sensors/sagemaker_base_sensor/index.html       | 23 +---------
 .../sensors/sagemaker_endpoint_sensor/index.html   | 23 +---------
 .../sensors/sagemaker_training_sensor/index.html   | 23 +---------
 .../sensors/sagemaker_transform_sensor/index.html  | 23 +---------
 .../sensors/sagemaker_tuning_sensor/index.html     | 23 +---------
 .../airflow/contrib/sensors/sftp_sensor/index.html | 23 +---------
 .../airflow/contrib/sensors/wasb_sensor/index.html | 23 +---------
 .../contrib/sensors/weekday_sensor/index.html      | 23 +---------
 _api/airflow/executors/base_executor/index.html    | 23 +---------
 _api/airflow/executors/celery_executor/index.html  | 23 +---------
 _api/airflow/executors/dask_executor/index.html    | 23 +---------
 _api/airflow/executors/index.html                  | 23 +---------
 _api/airflow/executors/local_executor/index.html   | 23 +---------
 .../executors/sequential_executor/index.html       | 23 +---------
 _api/airflow/hooks/S3_hook/index.html              | 23 +---------
 _api/airflow/hooks/base_hook/index.html            | 23 +---------
 _api/airflow/hooks/dbapi_hook/index.html           | 23 +---------
 _api/airflow/hooks/docker_hook/index.html          | 23 +---------
 _api/airflow/hooks/druid_hook/index.html           | 23 +---------
 _api/airflow/hooks/hdfs_hook/index.html            | 23 +---------
 _api/airflow/hooks/hive_hooks/index.html           | 23 +---------
 _api/airflow/hooks/http_hook/index.html            | 23 +---------
 _api/airflow/hooks/index.html                      | 23 +---------
 _api/airflow/hooks/jdbc_hook/index.html            | 23 +---------
 _api/airflow/hooks/mssql_hook/index.html           | 23 +---------
 _api/airflow/hooks/mysql_hook/index.html           | 23 +---------
 _api/airflow/hooks/oracle_hook/index.html          | 23 +---------
 _api/airflow/hooks/pig_hook/index.html             | 23 +---------
 _api/airflow/hooks/postgres_hook/index.html        | 23 +---------
 _api/airflow/hooks/presto_hook/index.html          | 23 +---------
 _api/airflow/hooks/samba_hook/index.html           | 23 +---------
 _api/airflow/hooks/slack_hook/index.html           | 23 +---------
 _api/airflow/hooks/sqlite_hook/index.html          | 23 +---------
 _api/airflow/hooks/webhdfs_hook/index.html         | 23 +---------
 _api/airflow/hooks/zendesk_hook/index.html         | 23 +---------
 _api/airflow/models/base/index.html                | 23 +---------
 _api/airflow/models/baseoperator/index.html        | 23 +---------
 _api/airflow/models/chart/index.html               | 23 +---------
 _api/airflow/models/connection/index.html          | 23 +---------
 _api/airflow/models/crypto/index.html              | 23 +---------
 _api/airflow/models/dag/index.html                 | 23 +---------
 _api/airflow/models/dagbag/index.html              | 23 +---------
 _api/airflow/models/dagpickle/index.html           | 23 +---------
 _api/airflow/models/dagrun/index.html              | 23 +---------
 _api/airflow/models/errors/index.html              | 23 +---------
 _api/airflow/models/index.html                     | 23 +---------
 _api/airflow/models/knownevent/index.html          | 23 +---------
 _api/airflow/models/kubernetes/index.html          | 23 +---------
 _api/airflow/models/log/index.html                 | 23 +---------
 _api/airflow/models/pool/index.html                | 23 +---------
 _api/airflow/models/skipmixin/index.html           | 23 +---------
 _api/airflow/models/slamiss/index.html             | 23 +---------
 _api/airflow/models/taskfail/index.html            | 23 +---------
 _api/airflow/models/taskinstance/index.html        | 23 +---------
 _api/airflow/models/taskreschedule/index.html      | 23 +---------
 _api/airflow/models/user/index.html                | 23 +---------
 _api/airflow/models/variable/index.html            | 23 +---------
 _api/airflow/models/xcom/index.html                | 23 +---------
 _api/airflow/operators/bash_operator/index.html    | 23 +---------
 _api/airflow/operators/branch_operator/index.html  | 23 +---------
 _api/airflow/operators/check_operator/index.html   | 23 +---------
 _api/airflow/operators/dagrun_operator/index.html  | 23 +---------
 _api/airflow/operators/docker_operator/index.html  | 23 +---------
 .../operators/druid_check_operator/index.html      | 23 +---------
 _api/airflow/operators/dummy_operator/index.html   | 23 +---------
 _api/airflow/operators/email_operator/index.html   | 23 +---------
 _api/airflow/operators/generic_transfer/index.html | 23 +---------
 _api/airflow/operators/hive_operator/index.html    | 23 +---------
 .../operators/hive_stats_operator/index.html       | 23 +---------
 _api/airflow/operators/hive_to_druid/index.html    | 23 +---------
 _api/airflow/operators/hive_to_mysql/index.html    | 23 +---------
 .../operators/hive_to_samba_operator/index.html    | 23 +---------
 _api/airflow/operators/http_operator/index.html    | 23 +---------
 _api/airflow/operators/index.html                  | 23 +---------
 _api/airflow/operators/jdbc_operator/index.html    | 23 +---------
 .../operators/latest_only_operator/index.html      | 23 +---------
 _api/airflow/operators/mssql_operator/index.html   | 23 +---------
 _api/airflow/operators/mssql_to_hive/index.html    | 23 +---------
 _api/airflow/operators/mysql_operator/index.html   | 23 +---------
 _api/airflow/operators/mysql_to_hive/index.html    | 23 +---------
 _api/airflow/operators/oracle_operator/index.html  | 23 +---------
 _api/airflow/operators/pig_operator/index.html     | 23 +---------
 .../airflow/operators/postgres_operator/index.html | 23 +---------
 .../operators/presto_check_operator/index.html     | 23 +---------
 _api/airflow/operators/presto_to_mysql/index.html  | 23 +---------
 _api/airflow/operators/python_operator/index.html  | 23 +---------
 .../operators/redshift_to_s3_operator/index.html   | 23 +---------
 .../s3_file_transform_operator/index.html          | 23 +---------
 .../operators/s3_to_hive_operator/index.html       | 23 +---------
 .../operators/s3_to_redshift_operator/index.html   | 23 +---------
 _api/airflow/operators/sensors/index.html          | 23 +---------
 _api/airflow/operators/slack_operator/index.html   | 23 +---------
 _api/airflow/operators/sqlite_operator/index.html  | 23 +---------
 _api/airflow/operators/subdag_operator/index.html  | 23 +---------
 .../sensors/base_sensor_operator/index.html        | 23 +---------
 .../sensors/external_task_sensor/index.html        | 23 +---------
 _api/airflow/sensors/hdfs_sensor/index.html        | 23 +---------
 .../sensors/hive_partition_sensor/index.html       | 23 +---------
 _api/airflow/sensors/http_sensor/index.html        | 23 +---------
 _api/airflow/sensors/index.html                    | 23 +---------
 .../sensors/metastore_partition_sensor/index.html  | 23 +---------
 .../sensors/named_hive_partition_sensor/index.html | 23 +---------
 _api/airflow/sensors/s3_key_sensor/index.html      | 23 +---------
 _api/airflow/sensors/s3_prefix_sensor/index.html   | 23 +---------
 _api/airflow/sensors/sql_sensor/index.html         | 23 +---------
 _api/airflow/sensors/time_delta_sensor/index.html  | 23 +---------
 _api/airflow/sensors/time_sensor/index.html        | 23 +---------
 _api/airflow/sensors/web_hdfs_sensor/index.html    | 23 +---------
 _api/index.html                                    | 23 +---------
 .../example_dags/example_dingding_operator.html    | 23 +---------
 .../example_gcp_bigtable_operators.html            | 23 +---------
 .../example_dags/example_gcp_cloud_build.html      | 23 +---------
 .../contrib/example_dags/example_gcp_compute.html  | 23 +---------
 .../example_dags/example_gcp_compute_igm.html      | 23 +---------
 .../contrib/example_dags/example_gcp_function.html | 23 +---------
 .../example_dags/example_gcp_natural_language.html | 23 +---------
 .../contrib/example_dags/example_gcp_spanner.html  | 23 +---------
 .../contrib/example_dags/example_gcp_speech.html   | 23 +---------
 .../contrib/example_dags/example_gcp_sql.html      | 23 +---------
 .../example_dags/example_gcp_sql_query.html        | 23 +---------
 .../contrib/example_dags/example_gcp_transfer.html | 23 +---------
 .../example_dags/example_gcp_translate.html        | 23 +---------
 .../example_gcp_video_intelligence.html            | 23 +---------
 .../contrib/example_dags/example_gcp_vision.html   | 23 +---------
 .../contrib/example_dags/example_gcs_acl.html      | 23 +---------
 .../example_dags/example_gcs_to_bq_operator.html   | 23 +---------
 .../contrib/executors/kubernetes_executor.html     | 23 +---------
 .../airflow/contrib/executors/mesos_executor.html  | 23 +---------
 _modules/airflow/contrib/hooks.html                | 23 +---------
 .../airflow/contrib/hooks/aws_athena_hook.html     | 23 +---------
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   | 23 +---------
 .../airflow/contrib/hooks/aws_firehose_hook.html   | 23 +---------
 .../contrib/hooks/aws_glue_catalog_hook.html       | 23 +---------
 _modules/airflow/contrib/hooks/aws_hook.html       | 23 +---------
 .../airflow/contrib/hooks/aws_lambda_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/aws_sns_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   | 23 +---------
 .../hooks/azure_container_instance_hook.html       | 23 +---------
 .../hooks/azure_container_registry_hook.html       | 23 +---------
 .../contrib/hooks/azure_container_volume_hook.html | 23 +---------
 .../airflow/contrib/hooks/azure_cosmos_hook.html   | 23 +---------
 .../contrib/hooks/azure_data_lake_hook.html        | 23 +---------
 .../contrib/hooks/azure_fileshare_hook.html        | 23 +---------
 _modules/airflow/contrib/hooks/bigquery_hook.html  | 23 +---------
 _modules/airflow/contrib/hooks/cassandra_hook.html | 23 +---------
 _modules/airflow/contrib/hooks/cloudant_hook.html  | 23 +---------
 .../airflow/contrib/hooks/databricks_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/datadog_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/datastore_hook.html | 23 +---------
 _modules/airflow/contrib/hooks/dingding_hook.html  | 23 +---------
 .../contrib/hooks/discord_webhook_hook.html        | 23 +---------
 _modules/airflow/contrib/hooks/emr_hook.html       | 23 +---------
 _modules/airflow/contrib/hooks/fs_hook.html        | 23 +---------
 _modules/airflow/contrib/hooks/ftp_hook.html       | 23 +---------
 .../airflow/contrib/hooks/gcp_api_base_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   | 23 +---------
 .../contrib/hooks/gcp_cloud_build_hook.html        | 23 +---------
 .../airflow/contrib/hooks/gcp_compute_hook.html    | 23 +---------
 .../airflow/contrib/hooks/gcp_container_hook.html  | 23 +---------
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_function_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   | 23 +---------
 .../contrib/hooks/gcp_natural_language_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_spanner_hook.html    | 23 +---------
 .../contrib/hooks/gcp_speech_to_text_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   | 23 +---------
 .../contrib/hooks/gcp_text_to_speech_hook.html     | 23 +---------
 .../airflow/contrib/hooks/gcp_transfer_hook.html   | 23 +---------
 .../airflow/contrib/hooks/gcp_translate_hook.html  | 23 +---------
 .../contrib/hooks/gcp_video_intelligence_hook.html | 23 +---------
 .../airflow/contrib/hooks/gcp_vision_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/gcs_hook.html       | 23 +---------
 _modules/airflow/contrib/hooks/grpc_hook.html      | 23 +---------
 _modules/airflow/contrib/hooks/imap_hook.html      | 23 +---------
 _modules/airflow/contrib/hooks/jenkins_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/jira_hook.html      | 23 +---------
 _modules/airflow/contrib/hooks/mongo_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/openfaas_hook.html  | 23 +---------
 .../airflow/contrib/hooks/opsgenie_alert_hook.html | 23 +---------
 _modules/airflow/contrib/hooks/pinot_hook.html     | 23 +---------
 .../airflow/contrib/hooks/qubole_check_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/qubole_hook.html    | 23 +---------
 _modules/airflow/contrib/hooks/redis_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/redshift_hook.html  | 23 +---------
 _modules/airflow/contrib/hooks/sagemaker_hook.html | 23 +---------
 .../airflow/contrib/hooks/salesforce_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/segment_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/sftp_hook.html      | 23 +---------
 .../airflow/contrib/hooks/slack_webhook_hook.html  | 23 +---------
 _modules/airflow/contrib/hooks/snowflake_hook.html | 23 +---------
 .../airflow/contrib/hooks/spark_jdbc_hook.html     | 23 +---------
 .../airflow/contrib/hooks/spark_jdbc_script.html   | 23 +---------
 _modules/airflow/contrib/hooks/spark_sql_hook.html | 23 +---------
 .../airflow/contrib/hooks/spark_submit_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/sqoop_hook.html     | 23 +---------
 _modules/airflow/contrib/hooks/ssh_hook.html       | 23 +---------
 _modules/airflow/contrib/hooks/vertica_hook.html   | 23 +---------
 _modules/airflow/contrib/hooks/wasb_hook.html      | 23 +---------
 _modules/airflow/contrib/hooks/winrm_hook.html     | 23 +---------
 _modules/airflow/contrib/operators.html            | 23 +---------
 .../contrib/operators/adls_list_operator.html      | 23 +---------
 .../airflow/contrib/operators/adls_to_gcs.html     | 23 +---------
 .../contrib/operators/aws_athena_operator.html     | 23 +---------
 .../operators/aws_sqs_publish_operator.html        | 23 +---------
 .../contrib/operators/awsbatch_operator.html       | 23 +---------
 .../azure_container_instances_operator.html        | 23 +---------
 .../contrib/operators/azure_cosmos_operator.html   | 23 +---------
 .../contrib/operators/bigquery_check_operator.html | 23 +---------
 .../contrib/operators/bigquery_get_data.html       | 23 +---------
 .../contrib/operators/bigquery_operator.html       | 23 +---------
 .../operators/bigquery_table_delete_operator.html  | 23 +---------
 .../contrib/operators/bigquery_to_bigquery.html    | 23 +---------
 .../airflow/contrib/operators/bigquery_to_gcs.html | 23 +---------
 .../contrib/operators/cassandra_to_gcs.html        | 23 +---------
 .../contrib/operators/databricks_operator.html     | 23 +---------
 .../contrib/operators/dataflow_operator.html       | 23 +---------
 .../contrib/operators/dataproc_operator.html       | 23 +---------
 .../operators/datastore_export_operator.html       | 23 +---------
 .../operators/datastore_import_operator.html       | 23 +---------
 .../contrib/operators/dingding_operator.html       | 23 +---------
 .../operators/discord_webhook_operator.html        | 23 +---------
 .../airflow/contrib/operators/druid_operator.html  | 23 +---------
 .../airflow/contrib/operators/ecs_operator.html    | 23 +---------
 .../contrib/operators/emr_add_steps_operator.html  | 23 +---------
 .../operators/emr_create_job_flow_operator.html    | 23 +---------
 .../operators/emr_terminate_job_flow_operator.html | 23 +---------
 .../airflow/contrib/operators/file_to_gcs.html     | 23 +---------
 .../airflow/contrib/operators/file_to_wasb.html    | 23 +---------
 .../contrib/operators/gcp_bigtable_operator.html   | 23 +---------
 .../operators/gcp_cloud_build_operator.html        | 23 +---------
 .../contrib/operators/gcp_compute_operator.html    | 23 +---------
 .../contrib/operators/gcp_container_operator.html  | 23 +---------
 .../contrib/operators/gcp_dlp_operator.html        | 23 +---------
 .../contrib/operators/gcp_function_operator.html   | 23 +---------
 .../operators/gcp_natural_language_operator.html   | 23 +---------
 .../contrib/operators/gcp_spanner_operator.html    | 23 +---------
 .../operators/gcp_speech_to_text_operator.html     | 23 +---------
 .../contrib/operators/gcp_sql_operator.html        | 23 +---------
 .../operators/gcp_text_to_speech_operator.html     | 23 +---------
 .../contrib/operators/gcp_transfer_operator.html   | 23 +---------
 .../contrib/operators/gcp_translate_operator.html  | 23 +---------
 .../operators/gcp_translate_speech_operator.html   | 23 +---------
 .../operators/gcp_video_intelligence_operator.html | 23 +---------
 .../contrib/operators/gcp_vision_operator.html     | 23 +---------
 .../contrib/operators/gcs_acl_operator.html        | 23 +---------
 .../contrib/operators/gcs_delete_operator.html     | 23 +---------
 .../contrib/operators/gcs_download_operator.html   | 23 +---------
 .../contrib/operators/gcs_list_operator.html       | 23 +---------
 .../airflow/contrib/operators/gcs_operator.html    | 23 +---------
 _modules/airflow/contrib/operators/gcs_to_bq.html  | 23 +---------
 _modules/airflow/contrib/operators/gcs_to_gcs.html | 23 +---------
 _modules/airflow/contrib/operators/gcs_to_s3.html  | 23 +---------
 .../contrib/operators/hipchat_operator.html        | 23 +---------
 .../contrib/operators/hive_to_dynamodb.html        | 23 +---------
 .../operators/imap_attachment_to_s3_operator.html  | 23 +---------
 .../operators/jenkins_job_trigger_operator.html    | 23 +---------
 .../airflow/contrib/operators/jira_operator.html   | 23 +---------
 .../contrib/operators/kubernetes_pod_operator.html | 23 +---------
 .../contrib/operators/mlengine_operator.html       | 23 +---------
 .../airflow/contrib/operators/mongo_to_s3.html     | 23 +---------
 .../airflow/contrib/operators/mssql_to_gcs.html    | 23 +---------
 .../airflow/contrib/operators/mysql_to_gcs.html    | 23 +---------
 .../contrib/operators/opsgenie_alert_operator.html | 23 +---------
 .../oracle_to_azure_data_lake_transfer.html        | 23 +---------
 .../operators/oracle_to_oracle_transfer.html       | 23 +---------
 .../operators/postgres_to_gcs_operator.html        | 23 +---------
 .../airflow/contrib/operators/pubsub_operator.html | 23 +---------
 .../contrib/operators/qubole_check_operator.html   | 23 +---------
 .../airflow/contrib/operators/qubole_operator.html | 23 +---------
 .../contrib/operators/redis_publish_operator.html  | 23 +---------
 .../contrib/operators/s3_copy_object_operator.html | 23 +---------
 .../operators/s3_delete_objects_operator.html      | 23 +---------
 .../contrib/operators/s3_list_operator.html        | 23 +---------
 .../contrib/operators/s3_to_gcs_operator.html      | 23 +---------
 .../contrib/operators/s3_to_sftp_operator.html     | 23 +---------
 .../contrib/operators/sagemaker_base_operator.html | 23 +---------
 .../sagemaker_endpoint_config_operator.html        | 23 +---------
 .../operators/sagemaker_endpoint_operator.html     | 23 +---------
 .../operators/sagemaker_model_operator.html        | 23 +---------
 .../operators/sagemaker_training_operator.html     | 23 +---------
 .../operators/sagemaker_transform_operator.html    | 23 +---------
 .../operators/sagemaker_tuning_operator.html       | 23 +---------
 .../operators/segment_track_event_operator.html    | 23 +---------
 .../airflow/contrib/operators/sftp_operator.html   | 23 +---------
 .../contrib/operators/sftp_to_s3_operator.html     | 23 +---------
 .../contrib/operators/slack_webhook_operator.html  | 23 +---------
 .../contrib/operators/snowflake_operator.html      | 23 +---------
 .../contrib/operators/sns_publish_operator.html    | 23 +---------
 .../contrib/operators/spark_jdbc_operator.html     | 23 +---------
 .../contrib/operators/spark_sql_operator.html      | 23 +---------
 .../contrib/operators/spark_submit_operator.html   | 23 +---------
 _modules/airflow/contrib/operators/sql_to_gcs.html | 23 +---------
 .../airflow/contrib/operators/sqoop_operator.html  | 23 +---------
 .../airflow/contrib/operators/ssh_operator.html    | 23 +---------
 .../contrib/operators/vertica_operator.html        | 23 +---------
 .../airflow/contrib/operators/vertica_to_hive.html | 23 +---------
 .../contrib/operators/vertica_to_mysql.html        | 23 +---------
 .../operators/wasb_delete_blob_operator.html       | 23 +---------
 .../airflow/contrib/operators/winrm_operator.html  | 23 +---------
 .../airflow/contrib/sensors/aws_athena_sensor.html | 23 +---------
 .../sensors/aws_glue_catalog_partition_sensor.html | 23 +---------
 .../sensors/aws_redshift_cluster_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/aws_sqs_sensor.html    | 23 +---------
 .../contrib/sensors/azure_cosmos_sensor.html       | 23 +---------
 _modules/airflow/contrib/sensors/bash_sensor.html  | 23 +---------
 .../airflow/contrib/sensors/bigquery_sensor.html   | 23 +---------
 .../contrib/sensors/cassandra_record_sensor.html   | 23 +---------
 .../contrib/sensors/cassandra_table_sensor.html    | 23 +---------
 .../airflow/contrib/sensors/datadog_sensor.html    | 23 +---------
 .../airflow/contrib/sensors/emr_base_sensor.html   | 23 +---------
 .../contrib/sensors/emr_job_flow_sensor.html       | 23 +---------
 .../airflow/contrib/sensors/emr_step_sensor.html   | 23 +---------
 _modules/airflow/contrib/sensors/file_sensor.html  | 23 +---------
 _modules/airflow/contrib/sensors/ftp_sensor.html   | 23 +---------
 .../contrib/sensors/gcp_transfer_sensor.html       | 23 +---------
 _modules/airflow/contrib/sensors/gcs_sensor.html   | 23 +---------
 _modules/airflow/contrib/sensors/hdfs_sensor.html  | 23 +---------
 .../contrib/sensors/imap_attachment_sensor.html    | 23 +---------
 _modules/airflow/contrib/sensors/jira_sensor.html  | 23 +---------
 _modules/airflow/contrib/sensors/mongo_sensor.html | 23 +---------
 .../airflow/contrib/sensors/pubsub_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/python_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/qubole_sensor.html     | 23 +---------
 .../airflow/contrib/sensors/redis_key_sensor.html  | 23 +---------
 .../contrib/sensors/redis_pub_sub_sensor.html      | 23 +---------
 .../contrib/sensors/sagemaker_base_sensor.html     | 23 +---------
 .../contrib/sensors/sagemaker_endpoint_sensor.html | 23 +---------
 .../contrib/sensors/sagemaker_training_sensor.html | 23 +---------
 .../sensors/sagemaker_transform_sensor.html        | 23 +---------
 .../contrib/sensors/sagemaker_tuning_sensor.html   | 23 +---------
 _modules/airflow/contrib/sensors/sftp_sensor.html  | 23 +---------
 _modules/airflow/contrib/sensors/wasb_sensor.html  | 23 +---------
 .../airflow/contrib/sensors/weekday_sensor.html    | 23 +---------
 .../example_dags/example_bash_operator.html        | 23 +---------
 .../example_dags/example_python_operator.html      | 23 +---------
 _modules/airflow/exceptions.html                   | 23 +---------
 _modules/airflow/executors.html                    | 23 +---------
 _modules/airflow/executors/base_executor.html      | 23 +---------
 _modules/airflow/executors/celery_executor.html    | 23 +---------
 _modules/airflow/executors/dask_executor.html      | 23 +---------
 _modules/airflow/executors/local_executor.html     | 23 +---------
 .../airflow/executors/sequential_executor.html     | 23 +---------
 _modules/airflow/hooks.html                        | 23 +---------
 _modules/airflow/hooks/S3_hook.html                | 23 +---------
 _modules/airflow/hooks/base_hook.html              | 23 +---------
 _modules/airflow/hooks/dbapi_hook.html             | 23 +---------
 _modules/airflow/hooks/docker_hook.html            | 23 +---------
 _modules/airflow/hooks/druid_hook.html             | 23 +---------
 _modules/airflow/hooks/hdfs_hook.html              | 23 +---------
 _modules/airflow/hooks/hive_hooks.html             | 23 +---------
 _modules/airflow/hooks/http_hook.html              | 23 +---------
 _modules/airflow/hooks/jdbc_hook.html              | 23 +---------
 _modules/airflow/hooks/mssql_hook.html             | 23 +---------
 _modules/airflow/hooks/mysql_hook.html             | 23 +---------
 _modules/airflow/hooks/oracle_hook.html            | 23 +---------
 _modules/airflow/hooks/pig_hook.html               | 23 +---------
 _modules/airflow/hooks/postgres_hook.html          | 23 +---------
 _modules/airflow/hooks/presto_hook.html            | 23 +---------
 _modules/airflow/hooks/samba_hook.html             | 23 +---------
 _modules/airflow/hooks/slack_hook.html             | 23 +---------
 _modules/airflow/hooks/sqlite_hook.html            | 23 +---------
 _modules/airflow/hooks/webhdfs_hook.html           | 23 +---------
 _modules/airflow/hooks/zendesk_hook.html           | 23 +---------
 _modules/airflow/macros.html                       | 23 +---------
 _modules/airflow/macros/hive.html                  | 23 +---------
 _modules/airflow/models.html                       | 23 +---------
 _modules/airflow/models/base.html                  | 23 +---------
 _modules/airflow/models/baseoperator.html          | 23 +---------
 _modules/airflow/models/chart.html                 | 23 +---------
 _modules/airflow/models/connection.html            | 23 +---------
 _modules/airflow/models/crypto.html                | 23 +---------
 _modules/airflow/models/dag.html                   | 23 +---------
 _modules/airflow/models/dagbag.html                | 23 +---------
 _modules/airflow/models/dagpickle.html             | 23 +---------
 _modules/airflow/models/dagrun.html                | 23 +---------
 _modules/airflow/models/errors.html                | 23 +---------
 _modules/airflow/models/knownevent.html            | 23 +---------
 _modules/airflow/models/kubernetes.html            | 23 +---------
 _modules/airflow/models/log.html                   | 23 +---------
 _modules/airflow/models/pool.html                  | 23 +---------
 _modules/airflow/models/skipmixin.html             | 23 +---------
 _modules/airflow/models/slamiss.html               | 23 +---------
 _modules/airflow/models/taskfail.html              | 23 +---------
 _modules/airflow/models/taskinstance.html          | 23 +---------
 _modules/airflow/models/taskreschedule.html        | 23 +---------
 _modules/airflow/models/user.html                  | 23 +---------
 _modules/airflow/models/variable.html              | 23 +---------
 _modules/airflow/models/xcom.html                  | 23 +---------
 _modules/airflow/operators.html                    | 23 +---------
 _modules/airflow/operators/bash_operator.html      | 23 +---------
 _modules/airflow/operators/branch_operator.html    | 23 +---------
 _modules/airflow/operators/check_operator.html     | 23 +---------
 _modules/airflow/operators/dagrun_operator.html    | 23 +---------
 _modules/airflow/operators/docker_operator.html    | 23 +---------
 .../airflow/operators/druid_check_operator.html    | 23 +---------
 _modules/airflow/operators/dummy_operator.html     | 23 +---------
 _modules/airflow/operators/email_operator.html     | 23 +---------
 _modules/airflow/operators/generic_transfer.html   | 23 +---------
 _modules/airflow/operators/hive_operator.html      | 23 +---------
 .../airflow/operators/hive_stats_operator.html     | 23 +---------
 _modules/airflow/operators/hive_to_druid.html      | 23 +---------
 _modules/airflow/operators/hive_to_mysql.html      | 23 +---------
 .../airflow/operators/hive_to_samba_operator.html  | 23 +---------
 _modules/airflow/operators/http_operator.html      | 23 +---------
 _modules/airflow/operators/jdbc_operator.html      | 23 +---------
 .../airflow/operators/latest_only_operator.html    | 23 +---------
 _modules/airflow/operators/mssql_operator.html     | 23 +---------
 _modules/airflow/operators/mssql_to_hive.html      | 23 +---------
 _modules/airflow/operators/mysql_operator.html     | 23 +---------
 _modules/airflow/operators/mysql_to_hive.html      | 23 +---------
 _modules/airflow/operators/oracle_operator.html    | 23 +---------
 _modules/airflow/operators/pig_operator.html       | 23 +---------
 _modules/airflow/operators/postgres_operator.html  | 23 +---------
 .../airflow/operators/presto_check_operator.html   | 23 +---------
 _modules/airflow/operators/presto_to_mysql.html    | 23 +---------
 _modules/airflow/operators/python_operator.html    | 23 +---------
 .../airflow/operators/redshift_to_s3_operator.html | 23 +---------
 .../operators/s3_file_transform_operator.html      | 23 +---------
 .../airflow/operators/s3_to_hive_operator.html     | 23 +---------
 .../airflow/operators/s3_to_redshift_operator.html | 23 +---------
 _modules/airflow/operators/sensors.html            | 23 +---------
 _modules/airflow/operators/slack_operator.html     | 23 +---------
 _modules/airflow/operators/sqlite_operator.html    | 23 +---------
 _modules/airflow/operators/subdag_operator.html    | 23 +---------
 _modules/airflow/sensors.html                      | 23 +---------
 _modules/airflow/sensors/base_sensor_operator.html | 23 +---------
 _modules/airflow/sensors/external_task_sensor.html | 23 +---------
 _modules/airflow/sensors/hdfs_sensor.html          | 23 +---------
 .../airflow/sensors/hive_partition_sensor.html     | 23 +---------
 _modules/airflow/sensors/http_sensor.html          | 23 +---------
 .../sensors/metastore_partition_sensor.html        | 23 +---------
 .../sensors/named_hive_partition_sensor.html       | 23 +---------
 _modules/airflow/sensors/s3_key_sensor.html        | 23 +---------
 _modules/airflow/sensors/s3_prefix_sensor.html     | 23 +---------
 _modules/airflow/sensors/sql_sensor.html           | 23 +---------
 _modules/airflow/sensors/time_delta_sensor.html    | 23 +---------
 _modules/airflow/sensors/time_sensor.html          | 23 +---------
 _modules/airflow/sensors/web_hdfs_sensor.html      | 23 +---------
 _modules/airflow/utils/log/logging_mixin.html      | 23 +---------
 _modules/index.html                                | 23 +---------
 api.html                                           | 23 +---------
 changelog.html                                     | 29 +++----------
 cli.html                                           | 27 ++----------
 concepts.html                                      | 23 +---------
 faq.html                                           | 23 +---------
 genindex.html                                      | 23 +---------
 howto/check-health.html                            | 23 +---------
 howto/connection/aws.html                          | 23 +---------
 howto/connection/gcp.html                          | 23 +---------
 howto/connection/gcp_sql.html                      | 23 +---------
 howto/connection/grpc.html                         | 23 +---------
 howto/connection/index.html                        | 23 +---------
 howto/connection/mysql.html                        | 23 +---------
 howto/connection/oracle.html                       | 23 +---------
 howto/connection/postgres.html                     | 23 +---------
 howto/connection/ssh.html                          | 23 +---------
 howto/define_extra_link.html                       | 23 +---------
 howto/executor/use-celery.html                     | 23 +---------
 howto/executor/use-dask.html                       | 23 +---------
 howto/executor/use-mesos.html                      | 23 +---------
 howto/index.html                                   | 23 +---------
 howto/initialize-database.html                     | 23 +---------
 howto/operator/bash.html                           | 23 +---------
 howto/operator/dingding.html                       | 23 +---------
 howto/operator/gcp/bigtable.html                   | 23 +---------
 howto/operator/gcp/cloud_build.html                | 23 +---------
 howto/operator/gcp/compute.html                    | 23 +---------
 howto/operator/gcp/function.html                   | 23 +---------
 howto/operator/gcp/gcs.html                        | 23 +---------
 howto/operator/gcp/index.html                      | 23 +---------
 howto/operator/gcp/natural_language.html           | 23 +---------
 howto/operator/gcp/spanner.html                    | 23 +---------
 howto/operator/gcp/speech.html                     | 23 +---------
 howto/operator/gcp/sql.html                        | 23 +---------
 howto/operator/gcp/transfer.html                   | 23 +---------
 howto/operator/gcp/translate-speech.html           | 23 +---------
 howto/operator/gcp/translate.html                  | 23 +---------
 howto/operator/gcp/video.html                      | 23 +---------
 howto/operator/gcp/vision.html                     | 23 +---------
 howto/operator/index.html                          | 23 +---------
 howto/operator/python.html                         | 23 +---------
 howto/run-behind-proxy.html                        | 23 +---------
 howto/run-with-systemd.html                        | 23 +---------
 howto/run-with-upstart.html                        | 23 +---------
 howto/secure-connections.html                      | 23 +---------
 howto/set-config.html                              | 23 +---------
 howto/use-test-config.html                         | 23 +---------
 howto/write-logs.html                              | 23 +---------
 http-routingtable.html                             | 23 +---------
 index.html                                         | 25 ++---------
 installation.html                                  | 23 +---------
 integration.html                                   | 23 +---------
 kubernetes.html                                    | 23 +---------
 license.html                                       | 23 +---------
 lineage.html                                       | 23 +---------
 macros.html                                        | 23 +---------
 metrics.html                                       | 23 +---------
 plugins.html                                       | 23 +---------
 profiling.html                                     | 23 +---------
 project.html                                       | 23 +---------
 py-modindex.html                                   | 23 +---------
 scheduler.html                                     | 23 +---------
 search.html                                        | 23 +---------
 security.html                                      | 23 +---------
 start.html                                         | 23 +---------
 timezone.html                                      | 23 +---------
 tutorial.html                                      | 23 +---------
 ui.html                                            | 23 +---------
 1434 files changed, 2922 insertions(+), 30180 deletions(-)

diff --git a/1.10.4/_api/airflow/contrib/executors/index.html b/1.10.4/_api/airflow/contrib/executors/index.html
index c5e37ee..01365ec 100644
--- a/1.10.4/_api/airflow/contrib/executors/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -339,22 +335,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
index bd50d5d..7b24bd2 100644
--- a/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -597,22 +593,7 @@ for State.LAUNCHED</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
index 885b326..16246b9 100644
--- a/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
+++ b/1.10.4/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -444,22 +440,7 @@ See <a class="reference external" href="http://mesos.apache.org/">http://mesos.a
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
index 25c2be0..94e418e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -465,22 +461,7 @@ Returns one of the final states</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
index d22c621..49f479d 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -362,22 +358,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
index 9377cc3..de372a7 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -358,22 +354,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
index 348fe8d..f3e9d6d 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -447,22 +443,7 @@ a partition may be composed of multiple columns. For example:
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
index 09145a5..6fb9903 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,22 +401,7 @@ If IAM role is already an IAM role ARN, no change is made.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
index 9b8bf2c..9dcfa81 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -364,22 +360,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
index cf98e2e..e9eb9e6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -363,22 +359,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
index f72b33f..4b1bad3 100644
--- a/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,22 +397,7 @@ For details of the returned value see <code class="xref py py-meth docutils lite
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
index 2416449..166aa3f 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -483,22 +479,7 @@ If the exitcode is unknown 0 is returned.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
index eab90f3..86eb248 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -353,22 +349,7 @@ to start the container instance</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
index 52a62f6..c03fa34 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -358,22 +354,7 @@ which file shares should be mounted</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
index a604460..4c694d9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -448,22 +444,7 @@ collection in the CosmosDB database.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
index 9be2da6..59f0108 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -430,22 +426,7 @@ block for each API call. This block cannot be bigger than a chunk.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
index d69fd66..0a693d2 100644
--- a/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -535,22 +531,7 @@ passed to the <cite>FileService()</cite> constructor.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
index fc25c0e..2b1095a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -1237,22 +1233,7 @@ sequences (e.g. a list of tuples).</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
index 3b04c6e..f4e2342 100644
--- a/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -431,22 +427,7 @@ Use dot notation to target a specific keyspace.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
index 6c334c3..1869d41 100644
--- a/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -357,22 +353,7 @@ documentation <a class="reference external" href="https://github.com/cloudant-la
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
index 062a680..e1323bf 100644
--- a/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/databricks_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -540,22 +536,7 @@ magic function.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
index 04a95b4..c989cdb 100644
--- a/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -421,22 +417,7 @@ to submit.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
index 8ac14f3..1de323c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -608,22 +604,7 @@ Cannot be used with a transaction.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
index a28178e..6ca6c96 100644
--- a/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -390,22 +386,7 @@ not don’t need generic params</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
index 91e1f70..4f77ac5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -400,22 +396,7 @@ to a valid Discord JSON payload.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
index c3015d9..a525a2a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -357,22 +353,7 @@ Overrides for this config may be passed as the job_flow_overrides.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
index 7e47acf..e6a7f66 100644
--- a/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -358,22 +354,7 @@ Extra: {“path”: “/tmp”}</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
index 75e36cb..90408af 100644
--- a/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -553,22 +549,7 @@ file-like buffer</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
index 6c7f0b4..cee45b9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -463,22 +459,7 @@ the service account that is authorized.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
index f433751..fe2ec01 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -505,22 +501,7 @@ from.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
index 4588041..ecc456e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -418,22 +414,7 @@ asynchronous call.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
index 7ae4b4c..80939f4 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -591,22 +587,7 @@ the default project_id from the GCP connection is used.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
index 5f47424..3c55135 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_container_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -508,22 +504,7 @@ individual attempt.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
index 7d79191..8e5104b 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -439,22 +435,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
index c743211..6356d2c 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -495,22 +491,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
index 9f10fbd..86c4a91 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -1216,22 +1212,7 @@ individual attempt.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
index 7fe9ff5..3170051 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_function_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -494,22 +490,7 @@ asynchronous call.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
index 13f83e4..328c4f1 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -415,22 +411,7 @@ provided when encrypting the message.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
index fa079dd..b6329b9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -461,22 +457,7 @@ raises an error otherwise.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
index 1f649e0..93537e9 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -514,22 +510,7 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
index 4c1637d..57e12ee 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -517,22 +513,7 @@ response</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
index 01f8e49..95f77d0 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -588,22 +584,7 @@ database. If set to None or missing, the default project_id from the GCP connect
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
index 2908431..88358c1 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -391,22 +387,7 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
index 60bd30b..db21161 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -911,22 +907,7 @@ that uses proxy or connects directly to the Google Cloud SQL database.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
index 8e9ad6c..d48df27 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -400,22 +396,7 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
index 7cee9e0..7de2a6a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -859,22 +855,7 @@ with a state in the list,</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
index 0d158ce..ad36a27 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -407,22 +403,7 @@ values and translations differ.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
index abda8c1..e4b4239 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -398,22 +394,7 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
index c4d3569..c4f621f 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -547,22 +543,7 @@ provided:</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
index afe06af..07124c5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -659,22 +655,7 @@ into a single object.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
index 7b835b9..53fb817 100644
--- a/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -361,22 +357,7 @@ They get formatted as shown below.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
index dbde6e6..fe53350 100644
--- a/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -601,22 +597,7 @@ where the attachments name matches the given name.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/index.html b/1.10.4/_api/airflow/contrib/hooks/index.html
index def2391..92b2dd6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -424,22 +420,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
index c599dfc..cf58804 100644
--- a/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -347,22 +343,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
index 7be9115..c74c407 100644
--- a/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -352,22 +348,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
index dfcf188..0dab6ad 100644
--- a/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -538,22 +534,7 @@ Can be omitted; then the database from the connection string is used.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
index 69165c2..c3cd60f 100644
--- a/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,22 +397,7 @@ for example host : <a class="reference external" href="http://openfaas.faas.com"
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
index 7a818f8..075c148 100644
--- a/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -382,22 +378,7 @@ See <a class="reference external" href="https://docs.opsgenie.com/docs/alert-api
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
index 955c521..e0381d6 100644
--- a/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -409,22 +405,7 @@ sql statements to execute</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
index 597a101..d67a47e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/qubole_check_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -386,22 +382,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
index b4cc16c..51b76d5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -439,22 +435,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
index 9b6fec5..653b4c5 100644
--- a/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -350,22 +346,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
index 7da3777..e9e4ea7 100644
--- a/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -412,22 +408,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
index 472bf17..59e192d 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -466,7 +462,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Establish an AWS connection for SageMaker</p>
 <dl class="field-list simple">
 <dt class="field-odd">Return type</dt>
-<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SageMaker.Client</span></code></a></p>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SageMaker.Client</span></code></a></p>
 </dd>
 </dl>
 </dd></dl>
@@ -477,7 +473,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd><p>Establish an AWS connection for retrieving logs during training</p>
 <dl class="field-list simple">
 <dt class="field-odd">Return type</dt>
-<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.9.203)">CloudWatchLogs.Client</a></p>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.9.201)">CloudWatchLogs.Client</a></p>
 </dd>
 </dl>
 </dd></dl>
@@ -863,22 +859,7 @@ None implies no timeout for any SageMaker job.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
index 320303b..49dca2f 100644
--- a/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/salesforce_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -478,22 +474,7 @@ was fetched from Salesforce.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
index 85382b2..83df061 100644
--- a/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -360,22 +356,7 @@ retrieve data from it or write to that file.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
index 6fa5577..61c9e18 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -294,22 +290,16 @@ https://www.sphinx-doc.org/en/master/templating.html
 <p>This hook is inherited from SSH hook. Please refer to SSH hook for the input
 arguments.</p>
 <p>Interact with SFTP. Aims to be interchangeable with FTPHook.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Pitfalls:</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p>In contrast with FTPHook describe_directory only returns size, type and
-modify. It doesn’t return unix.owner, unix.mode, perm, unix.group and
-unique.</p></li>
-<li><dl class="simple">
-<dt>retrieve_file and store_file only take a local full path and not a</dt><dd><p>buffer.</p>
-</dd>
-</dl>
-</li>
-<li><p>If no mode is passed to create_directory it will be created with 777
-permissions.</p></li>
-</ul>
-</dd>
-</dl>
+<p>:Pitfalls:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">In</span> <span class="n">contrast</span> <span class="k">with</span> <span class="n">FTPHook</span> <span class="n">describe_directory</span> <span class="n">only</span> <span class="n">returns</span> <span class="n">size</span><span class="p">,</span> <span class="nb">type</span> <span class="ow">and</span>
+  <span class="n">modify</span><span class="o">.</span> <span class="n">It</span> <span class="n">doesn</span><span class="s1">&#39;t return unix.owner, unix.mode, perm, unix.group and</span>
+  <span class="n">unique</span><span class="o">.</span>
+<span class="o">-</span> <span class="n">retrieve_file</span> <span class="ow">and</span> <span class="n">store_file</span> <span class="n">only</span> <span class="n">take</span> <span class="n">a</span> <span class="n">local</span> <span class="n">full</span> <span class="n">path</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span>
+   <span class="n">buffer</span><span class="o">.</span>
+<span class="o">-</span> <span class="n">If</span> <span class="n">no</span> <span class="n">mode</span> <span class="ow">is</span> <span class="n">passed</span> <span class="n">to</span> <span class="n">create_directory</span> <span class="n">it</span> <span class="n">will</span> <span class="n">be</span> <span class="n">created</span> <span class="k">with</span> <span class="mi">777</span>
+  <span class="n">permissions</span><span class="o">.</span>
+</pre></div>
+</div>
 <p>Errors that may occur throughout but should be handled downstream.</p>
 <dl class="method">
 <dt id="airflow.contrib.hooks.sftp_hook.SFTPHook.get_conn">
@@ -445,22 +435,7 @@ from that location
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
index 7e7bf78..bbedb1a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -389,22 +385,7 @@ Slack json message
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
index 0e30e70..68ee91a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -390,22 +386,7 @@ from extra</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
index 32d88d8..16b5e4a 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -423,22 +419,7 @@ types.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
index 7637bc6..46a7fc0 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -355,22 +351,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
index 6f06f90..dbf2f48 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -402,22 +398,7 @@ as default.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
index 807c7dc..f194364 100644
--- a/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/spark_submit_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -511,22 +507,7 @@ master failure recovery</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
index 5b4b527..48ea0cc 100644
--- a/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -501,22 +497,7 @@ Don’t include prefix of – for sqoop options.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
index 255fd06..12cd369 100644
--- a/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,22 +401,7 @@ keepalive_interval seconds</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
index 6db7947..bcc832e 100644
--- a/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -363,22 +359,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
index 1ffd175..15291dc 100644
--- a/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -486,22 +482,7 @@ blob does not exist.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html b/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
index 904c3a4..301f631 100644
--- a/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
+++ b/1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -389,22 +385,7 @@ protocols like TLSv1.0, default is False</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
index a1b3f26..bb37d4b 100644
--- a/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/adls_list_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -387,22 +383,7 @@ folder in the specified ADLS account</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
index 19d37b4..d3fac85 100644
--- a/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/adls_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -418,22 +414,7 @@ path ``/hello/world``to the GCS bucket ``mybucket``. ::
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html b/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
index 4daad90..3085efb 100644
--- a/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/aws_athena_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -392,22 +388,7 @@ query will be pushed to an XCom when it successfuly completes.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
index a9babd9..d06bfb1 100644
--- a/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -386,22 +382,7 @@ For details of the returned dict see <code class="xref py py-meth docutils liter
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html b/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
index 963ac01..7dcee31 100644
--- a/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/awsbatch_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -422,22 +418,7 @@ Override the region_name in connection (if provided)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html b/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
index adbf039..d0c214f 100644
--- a/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -461,22 +457,7 @@ the container instance.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html b/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
index 409383c..a36aa40 100644
--- a/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -372,22 +368,7 @@ It will create both the database and collection if they do not already exist</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
index 2ff92b9..c55aecf 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_check_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -461,22 +457,7 @@ or standard SQL (false).</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
index 48ee7e5..4e7736f 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_get_data/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -401,22 +397,7 @@ delegation enabled.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
index 6fed0ed..8981c7a 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -715,22 +711,7 @@ More info:
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
index 60de55e..d71a725 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -376,22 +372,7 @@ requested table does not exist.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
index 075f622..88e149f 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -392,22 +388,7 @@ passed to BigQuery</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
index 145b859..d8a3305 100644
--- a/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -395,22 +391,7 @@ passed to BigQuery</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
index 8491865..1a429d5 100644
--- a/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -509,22 +505,7 @@ each will be converted to its corresponding data type in BQ.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html b/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
index 7c5f1c0..85a4681 100644
--- a/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/databricks_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -703,22 +699,7 @@ unreachable. Its value must be greater than or equal to 1.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
index b6bd2db..f17dd1d 100644
--- a/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dataflow_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -627,22 +623,7 @@ will be returned immediately.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
index 6f204ba..6975f9e 100644
--- a/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dataproc_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -1015,22 +1011,7 @@ delegation enabled.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html b/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
index 22266ba..d967d4d 100644
--- a/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/datastore_export_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,22 +371,7 @@ emptied prior to exports. This enables overwriting existing backups.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html b/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
index 61a1d5c..4b7e47e 100644
--- a/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/datastore_import_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -373,22 +369,7 @@ execution status again</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html b/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
index 1e0506d..2d417b4 100644
--- a/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/dingding_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -377,22 +373,7 @@ including text, link, markdown, actionCard, feedCard</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html b/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
index d1b71ef..fc81eb1 100644
--- a/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/discord_webhook_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -379,22 +375,7 @@ default webhook endpoint in the extra field in the form of
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html b/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
index e529af8..64b8228 100644
--- a/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/druid_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -370,22 +366,7 @@ accepts index jobs</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
index e182a34..1757763 100644
--- a/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/ecs_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -412,22 +408,7 @@ the task</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
index 2099beb..4927ecf 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,22 +371,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
index d59832b..b997b2c 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -378,22 +374,7 @@ emr_connection extra. (templated)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html b/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
index d55456e..4eb59ef 100644
--- a/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -374,22 +370,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
index bbe65c2..bf9e4d0 100644
--- a/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/file_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,22 +367,7 @@ Optionally can compress the file for upload.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html b/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
index 8eab3dd..a7df366 100644
--- a/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/file_to_wasb/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -369,22 +365,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
index 635f950..33eb713 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -620,22 +616,7 @@ No exception will be raised if the instance or the table does not exist.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
index 571d83a..e79f774 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -454,22 +450,7 @@ See: <a class="reference external" href="https://cloud.google.com/cloud-build/do
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
index 532e6c2..e4f8dde 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_compute_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -604,22 +600,7 @@ Defaults to False.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
index 25a28bc..8ad9d08 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_container_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -539,22 +535,7 @@ key_path, etc. They get formatted as shown below.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
index ffc911d..0e2119a 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -1535,22 +1531,7 @@ individual attempt.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
index 9abcda4..2786793 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_function_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -559,22 +555,7 @@ the pattern: <cite>^projects/[^/]+/locations/[^/]+/functions/[^/]+$</cite></p></
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
index 9606e38..d247697 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -494,22 +490,7 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
index 5683b16..69f6155 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -597,22 +593,7 @@ Database.  If set to None or missing, the default project_id from the GCP connec
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
index cca4a15..c304830 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,22 +381,7 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
index 429e80f..bd4449e 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_sql_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -831,22 +827,7 @@ details on how to define gcpcloudsql:// connection.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
index 8d085b8..ec5cb77 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -389,22 +385,7 @@ Note that if retry is specified, the timeout applies to each individual attempt.
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
index 052dcbc..8179ab7 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -894,22 +890,7 @@ With two additional improvements:</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
index c5a011f..14396ee 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_translate_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -392,22 +388,7 @@ as <code class="docutils literal notranslate"><span class="pre">'base'</span></c
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
index 8ded9a8..66a1ceb 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,22 +401,7 @@ Platform. Defaults to ‘google_cloud_default’.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
index f84da82..b2f16dd 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -471,22 +467,7 @@ Platform. Defaults to <code class="docutils literal notranslate"><span class="pr
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
index ab127a3..4fcc2e9 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcp_vision_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -1077,22 +1073,7 @@ specified, requests will not be retried.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
index a494b6a..9b98080 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_acl_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -420,22 +416,7 @@ connecting to Google Cloud Storage.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
index 29d48d1..7c06d41 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_delete_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -374,22 +370,7 @@ domain-wide delegation enabled.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
index fc35a78..f25f026 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_download_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -382,22 +378,7 @@ domain-wide delegation enabled.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
index f3c1692..9348037 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_list_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -396,22 +392,7 @@ folder in <code class="docutils literal notranslate"><span class="pre">data</spa
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
index 2727dba..87cf16e 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -418,22 +414,7 @@ with <code class="docutils literal notranslate"><span class="pre">MULTI_REGIONAL
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
index d5d876c..198c1e7 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -448,22 +444,7 @@ It is suggested to set to True if table are create outside of Airflow.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
index 7ad295c..0a3b62f 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -451,22 +447,7 @@ process.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html b/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
index ad23e1f..06cdbfc 100644
--- a/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,22 +401,7 @@ in the destination bucket.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html b/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
index af380cd..70d54f6 100644
--- a/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/hipchat_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -409,22 +405,7 @@ More info: <a class="reference external" href="https://www.hipchat.com/docs/apiv
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html b/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
index b1819fc..1a2ff23 100644
--- a/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -384,22 +380,7 @@ be used for smallish amount of data.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html b/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
index fd01a19..66aeb7f 100644
--- a/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -375,22 +371,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/index.html b/1.10.4/_api/airflow/contrib/operators/index.html
index 902b243..a6cd37f 100644
--- a/1.10.4/_api/airflow/contrib/operators/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -453,22 +449,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html b/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
index 21809fa..057cd1a 100644
--- a/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -454,22 +450,7 @@ and the field ‘number’ then contains the build number.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html b/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
index 0baa1b6..722dd5f 100644
--- a/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/jira_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -369,22 +365,7 @@ on which the provided jira_method will be executed</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html b/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
index d23bbd9..9b2bb66 100644
--- a/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -412,22 +408,7 @@ pod runtime information (ip, namespace, nodeName, podName)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html b/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
index 7289214..0946945 100644
--- a/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mlengine_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -596,22 +592,7 @@ creation request will be issued.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html b/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
index 1ce5d67..8391a1c 100644
--- a/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mongo_to_s3/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -385,22 +381,7 @@ needs to be passed through</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
index 6c70f6c..fef0fa6 100644
--- a/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mssql_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -405,22 +401,7 @@ JSON/Google Cloud Storage/BigQuery.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
index 1053caf..4478fb2 100644
--- a/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/mysql_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -402,22 +398,7 @@ date type documentation: <a class="reference external" href="https://cloud.googl
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html b/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
index b53370d..1940ed7 100644
--- a/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -398,22 +394,7 @@ to a valid Opsgenie JSON payload.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html b/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
index 403d1ad..f14e4a7 100644
--- a/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -383,22 +379,7 @@ Oracle and stores the file locally before loading it into Azure Data Lake.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html b/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
index d7f3568..499a3f5 100644
--- a/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -379,22 +375,7 @@ database. (templated)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
index 2fae133..1fd2ee1 100644
--- a/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -387,22 +383,7 @@ Decimals are converted to floats. Times are converted to seconds.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html b/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
index 0232d7c..13eaef8 100644
--- a/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/pubsub_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -580,22 +576,7 @@ variables in them.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html b/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
index 7568c44..14928af 100644
--- a/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/qubole_check_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -526,22 +522,7 @@ QuboleOperator and ValueCheckOperator are template-supported.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html b/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
index eaa5731..ab42362 100644
--- a/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/qubole_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -677,22 +673,7 @@ double or single quotes</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
index 48300e1..1aa28af 100644
--- a/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/redis_publish_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,22 +367,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
index 4d7400a..a69b831 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -397,22 +393,7 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
index f344a6b..bf14eda 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -391,22 +387,7 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
index 28984ea..6a3ffc0 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_list_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -407,22 +403,7 @@ CA cert bundle than the one used by botocore.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
index 1be3d1f..4fa285a 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -418,22 +414,7 @@ templated, so you can use variables in them if you wish.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
index e2b0342..96b63ad 100644
--- a/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -379,22 +375,7 @@ regardless of how the S3 url is passed.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
index c42cf2a..be7f968 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -399,22 +395,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
index 40488f4..da9259f 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -301,7 +297,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to create an endpoint config.</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 </ul>
@@ -367,22 +363,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
index cad6a4a..848a7c9 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -315,11 +311,11 @@ SageMaker model and an existed SageMaker endpoint config:</p>
 </pre></div>
 </div>
 <p>For details of the configuration parameter of model_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 <p>For details of the configuration parameter of endpoint_config_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint_config" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint_config()</span></code></a></p>
 <p>For details of the configuration parameter of endpoint_configuration see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_endpoint" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_endpoint()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether the operator should wait until the endpoint creation finishes.</p></li>
@@ -396,22 +392,7 @@ finish within max_ingestion_time seconds. If you set this parameter to None it n
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
index a6fae45..4e6f973 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -301,7 +297,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to create a model.</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 </ul>
@@ -367,22 +363,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
index c8c1761..ed87387 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -301,7 +297,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to start a training job (templated).</p>
-<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_training_job()</span></code></a></p>
+<p>For details of the configuration parameter see <a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_training_job()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If wait is set to True, the time interval, in seconds,
@@ -380,22 +376,7 @@ the operation does not timeout.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
index 34b4ab4..67f1290 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -313,9 +309,9 @@ https://www.sphinx-doc.org/en/master/templating.html
 </pre></div>
 </div>
 <p>For details of the configuration parameter of transform_config see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_transform_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_transform_job()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_transform_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_transform_job()</span></code></a></p>
 <p>For details of the configuration parameter of model_config, See:
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_model()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<em>string</em>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Set to True to wait until the transform job finishes.</p></li>
@@ -392,22 +388,7 @@ set this parameter to None, the operation does not timeout.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
index 318fffa..e267174 100644
--- a/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -302,7 +298,7 @@ https://www.sphinx-doc.org/en/master/templating.html
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>config</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – <p>The configuration necessary to start a tuning job (templated).</p>
 <p>For details of the configuration parameter see
-<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_hyper_parameter_tuning_job" title="(in Boto 3 Docs v1.9.203)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_hyper_parameter_tuning_job()</span></code></a></p>
+<a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_hyper_parameter_tuning_job" title="(in Boto 3 Docs v1.9.201)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SageMaker.Client.create_hyper_parameter_tuning_job()</span></code></a></p>
 </p></li>
 <li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The AWS connection ID to use.</p></li>
 <li><p><strong>wait_for_completion</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Set to True to wait until the tuning job finishes.</p></li>
@@ -379,22 +375,7 @@ set this parameter to None, the operation does not timeout.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html b/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
index 95f42d5..0cec2a8 100644
--- a/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/segment_track_event_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -373,22 +369,7 @@ Defaults to False</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
index cb55cd9..c86851e 100644
--- a/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sftp_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -427,22 +423,7 @@ does not exist.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
index 42ee9ac..f129711 100644
--- a/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -380,22 +376,7 @@ regardless of how the S3 url is passed.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html b/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
index cea7010..46ac7dd 100644
--- a/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/slack_webhook_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -379,22 +375,7 @@ message</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html b/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
index 3a38aee..1d71eea 100644
--- a/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/snowflake_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -389,22 +385,7 @@ connection’s extra JSON)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
index 3346288..7531f5b 100644
--- a/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sns_publish_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -370,22 +366,7 @@ https://www.sphinx-doc.org/en/master/templating.html
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
index fc7b904..ed50f04 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -420,22 +416,7 @@ types.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
index 2f68bd0..ef79f2e 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_sql_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -387,22 +383,7 @@ executor (Default: 2)</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html b/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
index c2f8a3a..997978b 100644
--- a/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/spark_submit_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -406,22 +402,7 @@ Some distros may use spark2-submit.</p></li>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html b/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
index 3ebc862..df72602 100644
--- a/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -476,22 +472,7 @@ Google cloud storage.</p>
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html b/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
index 501d329..e6ad31a 100644
--- a/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/sqoop_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
     })
   </script>
-  <script type="text/javascript">
-    var _gaq = _gaq || [];
-    _gaq.push(['_setAccount', 'UA-140539454-1']);
-    _gaq.push(['_trackPageview']);
-  </script>
   <style>
     .example-header {
       position: relative;
@@ -371,22 +367,7 @@ Documentation for Apache Sqoop can be found here:
   
   
     
-  
- 
-<div class="footer">This page uses <a href="https://analytics.google.com/">
-Google Analytics</a> to collect statistics. You can disable it by blocking
-the JavaScript coming from www.google-analytics.com.
-<script type="text/javascript">
-  (function() {
-    var ga = document.createElement('script');
-    ga.src = ('https:' == document.location.protocol ?
-              'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    ga.setAttribute('async', 'true');
-    document.documentElement.firstChild.appendChild(ga);
-  })();
-</script>
-</div>
-
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html b/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
index 730930f..d543eb5 100644
--- a/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
+++ b/1.10.4/_api/airflow/contrib/operators/ssh_operator/index.html
@@ -1,6 +1,7 @@
 <!--
 Javascript to render AIRFLOW-XXX and PR references in text
 as HTML links.
+
 Overrides extrahead block from sphinx_rtd_theme
 https://www.sphinx-doc.org/en/master/templating.html
 -->
@@ -62,11 +63,6 @@ https://www.sphinx-doc.org/en/master/templating.html
       };
... 62030 lines suppressed ...


[airflow-site] 01/30: Initial commit

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 9e19165cac0531b3f00dff4281c9910620b824c6
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Fri Jun 3 11:44:05 2016 -0700

    Initial commit
---
 _images/adhoc.png                                  |   Bin 0 -> 182773 bytes
 _images/airflow.gif                                |   Bin 0 -> 622963 bytes
 _images/apache.jpg                                 |   Bin 0 -> 43364 bytes
 _images/branch_bad.png                             |   Bin 0 -> 8825 bytes
 _images/branch_good.png                            |   Bin 0 -> 12035 bytes
 _images/chart.png                                  |   Bin 0 -> 169382 bytes
 _images/chart_form.png                             |   Bin 0 -> 203224 bytes
 _images/code.png                                   |   Bin 0 -> 218215 bytes
 _images/connections.png                            |   Bin 0 -> 93057 bytes
 _images/context.png                                |   Bin 0 -> 238360 bytes
 _images/dags.png                                   |   Bin 0 -> 115068 bytes
 _images/duration.png                               |   Bin 0 -> 254497 bytes
 _images/gantt.png                                  |   Bin 0 -> 213845 bytes
 _images/graph.png                                  |   Bin 0 -> 333294 bytes
 _images/incubator.jpg                              |   Bin 0 -> 91227 bytes
 _images/pin_large.png                              |   Bin 0 -> 358276 bytes
 _images/subdag_after.png                           |   Bin 0 -> 30245 bytes
 _images/subdag_before.png                          |   Bin 0 -> 70382 bytes
 _images/subdag_zoom.png                            |   Bin 0 -> 150185 bytes
 _images/tree.png                                   |   Bin 0 -> 163147 bytes
 _images/variable_hidden.png                        |   Bin 0 -> 154299 bytes
 _modules/S3_hook.html                              |   604 ++
 .../contrib/operators/hipchat_operator.html        |   330 +
 _modules/airflow/executors/celery_executor.html    |   298 +
 _modules/airflow/executors/local_executor.html     |   276 +
 .../airflow/executors/sequential_executor.html     |   238 +
 _modules/airflow/macros.html                       |   255 +
 _modules/airflow/macros/hive.html                  |   298 +
 _modules/airflow/models.html                       |  3802 +++++++
 _modules/airflow/operators/docker_operator.html    |   383 +
 _modules/airflow/operators/sensors.html            |   721 ++
 _modules/bash_operator.html                        |   290 +
 _modules/cloudant_hook.html                        |   274 +
 _modules/dagrun_operator.html                      |   260 +
 _modules/dbapi_hook.html                           |   426 +
 _modules/druid_hook.html                           |   369 +
 _modules/dummy_operator.html                       |   219 +
 _modules/email_operator.html                       |   240 +
 _modules/ftp_hook.html                             |   427 +
 _modules/gcs_hook.html                             |   296 +
 _modules/generic_transfer.html                     |   264 +
 _modules/hive_hooks.html                           |   743 ++
 _modules/hive_operator.html                        |   272 +
 _modules/hive_to_druid.html                        |   316 +
 _modules/hive_to_mysql.html                        |   294 +
 _modules/hive_to_samba_operator.html               |   246 +
 _modules/http_hook.html                            |   310 +
 _modules/http_operator.html                        |   265 +
 _modules/index.html                                |   245 +
 _modules/mssql_hook.html                           |   228 +
 _modules/mssql_operator.html                       |   234 +
 _modules/mssql_to_hive.html                        |   312 +
 _modules/mysql_hook.html                           |   267 +
 _modules/mysql_operator.html                       |   240 +
 _modules/mysql_to_hive.html                        |   316 +
 _modules/postgres_hook.html                        |   236 +
 _modules/postgres_operator.html                    |   239 +
 _modules/presto_check_operator.html                |   303 +
 _modules/presto_hook.html                          |   298 +
 _modules/python_operator.html                      |   338 +
 _modules/s3_to_hive_operator.html                  |   353 +
 _modules/sensors.html                              |   721 ++
 _modules/slack_operator.html                       |   304 +
 _modules/sqlite_hook.html                          |   222 +
 _modules/ssh_execute_operator.html                 |   343 +
 _modules/ssh_hook.html                             |   353 +
 _modules/vertica_hook.html                         |   247 +
 _modules/vertica_operator.html                     |   233 +
 _modules/vertica_to_hive.html                      |   316 +
 _modules/webhdfs_hook.html                         |   287 +
 _sources/cli.txt                                   |    11 +
 _sources/code.txt                                  |   243 +
 _sources/concepts.txt                              |   758 ++
 _sources/configuration.txt                         |   230 +
 _sources/faq.txt                                   |   100 +
 _sources/index.txt                                 |    75 +
 _sources/installation.txt                          |    90 +
 _sources/license.txt                               |   211 +
 _sources/plugins.txt                               |   139 +
 _sources/profiling.txt                             |    39 +
 _sources/project.txt                               |    58 +
 _sources/scheduler.txt                             |   101 +
 _sources/security.txt                              |   249 +
 _sources/start.txt                                 |    49 +
 _sources/tutorial.txt                              |   429 +
 _sources/ui.txt                                    |   102 +
 _static/ajax-loader.gif                            |   Bin 0 -> 673 bytes
 _static/apache.jpg                                 |   Bin 0 -> 43364 bytes
 _static/basic.css                                  |   608 ++
 _static/comment-bright.png                         |   Bin 0 -> 3500 bytes
 _static/comment-close.png                          |   Bin 0 -> 3578 bytes
 _static/comment.png                                |   Bin 0 -> 3445 bytes
 _static/css/badge_only.css                         |     2 +
 _static/css/theme.css                              |     5 +
 _static/doctools.js                                |   287 +
 _static/down-pressed.png                           |   Bin 0 -> 347 bytes
 _static/down.png                                   |   Bin 0 -> 347 bytes
 _static/file.png                                   |   Bin 0 -> 358 bytes
 _static/fonts/Inconsolata-Bold.ttf                 |   Bin 0 -> 66352 bytes
 _static/fonts/Inconsolata-Regular.ttf              |   Bin 0 -> 84548 bytes
 _static/fonts/Lato-Bold.ttf                        |   Bin 0 -> 121788 bytes
 _static/fonts/Lato-Regular.ttf                     |   Bin 0 -> 120196 bytes
 _static/fonts/RobotoSlab-Bold.ttf                  |   Bin 0 -> 170616 bytes
 _static/fonts/RobotoSlab-Regular.ttf               |   Bin 0 -> 169064 bytes
 _static/fonts/fontawesome-webfont.eot              |   Bin 0 -> 56006 bytes
 _static/fonts/fontawesome-webfont.svg              |   520 +
 _static/fonts/fontawesome-webfont.ttf              |   Bin 0 -> 112160 bytes
 _static/fonts/fontawesome-webfont.woff             |   Bin 0 -> 65452 bytes
 _static/incubator.jpg                              |   Bin 0 -> 91227 bytes
 _static/jquery-1.11.1.js                           | 10308 +++++++++++++++++++
 _static/jquery.js                                  |     4 +
 _static/js/modernizr.min.js                        |     4 +
 _static/js/theme.js                                |   153 +
 _static/minus.png                                  |   Bin 0 -> 173 bytes
 _static/plus.png                                   |   Bin 0 -> 173 bytes
 _static/pygments.css                               |    65 +
 _static/searchtools.js                             |   651 ++
 _static/underscore-1.3.1.js                        |   999 ++
 _static/underscore.js                              |    31 +
 _static/up-pressed.png                             |   Bin 0 -> 345 bytes
 _static/up.png                                     |   Bin 0 -> 345 bytes
 _static/websupport.js                              |   808 ++
 cli.html                                           |  1035 ++
 code.html                                          |  3517 +++++++
 concepts.html                                      |   897 ++
 configuration.html                                 |   419 +
 faq.html                                           |   293 +
 genindex.html                                      |  1258 +++
 index.html                                         |   417 +
 installation.html                                  |   358 +
 license.html                                       |   418 +
 objects.inv                                        |   Bin 0 -> 2103 bytes
 plugins.html                                       |   343 +
 profiling.html                                     |   250 +
 project.html                                       |   268 +
 py-modindex.html                                   |   262 +
 scheduler.html                                     |   328 +
 search.html                                        |   214 +
 searchindex.js                                     |     1 +
 security.html                                      |   436 +
 start.html                                         |   256 +
 tutorial.html                                      |   622 ++
 ui.html                                            |   296 +
 143 files changed, 48568 insertions(+)

diff --git a/_images/adhoc.png b/_images/adhoc.png
new file mode 100644
index 0000000..77ea780
Binary files /dev/null and b/_images/adhoc.png differ
diff --git a/_images/airflow.gif b/_images/airflow.gif
new file mode 100644
index 0000000..1889b86
Binary files /dev/null and b/_images/airflow.gif differ
diff --git a/_images/apache.jpg b/_images/apache.jpg
new file mode 100644
index 0000000..312251f
Binary files /dev/null and b/_images/apache.jpg differ
diff --git a/_images/branch_bad.png b/_images/branch_bad.png
new file mode 100644
index 0000000..586844f
Binary files /dev/null and b/_images/branch_bad.png differ
diff --git a/_images/branch_good.png b/_images/branch_good.png
new file mode 100644
index 0000000..fbd4650
Binary files /dev/null and b/_images/branch_good.png differ
diff --git a/_images/chart.png b/_images/chart.png
new file mode 100644
index 0000000..bfca26b
Binary files /dev/null and b/_images/chart.png differ
diff --git a/_images/chart_form.png b/_images/chart_form.png
new file mode 100644
index 0000000..f73daf5
Binary files /dev/null and b/_images/chart_form.png differ
diff --git a/_images/code.png b/_images/code.png
new file mode 100644
index 0000000..ac49291
Binary files /dev/null and b/_images/code.png differ
diff --git a/_images/connections.png b/_images/connections.png
new file mode 100644
index 0000000..d07a130
Binary files /dev/null and b/_images/connections.png differ
diff --git a/_images/context.png b/_images/context.png
new file mode 100644
index 0000000..de75e48
Binary files /dev/null and b/_images/context.png differ
diff --git a/_images/dags.png b/_images/dags.png
new file mode 100644
index 0000000..a551f02
Binary files /dev/null and b/_images/dags.png differ
diff --git a/_images/duration.png b/_images/duration.png
new file mode 100644
index 0000000..18d723c
Binary files /dev/null and b/_images/duration.png differ
diff --git a/_images/gantt.png b/_images/gantt.png
new file mode 100644
index 0000000..c462adb
Binary files /dev/null and b/_images/gantt.png differ
diff --git a/_images/graph.png b/_images/graph.png
new file mode 100644
index 0000000..cbc58e6
Binary files /dev/null and b/_images/graph.png differ
diff --git a/_images/incubator.jpg b/_images/incubator.jpg
new file mode 100644
index 0000000..6f34a85
Binary files /dev/null and b/_images/incubator.jpg differ
diff --git a/_images/pin_large.png b/_images/pin_large.png
new file mode 100644
index 0000000..986c88b
Binary files /dev/null and b/_images/pin_large.png differ
diff --git a/_images/subdag_after.png b/_images/subdag_after.png
new file mode 100644
index 0000000..166a6de
Binary files /dev/null and b/_images/subdag_after.png differ
diff --git a/_images/subdag_before.png b/_images/subdag_before.png
new file mode 100644
index 0000000..ebc3e58
Binary files /dev/null and b/_images/subdag_before.png differ
diff --git a/_images/subdag_zoom.png b/_images/subdag_zoom.png
new file mode 100644
index 0000000..08fcf5c
Binary files /dev/null and b/_images/subdag_zoom.png differ
diff --git a/_images/tree.png b/_images/tree.png
new file mode 100644
index 0000000..f3796b0
Binary files /dev/null and b/_images/tree.png differ
diff --git a/_images/variable_hidden.png b/_images/variable_hidden.png
new file mode 100644
index 0000000..e081ca3
Binary files /dev/null and b/_images/variable_hidden.png differ
diff --git a/_modules/S3_hook.html b/_modules/S3_hook.html
new file mode 100644
index 0000000..e18ec5f
--- /dev/null
+++ b/_modules/S3_hook.html
@@ -0,0 +1,604 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>S3_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>S3_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for S3_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">fnmatch</span>
+<span class="kn">import</span> <span class="nn">configparser</span>
+<span class="kn">import</span> <span class="nn">math</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
+<span class="kn">import</span> <span class="nn">warnings</span>
+
+<span class="kn">import</span> <span class="nn">boto</span>
+<span class="kn">from</span> <span class="nn">boto.s3.connection</span> <span class="kn">import</span> <span class="n">S3Connection</span>
+<span class="kn">from</span> <span class="nn">boto.sts</span> <span class="kn">import</span> <span class="n">STSConnection</span>
+<span class="n">boto</span><span class="o">.</span><span class="n">set_stream_logger</span><span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">)</span>
+<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;boto&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+
+
+<span class="k">def</span> <span class="nf">_parse_s3_config</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">,</span> <span class="n">config_format</span><span class="o">=</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="n">profile</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Parses a config file for s3 credentials. Can currently</span>
+<span class="sd">    parse boto, s3cmd.conf and AWS SDK config formats</span>
+
+<span class="sd">    :param config_file_name: path to the config file</span>
+<span class="sd">    :type config_file_name: str</span>
+<span class="sd">    :param config_format: config type. One of &quot;boto&quot;, &quot;s3cmd&quot; or &quot;aws&quot;.</span>
+<span class="sd">        Defaults to &quot;boto&quot;</span>
+<span class="sd">    :type config_format: str</span>
+<span class="sd">    :param profile: profile name in AWS type config file</span>
+<span class="sd">    :type profile: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">Config</span> <span class="o">=</span> <span class="n">configparser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">Config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">sections</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">sections</span><span class="p">()</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Couldn&#39;t read {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">))</span>
+    <span class="c1"># Setting option names depending on file format</span>
+    <span class="k">if</span> <span class="n">config_format</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="n">config_format</span> <span class="o">=</span> <span class="s1">&#39;boto&#39;</span>
+    <span class="n">conf_format</span> <span class="o">=</span> <span class="n">config_format</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;boto&#39;</span><span class="p">:</span>  <span class="c1"># pragma: no cover</span>
+        <span class="k">if</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;Credentials&#39;</span>
+    <span class="k">elif</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;aws&#39;</span> <span class="ow">and</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="n">profile</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;default&#39;</span>
+    <span class="c1"># Option names</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="s1">&#39;aws&#39;</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;aws_access_key_id&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span>
+        <span class="c1"># security_token_option = &#39;aws_security_token&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;access_key&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;secret_key&#39;</span>
+    <span class="c1"># Actual Parsing</span>
+    <span class="k">if</span> <span class="n">cred_section</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;This config file format is not recognized&quot;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">access_key</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">key_id_option</span><span class="p">)</span>
+            <span class="n">secret_key</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">secret_key_option</span><span class="p">)</span>
+            <span class="n">calling_format</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="k">if</span> <span class="n">Config</span><span class="o">.</span><span class="n">has_option</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="s1">&#39;calling_format&#39;</span><span class="p">):</span>
+                <span class="n">calling_format</span> <span class="o">=</span> <span class="n">Config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="s1">&#39;calling_format&#39;</span><span class="p">)</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Option Error in parsing s3 config file&quot;</span><span class="p">)</span>
+            <span class="k">raise</span>
+        <span class="k">return</span> <span class="p">(</span><span class="n">access_key</span><span class="p">,</span> <span class="n">secret_key</span><span class="p">,</span> <span class="n">calling_format</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="S3Hook"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook">[docs]</a><span class="k">class</span> <span class="nc">S3Hook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with S3. This class is a wrapper around the boto library.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">profile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;profile&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span> <span class="o">=</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span> <span class="o">=</span> <span class="bp">False</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_a_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_s_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="s1">&#39;calling_format&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;calling_format&#39;</span><span class="p">]</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_file</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">]</span>
+            <span class="c1"># The format can be None and will default to boto in the parser</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="c1"># STS support for cross account resource access</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span> <span class="ow">or</span>
+                                   <span class="s1">&#39;role_arn&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">role_arn</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span> <span class="ow">or</span>
+                             <span class="s2">&quot;arn:aws:iam::&quot;</span> <span class="o">+</span>
+                             <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">]</span> <span class="o">+</span>
+                             <span class="s2">&quot;:role/&quot;</span> <span class="o">+</span>
+                             <span class="bp">self</span><span class="o">.</span><span class="n">extra_params</span><span class="p">[</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">])</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">__getstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">pickled_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="p">)</span>
+        <span class="k">del</span> <span class="n">pickled_dict</span><span class="p">[</span><span class="s1">&#39;connection&#39;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">pickled_dict</span>
+
+    <span class="k">def</span> <span class="nf">__setstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="p">[</span><span class="s1">&#39;connection&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">_parse_s3_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s3url</span><span class="p">):</span>
+        <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+            <span class="s1">&#39;Please note: S3Hook._parse_s3_url() is now &#39;</span>
+            <span class="s1">&#39;S3Hook.parse_s3_url() (no leading underscore).&#39;</span><span class="p">,</span>
+            <span class="ne">DeprecationWarning</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">)</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">):</span>
+        <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">s3url</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket_name&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">bucket_name</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span>
+            <span class="n">key</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
+
+<div class="viewcode-block" id="S3Hook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the boto S3Connection object.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_to_boto</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">S3Connection</span><span class="p">(</span><span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
+        <span class="n">a_key</span> <span class="o">=</span> <span class="n">s_key</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_config_file</span><span class="p">:</span>
+            <span class="n">a_key</span><span class="p">,</span> <span class="n">s_key</span><span class="p">,</span> <span class="n">calling_format</span> <span class="o">=</span> <span class="n">_parse_s3_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_config_file</span><span class="p">,</span>
+                                                <span class="bp">self</span><span class="o">.</span><span class="n">s3_config_format</span><span class="p">,</span>
+                                                <span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_creds_in_conn</span><span class="p">:</span>
+            <span class="n">a_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_a_key</span>
+            <span class="n">s_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_s_key</span>
+            <span class="n">calling_format</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">calling_format</span>
+
+        <span class="k">if</span> <span class="n">calling_format</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">calling_format</span> <span class="o">=</span> <span class="s1">&#39;boto.s3.connection.SubdomainCallingFormat&#39;</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sts_conn_required</span><span class="p">:</span>
+            <span class="n">sts_connection</span> <span class="o">=</span> <span class="n">STSConnection</span><span class="p">(</span><span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">a_key</span><span class="p">,</span>
+                                           <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">s_key</span><span class="p">,</span>
+                                           <span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
+            <span class="n">assumed_role_object</span> <span class="o">=</span> <span class="n">sts_connection</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                <span class="n">role_arn</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">role_arn</span><span class="p">,</span>
+                <span class="n">role_session_name</span><span class="o">=</span><span class="s2">&quot;Airflow_&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span>
+                <span class="p">)</span>
+            <span class="n">creds</span> <span class="o">=</span> <span class="n">assumed_role_object</span><span class="o">.</span><span class="n">credentials</span>
+            <span class="n">connection</span> <span class="o">=</span> <span class="n">S3Connection</span><span class="p">(</span>
+                <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">access_key</span><span class="p">,</span>
+                <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">secret_key</span><span class="p">,</span>
+                <span class="n">calling_format</span><span class="o">=</span><span class="n">calling_format</span><span class="p">,</span>
+                <span class="n">security_token</span><span class="o">=</span><span class="n">creds</span><span class="o">.</span><span class="n">session_token</span>
+                <span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">connection</span> <span class="o">=</span> <span class="n">S3Connection</span><span class="p">(</span><span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">a_key</span><span class="p">,</span>
+                                      <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">s_key</span><span class="p">,</span>
+                                      <span class="n">calling_format</span><span class="o">=</span><span class="n">calling_format</span><span class="p">,</span>
+                                      <span class="n">profile_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">profile</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">connection</span></div>
+
+<div class="viewcode-block" id="S3Hook.check_for_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if bucket_name exists.</span>
+
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">lookup</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.get_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">get_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boto.s3.bucket.Bucket object</span>
+
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="S3Hook.list_keys"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_keys">[docs]</a>    <span class="k">def</span> <span class="nf">list_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span><span class= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lists keys in a bucket under prefix and not containing delimiter</span>
+
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        :param prefix: a key prefix</span>
+<span class="sd">        :type prefix: str</span>
+<span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
+<span class="sd">        :type delimiter: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">b</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="n">keylist</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">b</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">))</span>
+        <span class="k">return</span> <span class="p">[</span><span class="n">k</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">keylist</span><span class="p">]</span> <span class="k">if</span> <span class="n">keylist</span> <span class="o">!=</span> <span class="p">[]</span> <span class="k">else</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.list_prefixes"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_prefixes">[docs]</a>    <span class="k">def</span> <span class="nf">list_prefixes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span> [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Lists prefixes in a bucket under prefix</span>
+
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        :param prefix: a key prefix</span>
+<span class="sd">        :type prefix: str</span>
+<span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
+<span class="sd">        :type delimiter: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">b</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="n">plist</span> <span class="o">=</span> <span class="n">b</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
+        <span class="n">prefix_names</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">plist</span>
+                        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">boto</span><span class="o">.</span><span class="n">s3</span><span class="o">.</span><span class="n">prefix</span><span class="o">.</span><span class="n">Prefix</span><span class="p">)]</span>
+        <span class="k">return</span> <span class="n">prefix_names</span> <span class="k">if</span> <span class="n">prefix_names</span> <span class="o">!=</span> <span class="p">[]</span> <span class="k">else</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.check_for_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks that a key exists in a bucket</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
+            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.get_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boto.s3.key.Key object</span>
+
+<span class="sd">        :param key: the path to the key</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
+            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="S3Hook.check_for_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                               <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks that a key matching a wildcard expression exists in a bucket</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_wildcard_key</span><span class="p">(</span><span class="n">wildcard_key</span><span class="o">=</span><span class="n">wildcard_key</span><span class="p">,</span>
+                                     <span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span>
+                                     <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.get_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">delimit [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boto.s3.key.Key object matching the regular expression</span>
+
+<span class="sd">        :param regex_key: the path to the key</span>
+<span class="sd">        :type regex_key: str</span>
+<span class="sd">        :param bucket_name: the name of the bucket</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
+            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">wildcard_key</span><span class="p">)</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="n">prefix</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">r&#39;[*]&#39;</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">klist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_keys</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">klist</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">None</span>
+        <span class="n">key_matches</span> <span class="o">=</span> <span class="p">[</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">klist</span> <span class="k">if</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)]</span>
+        <span class="k">return</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key_matches</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="k">if</span> <span class="n">key_matches</span> <span class="k">else</span> <span class="bp">None</span></div>
+
+<div class="viewcode-block" id="S3Hook.check_for_prefix"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_prefix">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_prefix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks that a prefix exists in a bucket</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="n">delimiter</span> <span class="k">if</span> <span class="n">prefix</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="n">delimiter</span> <span class="k">else</span> <span class="n">prefix</span>
+        <span class="n">prefix_split</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">r&#39;(\w+[{d}])$&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">d</span><span class="o">=</span><span class="n">delimiter</span><span class="p">),</span> <span class="n">prefix</span><span class="p">,</span> <span class="mi">1</span><span class="p [...]
+        <span class="n">previous_level</span> <span class="o">=</span> <span class="n">prefix_split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="n">plist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_prefixes</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">previous_level</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">False</span> <span class="k">if</span> <span class="n">plist</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">plist</span></div>
+
+<div class="viewcode-block" id="S3Hook.load_file"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">filename</span><span class="p">,</span>
+            <span class="n">key</span><span class="p">,</span>
+            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">replace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">multipart_bytes</span><span class="o">=</span><span class="mi">5</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1024</span> <span class="o">**</span> <span class="mi">3</span><span class="p">)):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Loads a local file to S3</span>
+
+<span class="sd">        :param filename: name of the file to load.</span>
+<span class="sd">        :type filename: str</span>
+<span class="sd">        :param key: S3 key that will point to the file</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket_name: Name of the bucket in which to store the file</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        :param replace: A flag to decide whether or not to overwrite the key</span>
+<span class="sd">            if it already exists. If replace is False and the key exists, an</span>
+<span class="sd">            error will be raised.</span>
+<span class="sd">        :type replace: bool</span>
+<span class="sd">        :param multipart_bytes: If provided, the file is uploaded in parts of</span>
+<span class="sd">            this size (minimum 5242880). The default value is 5GB, since S3</span>
+<span class="sd">            cannot accept non-multipart uploads for files larger than 5GB. If</span>
+<span class="sd">            the file is smaller than the specified limit, the option will be</span>
+<span class="sd">            ignored.</span>
+<span class="sd">        :type multipart_bytes: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
+            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="n">key_obj</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key {key} already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+
+        <span class="n">key_size</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">getsize</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">multipart_bytes</span> <span class="ow">and</span> <span class="n">key_size</span> <span class="o">&gt;=</span> <span class="n">multipart_bytes</span><span class="p">:</span>
+            <span class="c1"># multipart upload</span>
+            <span class="kn">from</span> <span class="nn">filechunkio</span> <span class="kn">import</span> <span class="n">FileChunkIO</span>
+            <span class="n">mp</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">initiate_multipart_upload</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
+            <span class="n">total_chunks</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="n">key_size</span> <span class="o">/</span> <span class="n">multipart_bytes</span><span class="p">))</span>
+            <span class="n">sent_bytes</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">chunk</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">total_chunks</span><span class="p">):</span>
+                    <span class="n">offset</span> <span class="o">=</span> <span class="n">chunk</span> <span class="o">*</span> <span class="n">multipart_bytes</span>
+                    <span class="nb">bytes</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">multipart_bytes</span><span class="p">,</span> <span class="n">key_size</span> <span class="o">-</span> <span class="n">offset</span><span class="p">)</span>
+                    <span class="k">with</span> <span class="n">FileChunkIO</span><span class="p">(</span>
+                            <span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="n">offset</span><span class="p">,</span> <span class="nb">bytes</span><span class="o">=</span><span class="nb">bytes</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
+                        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending chunk {c} of {tc}...&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                            <span class="n">c</span><span class="o">=</span><span class="n">chunk</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">tc</span><span class="o">=</span><span class="n">total_chunks</span><span class="p">))</span>
+                        <span class="n">mp</span><span class="o">.</span><span class="n">upload_part_from_file</span><span class="p">(</span><span class="n">fp</span><span class="p">,</span> <span class="n">part_num</span><span class="o">=</span><span class="n">chunk</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="k">except</span><span class="p">:</span>
+                <span class="n">mp</span><span class="o">.</span><span class="n">cancel_upload</span><span class="p">()</span>
+                <span class="k">raise</span>
+            <span class="n">mp</span><span class="o">.</span><span class="n">complete_upload</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="c1"># regular upload</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">key_obj</span><span class="p">:</span>
+                <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">new_key</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
+            <span class="n">key_size</span> <span class="o">=</span> <span class="n">key_obj</span><span class="o">.</span><span class="n">set_contents_from_filename</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span>
+                                                      <span class="n">replace</span><span class="o">=</span><span class="n">replace</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;The key {key} now contains&quot;</span>
+                     <span class="s2">&quot; {key_size} bytes&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
+
+<div class="viewcode-block" id="S3Hook.load_string"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_data</span><span class="p">,</span>
+                    <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                    <span class="n">replace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                    <span class="n">encrypt</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Loads a local file to S3</span>
+
+<span class="sd">        This is provided as a convenience to drop a file in S3. It uses the</span>
+<span class="sd">        boto infrastructure to ship a file to s3. It is currently using only</span>
+<span class="sd">        a single part download, and should not be used to move large files.</span>
+
+<span class="sd">        :param string_data: string to set as content for the key.</span>
+<span class="sd">        :type string_data: str</span>
+<span class="sd">        :param key: S3 key that will point to the file</span>
+<span class="sd">        :type key: str</span>
+<span class="sd">        :param bucket_name: Name of the bucket in which to store the file</span>
+<span class="sd">        :type bucket_name: str</span>
+<span class="sd">        :param replace: A flag to decide whether or not to overwrite the key</span>
+<span class="sd">            if it already exists</span>
+<span class="sd">        :type replace: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
+            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="n">key_obj</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key {key} already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">key_obj</span><span class="p">:</span>
+            <span class="n">key_obj</span> <span class="o">=</span> <span class="n">bucket</span><span class="o">.</span><span class="n">new_key</span><span class="p">(</span><span class="n">key_name</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
+        <span class="n">key_size</span> <span class="o">=</span> <span class="n">key_obj</span><span class="o">.</span><span class="n">set_contents_from_string</span><span class="p">(</span><span class="n">string_data</span><span class="p">,</span>
+                                                    <span class="n">replace</span><span class="o">=</span><span class="n">replace</span><span class="p">,</span>
+                                                    <span class="n">encrypt_key</span><span class="o">=</span><span class="n">encrypt</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;The key {key} now contains&quot;</span>
+                     <span class="s2">&quot; {key_size} bytes&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/hipchat_operator.html b/_modules/airflow/contrib/operators/hipchat_operator.html
new file mode 100644
index 0000000..370d812
--- /dev/null
+++ b/_modules/airflow/contrib/operators/hipchat_operator.html
@@ -0,0 +1,330 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.operators.hipchat_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.contrib.operators.hipchat_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.operators.hipchat_operator</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">requests</span>
+<span class="kn">import</span> <span class="nn">json</span>
+
+
+<div class="viewcode-block" id="HipChatAPIOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.hipchat_operator.HipChatAPIOperator">[docs]</a><span class="k">class</span> <span class="nc">HipChatAPIOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Base HipChat Operator.</span>
+<span class="sd">    All derived HipChat operators reference from HipChat&#39;s official REST API documentation</span>
+<span class="sd">    at https://www.hipchat.com/docs/apiv2. Before using any HipChat API operators you need</span>
+<span class="sd">    to get an authentication token at https://www.hipchat.com/docs/apiv2/auth.</span>
+<span class="sd">    In the future additional HipChat operators will be derived from this class as well.</span>
+
+<span class="sd">    :param token: HipChat REST API authentication token</span>
+<span class="sd">    :type token: str</span>
+<span class="sd">    :param base_url: HipChat REST API base url.</span>
+<span class="sd">    :type base_url: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">token</span><span class="p">,</span>
+                 <span class="n">base_url</span><span class="o">=</span><span class="s1">&#39;https://api.hipchat.com/v2&#39;</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPIOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">token</span> <span class="o">=</span> <span class="n">token</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">base_url</span> <span class="o">=</span> <span class="n">base_url</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="bp">None</span>
+
+    <span class="k">def</span> <span class="nf">prepare_request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Used by the execute function. Set the request method, url, and body of HipChat&#39;s</span>
+<span class="sd">        REST API call.</span>
+
+<span class="sd">        Override in child class. Each HipChatAPI child operator is responsible for having</span>
+<span class="sd">        a prepare_request method call which sets self.method, self.url, and self.body.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">prepare_request</span><span class="p">()</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">method</span><span class="p">,</span>
+                                    <span class="bp">self</span><span class="o">.</span><span class="n">url</span><span class="p">,</span>
+                                    <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
+                                        <span class="s1">&#39;Content-Type&#39;</span><span class="p">:</span> <span class="s1">&#39;application/json&#39;</span><span class="p">,</span>
+                                        <span class="s1">&#39;Authorization&#39;</span><span class="p">:</span> <span class="s1">&#39;Bearer </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">token</span><span class="p">},</span>
+                                    <span class="n">data</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">&gt;=</span> <span class="mi">400</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;HipChat API call failed: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                          <span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;HipChat API call failed: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
+                                   <span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span><span class="p">))</span></div>
+
+
+<div class="viewcode-block" id="HipChatAPISendRoomNotificationOperator"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.operators.hipchat_operator.HipChatAPISendRoomNotificationOperator">[docs]</a><span class="k">class</span> <span class="nc">HipChatAPISendRoomNotificationOperator</span><span class="p">(</span><span class="n">HipChatAPIOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Send notification to a specific HipChat room.</span>
+<span class="sd">    More info: https://www.hipchat.com/docs/apiv2/method/send_room_notification</span>
+
+<span class="sd">    :param room_id: Room in which to send notification on HipChat</span>
+<span class="sd">    :type room_id: str</span>
+<span class="sd">    :param message: The message body</span>
+<span class="sd">    :type message: str</span>
+<span class="sd">    :param frm: Label to be shown in addition to sender&#39;s name</span>
+<span class="sd">    :type frm: str</span>
+<span class="sd">    :param message_format: How the notification is rendered: html or text</span>
+<span class="sd">    :type message_format: str</span>
+<span class="sd">    :param color: Background color of the msg: yellow, green, red, purple, gray, or random</span>
+<span class="sd">    :type color: str</span>
+<span class="sd">    :param attach_to: The message id to attach this notification to</span>
+<span class="sd">    :type attach_to: str</span>
+<span class="sd">    :param notify: Whether this message should trigger a user notification</span>
+<span class="sd">    :type notify: bool</span>
+<span class="sd">    :param card: HipChat-defined card object</span>
+<span class="sd">    :type card: dict</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;token&#39;</span><span class="p">,</span> <span class="s1">&#39;room_id&#39;</span><span class="p">,</span> <span class="s1">&#39;message&#39;</span><span class="p">)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#2980b9&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">room_id</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HipChatAPISendRoomNotificationOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">room_id</span> <span class="o">=</span> <span class="n">room_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">message</span> <span class="o">=</span> <span class="n">message</span>
+        <span class="n">default_options</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;message_format&#39;</span><span class="p">:</span> <span class="s1">&#39;html&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;color&#39;</span><span class="p">:</span> <span class="s1">&#39;yellow&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;frm&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;attach_to&#39;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="s1">&#39;notify&#39;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
+            <span class="s1">&#39;card&#39;</span><span class="p">:</span> <span class="bp">None</span>
+        <span class="p">}</span>
+        <span class="k">for</span> <span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="n">default</span><span class="p">)</span> <span class="ow">in</span> <span class="n">default_options</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+            <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prop</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="n">default</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">prepare_request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">params</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;message&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">,</span>
+            <span class="s1">&#39;message_format&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">message_format</span><span class="p">,</span>
+            <span class="s1">&#39;color&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">color</span><span class="p">,</span>
+            <span class="s1">&#39;from&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">frm</span><span class="p">,</span>
+            <span class="s1">&#39;attach_to&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">attach_to</span><span class="p">,</span>
+            <span class="s1">&#39;notify&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">notify</span><span class="p">,</span>
+            <span class="s1">&#39;card&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">card</span>
+        <span class="p">}</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="s1">&#39;POST&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">/room/</span><span class="si">%s</span><span class="s1">/notification&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">base_url</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">r [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span>
+            <span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span> <span class="n">v</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">))</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</sp [...]
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/executors/celery_executor.html b/_modules/airflow/executors/celery_executor.html
new file mode 100644
index 0000000..4f91594
--- /dev/null
+++ b/_modules/airflow/executors/celery_executor.html
@@ -0,0 +1,298 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.executors.celery_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.executors.celery_executor</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.executors.celery_executor</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">object</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">subprocess</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">celery</span> <span class="kn">import</span> <span class="n">Celery</span>
+<span class="kn">from</span> <span class="nn">celery</span> <span class="kn">import</span> <span class="n">states</span> <span class="k">as</span> <span class="n">celery_states</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
+
+<span class="n">PARALLELISM</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;PARALLELISM&#39;</span><span class="p">)</span>
+
+<span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">To start the celery worker, run the command:</span>
+<span class="sd">airflow worker</span>
+<span class="sd">&#39;&#39;&#39;</span>
+
+<span class="n">DEFAULT_QUEUE</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_QUEUE&#39;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">CeleryConfig</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="n">CELERY_ACCEPT_CONTENT</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;json&#39;</span><span class="p">,</span> <span class="s1">&#39;pickle&#39;</span><span class="p">]</span>
+    <span class="n">CELERYD_PREFETCH_MULTIPLIER</span> <span class="o">=</span> <span class="mi">1</span>
+    <span class="n">CELERY_ACKS_LATE</span> <span class="o">=</span> <span class="bp">True</span>
+    <span class="n">BROKER_URL</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;BROKER_URL&#39;</span><span class="p">)</span>
+    <span class="n">CELERY_RESULT_BACKEND</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;CELERY_RESULT_BACKEND&#39;</span><span class="p">)</span>
+    <span class="n">CELERYD_CONCURRENCY</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;CELERYD_CONCURRENCY&#39;</span><span class="p">)</span>
+    <span class="n">CELERY_DEFAULT_QUEUE</span> <span class="o">=</span> <span class="n">DEFAULT_QUEUE</span>
+    <span class="n">CELERY_DEFAULT_EXCHANGE</span> <span class="o">=</span> <span class="n">DEFAULT_QUEUE</span>
+
+<span class="n">app</span> <span class="o">=</span> <span class="n">Celery</span><span class="p">(</span>
+    <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;CELERY_APP_NAME&#39;</span><span class="p">),</span>
+    <span class="n">config_source</span><span class="o">=</span><span class="n">CeleryConfig</span><span class="p">)</span>
+
+
+<span class="nd">@app.task</span>
+<span class="k">def</span> <span class="nf">execute_command</span><span class="p">(</span><span class="n">command</span><span class="p">):</span>
+    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing command in Celery &quot;</span> <span class="o">+</span> <span class="n">command</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Celery command failed&#39;</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="CeleryExecutor"><a class="viewcode-back" href="../../../code.html#airflow.executors.CeleryExecutor">[docs]</a><span class="k">class</span> <span class="nc">CeleryExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    CeleryExecutor is recommended for production use of Airflow. It allows</span>
+<span class="sd">    distributing the execution of task instances to multiple worker nodes.</span>
+
+<span class="sd">    Celery is a simple, flexible and reliable distributed system to process</span>
+<span class="sd">    vast amounts of messages, while providing operations with the tools</span>
+<span class="sd">    required to maintain such a system.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span> <span class="o">=</span> <span class="p">{}</span>
+
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="n">DEFAULT_QUEUE</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span> <span class="s2">&quot;[celery] queuing {key} through celery, &quot;</span>
+                       <span class="s2">&quot;queue={queue}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">execute_command</span><span class="o">.</span><span class="n">apply_async</span><span class="p">(</span>
+            <span class="n">args</span><span class="o">=</span><span class="p">[</span><span class="n">command</span><span class="p">],</span> <span class="n">queue</span><span class="o">=</span><span class="n">queue</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">celery_states</span><span class="o">.</span><span class="n">PENDING</span>
+
+    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+            <span class="s2">&quot;Inquiring about {} celery task(s)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">)))</span>
+        <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">async</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">items</span><span class="p">()):</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">async</span><span class="o">.</span><span class="n">state</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">!=</span> <span class="n">state</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">state</span> <span class="o">==</span> <span class="n">celery_states</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">success</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                <span class="k">elif</span> <span class="n">state</span> <span class="o">==</span> <span class="n">celery_states</span><span class="o">.</span><span class="n">FAILURE</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">fail</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                <span class="k">elif</span> <span class="n">state</span> <span class="o">==</span> <span class="n">celery_states</span><span class="o">.</span><span class="n">REVOKED</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">fail</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                    <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Unexpected state: &quot;</span> <span class="o">+</span> <span class="n">async</span><span class="o">.</span><span class="n">state</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">last_state</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">async</span><span class="o">.</span><span class="n">state</span>
+
+    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">synchronous</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">synchronous</span><span class="p">:</span>
+            <span class="k">while</span> <span class="nb">any</span><span class="p">([</span>
+                    <span class="n">async</span><span class="o">.</span><span class="n">state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">celery_states</span><span class="o">.</span><span class="n">READY_STATES</span>
+                    <span class="k">for</span> <span class="n">async</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">values</span><span class="p">()]):</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sync</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/executors/local_executor.html b/_modules/airflow/executors/local_executor.html
new file mode 100644
index 0000000..efd28ef
--- /dev/null
+++ b/_modules/airflow/executors/local_executor.html
@@ -0,0 +1,276 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.executors.local_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.executors.local_executor</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.executors.local_executor</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">multiprocessing</span>
+<span class="kn">import</span> <span class="nn">subprocess</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">range</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="kn">import</span> <span class="n">LoggingMixin</span>
+
+<span class="n">PARALLELISM</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;PARALLELISM&#39;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">LocalWorker</span><span class="p">(</span><span class="n">multiprocessing</span><span class="o">.</span><span class="n">Process</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_queue</span><span class="p">,</span> <span class="n">result_queue</span><span class="p">):</span>
+        <span class="n">multiprocessing</span><span class="o">.</span><span class="n">Process</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span> <span class="o">=</span> <span class="n">task_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">result_queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">daemon</span> <span class="o">=</span> <span class="bp">True</span>
+
+    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">command</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">key</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="c1"># Received poison pill, no more tasks to run</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+                <span class="k">break</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;{} running {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
+            <span class="n">command</span> <span class="o">=</span> <span class="s2">&quot;exec bash -c &#39;{0}&#39;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
+            <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;failed to execute task {}:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
+                <span class="c1"># raise e</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">state</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">task_done</span><span class="p">()</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="LocalExecutor"><a class="viewcode-back" href="../../../code.html#airflow.executors.LocalExecutor">[docs]</a><span class="k">class</span> <span class="nc">LocalExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    LocalExecutor executes tasks locally in parallel. It uses the</span>
+<span class="sd">    multiprocessing Python library and queues to parallelize the execution</span>
+<span class="sd">    of tasks.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span> <span class="o">=</span> <span class="n">multiprocessing</span><span class="o">.</span><span class="n">JoinableQueue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span> <span class="o">=</span> <span class="n">multiprocessing</span><span class="o">.</span><span class="n">Queue</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">workers</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="n">LocalWorker</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parallelism</span><span class="p">)</span>
+        <span class="p">]</span>
+
+        <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">:</span>
+            <span class="n">w</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">empty</span><span class="p">():</span>
+            <span class="n">results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_queue</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="o">*</span><span class="n">results</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="c1"># Sending poison pill to all worker</span>
+        <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">workers</span><span class="p">]</span>
+        <span class="c1"># Wait for commands to finish</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sync</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/executors/sequential_executor.html b/_modules/airflow/executors/sequential_executor.html
new file mode 100644
index 0000000..2d90305
--- /dev/null
+++ b/_modules/airflow/executors/sequential_executor.html
@@ -0,0 +1,238 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.executors.sequential_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.executors.sequential_executor</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.executors.sequential_executor</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">import</span> <span class="nn">subprocess</span>
+
+<span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+
+
+<div class="viewcode-block" id="SequentialExecutor"><a class="viewcode-back" href="../../../code.html#airflow.executors.SequentialExecutor">[docs]</a><span class="k">class</span> <span class="nc">SequentialExecutor</span><span class="p">(</span><span class="n">BaseExecutor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This executor will only run one task instance at a time, can be used</span>
+<span class="sd">    for debugging. It is also the only executor that can be used with sqlite</span>
+<span class="sd">    since sqlite doesn&#39;t support multiple connections.</span>
+
+<span class="sd">    Since we want airflow to work out of the box, it defaults to this</span>
+<span class="sd">    SequentialExecutor alongside sqlite as you first install it.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SequentialExecutor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span> <span class="o">=</span> <span class="p">[]</span>
+
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,))</span>
+
+    <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Executing command: {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="p">))</span>
+
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">subprocess</span><span class="o">.</span><span class="n">check_call</span><span class="p">(</span><span class="n">command</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">)</span>
+            <span class="k">except</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">change_state</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed to execute task {}:&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">commands_to_run</span> <span class="o">=</span> <span class="p">[]</span>
+
+    <span class="k">def</span> <span class="nf">end</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">heartbeat</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/macros.html b/_modules/airflow/macros.html
new file mode 100644
index 0000000..be420df
--- /dev/null
+++ b/_modules/airflow/macros.html
@@ -0,0 +1,255 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.macros &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../index.html"/>
+        <link rel="up" title="Module code" href="../index.html"/> 
+
+  
+  <script src="../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.macros</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.macros</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
+<span class="kn">from</span> <span class="nn">random</span> <span class="kn">import</span> <span class="n">random</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
+<span class="kn">import</span> <span class="nn">dateutil</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">hive</span>
+<span class="kn">import</span> <span class="nn">uuid</span>
+
+
+<div class="viewcode-block" id="ds_add"><a class="viewcode-back" href="../../code.html#airflow.macros.ds_add">[docs]</a><span class="k">def</span> <span class="nf">ds_add</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">days</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Add or subtract days from a YYYY-MM-DD</span>
+
+<span class="sd">    :param ds: anchor date in ``YYYY-MM-DD`` format to add to</span>
+<span class="sd">    :type ds: str</span>
+<span class="sd">    :param days: number of days to add to the ds, you can use negative values</span>
+<span class="sd">    :type days: int</span>
+
+<span class="sd">    &gt;&gt;&gt; ds_add(&#39;2015-01-01&#39;, 5)</span>
+<span class="sd">    &#39;2015-01-06&#39;</span>
+<span class="sd">    &gt;&gt;&gt; ds_add(&#39;2015-01-06&#39;, -5)</span>
+<span class="sd">    &#39;2015-01-01&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">ds</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">days</span><span class="p">:</span>
+        <span class="n">ds</span> <span class="o">=</span> <span class="n">ds</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">ds</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span></div>
+
+
+<div class="viewcode-block" id="ds_format"><a class="viewcode-back" href="../../code.html#airflow.macros.ds_format">[docs]</a><span class="k">def</span> <span class="nf">ds_format</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">input_format</span><span class="p">,</span> <span class="n">output_format</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Takes an input string and outputs another string</span>
+<span class="sd">    as specified in the output format</span>
+
+<span class="sd">    :param ds: input string which contains a date</span>
+<span class="sd">    :type ds: str</span>
+<span class="sd">    :param input_format: input string format. E.g. %Y-%m-%d</span>
+<span class="sd">    :type input_format: str</span>
+<span class="sd">    :param output_format: output string format  E.g. %Y-%m-%d</span>
+<span class="sd">    :type output_format: str</span>
+
+<span class="sd">    &gt;&gt;&gt; ds_format(&#39;2015-01-01&#39;, &quot;%Y-%m-%d&quot;, &quot;%m-%d-%y&quot;)</span>
+<span class="sd">    &#39;01-01-15&#39;</span>
+<span class="sd">    &gt;&gt;&gt; ds_format(&#39;1/5/2015&#39;, &quot;%m/%d/%Y&quot;,  &quot;%Y-%m-%d&quot;)</span>
+<span class="sd">    &#39;2015-01-05&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">input_format</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">output_format</span><span class="p">)</span></div>
+
+
+<div class="viewcode-block" id="integrate_plugins"><a class="viewcode-back" href="../../code.html#airflow.macros.integrate_plugins">[docs]</a><span class="k">def</span> <span class="nf">integrate_plugins</span><span class="p">():</span>
+    <span class="sd">&quot;&quot;&quot;Integrate plugins to the context&quot;&quot;&quot;</span>
+    <span class="kn">from</span> <span class="nn">airflow.plugins_manager</span> <span class="kn">import</span> <span class="n">macros</span> <span class="k">as</span> <span class="n">_macros</span>
+    <span class="k">for</span> <span class="n">_macro</span> <span class="ow">in</span> <span class="n">_macros</span><span class="p">:</span>
+        <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/macros/hive.html b/_modules/airflow/macros/hive.html
new file mode 100644
index 0000000..cfcc1a0
--- /dev/null
+++ b/_modules/airflow/macros/hive.html
@@ -0,0 +1,298 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.macros.hive &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="airflow.macros" href="../macros.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+          <li><a href="../macros.html">airflow.macros</a> &raquo;</li>
+      
+    <li>airflow.macros.hive</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.macros.hive</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">datetime</span>
+
+
+<div class="viewcode-block" id="max_partition"><a class="viewcode-back" href="../../../code.html#airflow.macros.hive.max_partition">[docs]</a><span class="k">def</span> <span class="nf">max_partition</span><span class="p">(</span>
+        <span class="n">table</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="nb">filter</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+        <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Gets the max partition for a table.</span>
+
+<span class="sd">    :param schema: The hive schema the table lives in</span>
+<span class="sd">    :type schema: string</span>
+<span class="sd">    :param table: The hive table you are interested in, supports the dot</span>
+<span class="sd">        notation as in &quot;my_database.my_table&quot;, if a dot is found,</span>
+<span class="sd">        the schema param is disregarded</span>
+<span class="sd">    :type table: string</span>
+<span class="sd">    :param hive_conn_id: The hive connection you are interested in.</span>
+<span class="sd">        If your default is set you don&#39;t need to use this parameter.</span>
+<span class="sd">    :type hive_conn_id: string</span>
+<span class="sd">    :param filter: filter on a subset of partition as in</span>
+<span class="sd">        `sub_part=&#39;specific_value&#39;`</span>
+<span class="sd">    :type filter: string</span>
+<span class="sd">    :param field: the field to get the max value from. If there&#39;s only</span>
+<span class="sd">        one partition field, this will be inferred</span>
+
+<span class="sd">    &gt;&gt;&gt; max_partition(&#39;airflow.static_babynames_partitioned&#39;)</span>
+<span class="sd">    &#39;2015-01-01&#39;</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+        <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+    <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">hh</span><span class="o">.</span><span class="n">max_partition</span><span class="p">(</span>
+        <span class="n">schema</span><span class="o">=</span><span class="n">schema</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">field</span><span class="o">=</span><span class="n">field</span><span class="p">,</span> <span class="nb">filter</span><span class="o">=</span><span class="nb">filter</span><span class="p">)</span></div>
+
+
+<span class="k">def</span> <span class="nf">_closest_date</span><span class="p">(</span><span class="n">target_dt</span><span class="p">,</span> <span class="n">date_list</span><span class="p">,</span> <span class="n">before_target</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    This function finds the date in a list closest to the target date.</span>
+<span class="sd">    An optional parameter can be given to get the closest before or after.</span>
+
+<span class="sd">    :param target_dt: The target date</span>
+<span class="sd">    :type target_dt: datetime.date</span>
+<span class="sd">    :param date_list: The list of dates to search</span>
+<span class="sd">    :type date_list: datetime.date list</span>
+<span class="sd">    :param before_target: closest before or after the target</span>
+<span class="sd">    :type before_target: bool or None</span>
+<span class="sd">    :returns: The closest date</span>
+<span class="sd">    :rtype: datetime.date or None</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">fb</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&gt;=</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="o">.</span><span class="n">max</span>
+    <span class="n">fa</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&lt;=</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="o">.</span><span class="n">min</span>
+    <span class="n">fnone</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">:</span> <span class="n">target_dt</span> <span class="o">-</span> <span class="n">d</span> <span class="k">if</span> <span class="n">d</span> <span class="o">&lt;</span> <span class="n">target_dt</span> <span class="k">else</span> <span class="n">d</span> <span class="o">-</span> <span class="n">target_dt</span>
+    <span class="k">if</span> <span class="n">before_target</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">date_list</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="n">fnone</span><span class="p">)</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">before_target</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">date_list</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="n">fb</span><span class="p">)</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">date_list</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="n">fa</span><span class="p">)</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
+
+
+<div class="viewcode-block" id="closest_ds_partition"><a class="viewcode-back" href="../../../code.html#airflow.macros.hive.closest_ds_partition">[docs]</a><span class="k">def</span> <span class="nf">closest_ds_partition</span><span class="p">(</span>
+        <span class="n">table</span><span class="p">,</span> <span class="n">ds</span><span class="p">,</span> <span class="n">before</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span>
+        <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    This function finds the date in a list closest to the target date.</span>
+<span class="sd">    An optional parameter can be given to get the closest before or after.</span>
+
+<span class="sd">    :param table: A hive table name</span>
+<span class="sd">    :type table: str</span>
+<span class="sd">    :param ds: A datestamp ``%Y-%m-%d`` e.g. ``yyyy-mm-dd``</span>
+<span class="sd">    :type ds: datetime.date list</span>
+<span class="sd">    :param before: closest before (True), after (False) or either side of ds</span>
+<span class="sd">    :type before: bool or None</span>
+<span class="sd">    :returns: The closest date</span>
+<span class="sd">    :rtype: str or None</span>
+
+<span class="sd">    &gt;&gt;&gt; tbl = &#39;airflow.static_babynames_partitioned&#39;</span>
+<span class="sd">    &gt;&gt;&gt; closest_ds_partition(tbl, &#39;2015-01-02&#39;)</span>
+<span class="sd">    &#39;2015-01-01&#39;</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
+        <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+    <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
+    <span class="n">partitions</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">get_partitions</span><span class="p">(</span><span class="n">schema</span><span class="o">=</span><span class="n">schema</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="n">table</span><span class="p">)</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">partitions</span><span class="p">:</span>
+        <span class="k">return</span> <span class="bp">None</span>
+    <span class="n">part_vals</span> <span class="o">=</span> <span class="p">[</span><span class="nb">list</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">partitions</span><span class="p">]</span>
+    <span class="k">if</span> <span class="n">ds</span> <span class="ow">in</span> <span class="n">part_vals</span><span class="p">:</span>
+        <span class="k">return</span> <span class="n">ds</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">parts</span> <span class="o">=</span> <span class="p">[</span><span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">pv</span><span class="p">,</span> <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
+                 <span class="k">for</span> <span class="n">pv</span> <span class="ow">in</span> <span class="n">part_vals</span><span class="p">]</span>
+        <span class="n">target_dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span>
+        <span class="n">closest_ds</span> <span class="o">=</span> <span class="n">_closest_date</span><span class="p">(</span><span class="n">target_dt</span><span class="p">,</span> <span class="n">parts</span><span class="p">,</span> <span class="n">before_target</span><span class="o">=</span><span class="n">before</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">closest_ds</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
new file mode 100644
index 0000000..9ec98be
--- /dev/null
+++ b/_modules/airflow/models.html
@@ -0,0 +1,3802 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.models &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../index.html"/>
+        <link rel="up" title="Module code" href="../index.html"/> 
+
+  
+  <script src="../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.models</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.models</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">division</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">unicode_literals</span>
+
+<span class="kn">from</span> <span class="nn">future.standard_library</span> <span class="kn">import</span> <span class="n">install_aliases</span>
+
+<span class="n">install_aliases</span><span class="p">()</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">object</span><span class="p">,</span> <span class="nb">bytes</span>
+<span class="kn">import</span> <span class="nn">copy</span>
+<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">namedtuple</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
+<span class="kn">import</span> <span class="nn">dill</span>
+<span class="kn">import</span> <span class="nn">functools</span>
+<span class="kn">import</span> <span class="nn">getpass</span>
+<span class="kn">import</span> <span class="nn">imp</span>
+<span class="kn">import</span> <span class="nn">importlib</span>
+<span class="kn">import</span> <span class="nn">zipfile</span>
+<span class="kn">import</span> <span class="nn">jinja2</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">pickle</span>
+<span class="kn">import</span> <span class="nn">re</span>
+<span class="kn">import</span> <span class="nn">signal</span>
+<span class="kn">import</span> <span class="nn">socket</span>
+<span class="kn">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">textwrap</span>
+<span class="kn">import</span> <span class="nn">traceback</span>
+<span class="kn">import</span> <span class="nn">warnings</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
+
+<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="kn">import</span> <span class="p">(</span>
+    <span class="n">Column</span><span class="p">,</span> <span class="n">Integer</span><span class="p">,</span> <span class="n">String</span><span class="p">,</span> <span class="n">DateTime</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">Boolean</span><span class="p">,</span> <span class="n">ForeignKey</span><span class="p">,</span> <span class="n">PickleType</span><span class="p">,</span>
+    <span class="n">Index</span><span class="p">,</span> <span class="n">Float</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy</span> <span class="kn">import</span> <span class="n">case</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">or_</span><span class="p">,</span> <span class="n">and_</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.ext.declarative</span> <span class="kn">import</span> <span class="n">declarative_base</span><span class="p">,</span> <span class="n">declared_attr</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.dialects.mysql</span> <span class="kn">import</span> <span class="n">LONGTEXT</span>
+<span class="kn">from</span> <span class="nn">sqlalchemy.orm</span> <span class="kn">import</span> <span class="n">relationship</span><span class="p">,</span> <span class="n">synonym</span>
+
+<span class="kn">from</span> <span class="nn">croniter</span> <span class="kn">import</span> <span class="n">croniter</span>
+<span class="kn">import</span> <span class="nn">six</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">settings</span><span class="p">,</span> <span class="n">utils</span>
+<span class="kn">from</span> <span class="nn">airflow.executors</span> <span class="kn">import</span> <span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span> <span class="n">LocalExecutor</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.dates</span> <span class="kn">import</span> <span class="n">cron_presets</span><span class="p">,</span> <span class="n">date_range</span> <span class="k">as</span> <span class="n">utils_date_range</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.db</span> <span class="kn">import</span> <span class="n">provide_session</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="kn">import</span> <span class="n">send_email</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.helpers</span> <span class="kn">import</span> <span class="p">(</span>
+    <span class="n">as_tuple</span><span class="p">,</span> <span class="n">is_container</span><span class="p">,</span> <span class="n">is_in</span><span class="p">,</span> <span class="n">validate_key</span><span class="p">,</span> <span class="n">pprinttable</span><span class="p">)</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.logging</span> <span class="kn">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.timeout</span> <span class="kn">import</span> <span class="n">timeout</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.trigger_rule</span> <span class="kn">import</span> <span class="n">TriggerRule</span>
+
+<span class="n">Base</span> <span class="o">=</span> <span class="n">declarative_base</span><span class="p">()</span>
+<span class="n">ID_LEN</span> <span class="o">=</span> <span class="mi">250</span>
+<span class="n">SQL_ALCHEMY_CONN</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;SQL_ALCHEMY_CONN&#39;</span><span class="p">)</span>
+<span class="n">DAGS_FOLDER</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;DAGS_FOLDER&#39;</span><span class="p">))</span>
+<span class="n">XCOM_RETURN_KEY</span> <span class="o">=</span> <span class="s1">&#39;return_value&#39;</span>
+
+<span class="n">Stats</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Stats</span>
+
+<span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="bp">False</span>
+<span class="k">try</span><span class="p">:</span>
+    <span class="kn">from</span> <span class="nn">cryptography.fernet</span> <span class="kn">import</span> <span class="n">Fernet</span>
+    <span class="n">FERNET</span> <span class="o">=</span> <span class="n">Fernet</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;FERNET_KEY&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">))</span>
+    <span class="n">ENCRYPTION_ON</span> <span class="o">=</span> <span class="bp">True</span>
+<span class="k">except</span><span class="p">:</span>
+    <span class="k">pass</span>
+
+<span class="k">if</span> <span class="s1">&#39;mysql&#39;</span> <span class="ow">in</span> <span class="n">SQL_ALCHEMY_CONN</span><span class="p">:</span>
+    <span class="n">LongText</span> <span class="o">=</span> <span class="n">LONGTEXT</span>
+<span class="k">else</span><span class="p">:</span>
+    <span class="n">LongText</span> <span class="o">=</span> <span class="n">Text</span>
+
+<span class="c1"># used by DAG context_managers</span>
+<span class="n">_CONTEXT_MANAGER_DAG</span> <span class="o">=</span> <span class="bp">None</span>
+
+
+<span class="k">def</span> <span class="nf">clear_task_instances</span><span class="p">(</span><span class="n">tis</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">activate_dag_runs</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Clears a set of task instances, but makes sure the running ones</span>
+<span class="sd">    get killed.</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">job_ids</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">job_id</span><span class="p">:</span>
+                <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SHUTDOWN</span>
+                <span class="n">job_ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">job_id</span><span class="p">)</span>
+        <span class="c1"># todo: this creates an issue with the webui tests</span>
+        <span class="c1">#elif ti.state != State.REMOVED:</span>
+        <span class="c1">#    ti.state = State.NONE</span>
+        <span class="c1">#    session.merge(ti)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">job_ids</span><span class="p">:</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">BaseJob</span> <span class="k">as</span> <span class="n">BJ</span>
+        <span class="k">for</span> <span class="n">job</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">BJ</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">BJ</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">job_ids [...]
+            <span class="n">job</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SHUTDOWN</span>
+    <span class="k">if</span> <span class="n">activate_dag_runs</span><span class="p">:</span>
+        <span class="n">execution_dates</span> <span class="o">=</span> <span class="p">{</span><span class="n">ti</span><span class="o">.</span><span class="n">execution_date</span> <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">}</span>
+        <span class="n">dag_ids</span> <span class="o">=</span> <span class="p">{</span><span class="n">ti</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">}</span>
+        <span class="n">drs</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">),</span>
+            <span class="n">DagRun</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">execution_dates</span><span class="p">),</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">dr</span> <span class="ow">in</span> <span class="n">drs</span><span class="p">:</span>
+            <span class="n">dr</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+            <span class="n">dr</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+
+
+<div class="viewcode-block" id="DagBag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag">[docs]</a><span class="k">class</span> <span class="nc">DagBag</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    A dagbag is a collection of dags, parsed out of a folder tree and has high</span>
+<span class="sd">    level configuration settings, like what database to use as a backend and</span>
+<span class="sd">    what executor to use to fire off tasks. This makes it easier to run</span>
+<span class="sd">    distinct environments for say production and development, tests, or for</span>
+<span class="sd">    different teams or security profiles. What would have been system level</span>
+<span class="sd">    settings are now dagbag level so that one system can run multiple,</span>
+<span class="sd">    independent settings sets.</span>
+
+<span class="sd">    :param dag_folder: the folder to scan to find DAGs</span>
+<span class="sd">    :type dag_folder: str</span>
+<span class="sd">    :param executor: the executor to use when executing task instances</span>
+<span class="sd">        in this DagBag</span>
+<span class="sd">    :param include_examples: whether to include the examples that ship</span>
+<span class="sd">        with airflow or not</span>
+<span class="sd">    :type include_examples: bool</span>
+<span class="sd">    :param sync_to_db: whether to sync the properties of the DAGs to</span>
+<span class="sd">        the metadata DB while finding them, typically should be done</span>
+<span class="sd">        by the scheduler job only</span>
+<span class="sd">    :type sync_to_db: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">dag_folder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">executor</span><span class="o">=</span><span class="n">DEFAULT_EXECUTOR</span><span class="p">,</span>
+            <span class="n">include_examples</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;LOAD_EXAMPLES&#39;</span><span class="p">),</span>
+            <span class="n">sync_to_db</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+
+        <span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span> <span class="ow">or</span> <span class="n">DAGS_FOLDER</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Filling up the DagBag from {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sync_to_db</span> <span class="o">=</span> <span class="n">sync_to_db</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">executor</span> <span class="o">=</span> <span class="n">executor</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">include_examples</span><span class="p">:</span>
+            <span class="n">example_dag_folder</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
+                <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">),</span>
+                <span class="s1">&#39;example_dags&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">collect_dags</span><span class="p">(</span><span class="n">example_dag_folder</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">collect_dags</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">sync_to_db</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">deactivate_inactive_dags</span><span class="p">()</span>
+
+<div class="viewcode-block" id="DagBag.size"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.size">[docs]</a>    <span class="k">def</span> <span class="nf">size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :return: the amount of dags contained in this dagbag</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DagBag.get_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.get_dag">[docs]</a>    <span class="k">def</span> <span class="nf">get_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the DAG out of the dictionary, and refreshes it if expired</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># If asking for a known subdag, we want to refresh the parent</span>
+        <span class="n">root_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
+        <span class="k">if</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">:</span>
+            <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag_id</span><span class="p">]</span>
+            <span class="k">if</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span><span class="p">:</span>
+                <span class="n">root_dag_id</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">parent_dag</span><span class="o">.</span><span class="n">dag_id</span>
+
+        <span class="c1"># If the root_dag_id is absent or expired</span>
+        <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="o">.</span><span class="n">get_current</span><span class="p">(</span><span class="n">root_dag_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">orm_dag</span> <span class="ow">and</span> <span class="p">(</span>
+                <span class="n">root_dag_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span> <span class="ow">or</span>
+                <span class="p">(</span>
+                    <span class="n">orm_dag</span><span class="o">.</span><span class="n">last_expired</span> <span class="ow">and</span>
+                    <span class="n">dag</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">&lt;</span> <span class="n">orm_dag</span><span class="o">.</span><span class="n">last_expired</span>
+                <span class="p">)</span>
+        <span class="p">):</span>
+            <span class="c1"># Reprocessing source file</span>
+            <span class="n">found_dags</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span>
+                <span class="n">filepath</span><span class="o">=</span><span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="n">found_dags</span> <span class="ow">and</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="p">[</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">found_dags</span><span class="p">]:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag_id</span><span class="p">]</span>
+            <span class="k">elif</span> <span class="n">dag_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">:</span>
+                <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag_id</span><span class="p">]</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">dag_id</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DagBag.process_file"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.process_file">[docs]</a>    <span class="k">def</span> <span class="nf">process_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filepath</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">safe_mode</span [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given a path to a python module or zip file, this method imports</span>
+<span class="sd">        the module and look for dag objects within it.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">found_dags</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="c1"># todo: raise exception?</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+            <span class="k">return</span> <span class="n">found_dags</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="c1"># This failed before in what may have been a git sync</span>
+            <span class="c1"># race condition</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">getmtime</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
+            <span class="k">if</span> <span class="n">only_if_updated</span> \
+                    <span class="ow">and</span> <span class="n">filepath</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span> \
+                    <span class="ow">and</span> <span class="n">dttm</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]:</span>
+                <span class="k">return</span> <span class="n">found_dags</span>
+
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">found_dags</span>
+
+        <span class="n">mods</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">zipfile</span><span class="o">.</span><span class="n">is_zipfile</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+            <span class="k">if</span> <span class="n">safe_mode</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+                <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+                    <span class="n">content</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">s</span> <span class="ow">in</span> <span class="n">content</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="p">(</span><span class="n">b</span><span class="s1">&#39;DAG&#39;</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;airflow&#39;</span><span class="p">)]):</span>
+                        <span class="k">return</span> <span class="n">found_dags</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Importing {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">filepath</span><span class="p">))</span>
+            <span class="n">org_mod_name</span><span class="p">,</span> <span class="n">file_ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">filepath</span><span class="p">)[</span> [...]
+            <span class="n">mod_name</span> <span class="o">=</span> <span class="s1">&#39;unusual_prefix_&#39;</span> <span class="o">+</span> <span class="n">org_mod_name</span>
+
+            <span class="k">if</span> <span class="n">mod_name</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
+                <span class="k">del</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">mod_name</span><span class="p">]</span>
+
+            <span class="k">with</span> <span class="n">timeout</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s2">&quot;DAGBAG_IMPORT_TIMEOUT&quot;</span><span class="p">)):</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="n">m</span> <span class="o">=</span> <span class="n">imp</span><span class="o">.</span><span class="n">load_source</span><span class="p">(</span><span class="n">mod_name</span><span class="p">,</span> <span class="n">filepath</span><span class="p">)</span>
+                    <span class="n">mods</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span>
+                <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s2">&quot;Failed to import: &quot;</span> <span class="o">+</span> <span class="n">filepath</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">zip_file</span> <span class="o">=</span> <span class="n">zipfile</span><span class="o">.</span><span class="n">ZipFile</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">mod</span> <span class="ow">in</span> <span class="n">zip_file</span><span class="o">.</span><span class="n">infolist</span><span class="p">():</span>
+                <span class="n">head</span><span class="p">,</span> <span class="n">tail</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
+                <span class="n">mod_name</span><span class="p">,</span> <span class="n">ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">head</span> <span class="ow">and</span> <span class="p">(</span><span class="n">ext</span> <span class="o">==</span> <span class="s1">&#39;.py&#39;</span> <span class="ow">or</span> <span class="n">ext</span> <span class="o">==</span> <span class="s1">&#39;.pyc&#39;</span><span class="p">):</span>
+                    <span class="k">if</span> <span class="n">mod_name</span> <span class="o">==</span> <span class="s1">&#39;__init__&#39;</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Found __init__.{0} at root of {1}&quot;</span><span class="o">.</span>
+                                            <span class="n">format</span><span class="p">(</span><span class="n">ext</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
+
+                    <span class="k">if</span> <span class="n">safe_mode</span><span class="p">:</span>
+                        <span class="k">with</span> <span class="n">zip_file</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">zf</span><span class="p">:</span>
+                            <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Reading {} from {}&quot;</span><span class="o">.</span>
+                                              <span class="n">format</span><span class="p">(</span><span class="n">mod</span><span class="o">.</span><span class="n">filename</span><span class="p">,</span> <span class="n">filepath</span><span class="p">))</span>
+                            <span class="n">content</span> <span class="o">=</span> <span class="n">zf</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
+                            <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">s</span> <span class="ow">in</span> <span class="n">content</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="p">(</span><span class="n">b</span><span class="s1">&#39;DAG&#39;</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;airflow&#39;</span><span class="p">)]):</span>
+                                <span class="c1"># todo: create ignore list</span>
+                                <span class="k">return</span> <span class="n">found_dags</span>
+
+                    <span class="k">if</span> <span class="n">mod_name</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
+                        <span class="k">del</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">mod_name</span><span class="p">]</span>
+
+                    <span class="k">try</span><span class="p">:</span>
+                        <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">filepath</span><span class="p">)</span>
+                        <span class="n">m</span> <span class="o">=</span> <span class="n">importlib</span><span class="o">.</span><span class="n">import_module</span><span class="p">(</span><span class="n">mod_name</span><span class="p">)</span>
+                        <span class="n">mods</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span>
+                    <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s2">&quot;Failed to import: &quot;</span> <span class="o">+</span> <span class="n">filepath</span><span class="p">)</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+
+        <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">mods</span><span class="p">:</span>
+            <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">values</span><span class="p">()):</span>
+                <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
+                    <span class="k">if</span> <span class="ow">not</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
+                        <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">filepath</span>
+                    <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="bp">False</span>
+                    <span class="n">dag</span><span class="o">.</span><span class="n">module_name</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="n">__name__</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">bag_dag</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">)</span>
+                    <span class="n">found_dags</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
+                    <span class="n">found_dags</span> <span class="o">+=</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">file_last_changed</span><span class="p">[</span><span class="n">filepath</span><span class="p">]</span> <span class="o">=</span> <span class="n">dttm</span>
+        <span class="k">return</span> <span class="n">found_dags</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DagBag.kill_zombies"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.kill_zombies">[docs]</a>    <span class="k">def</span> <span class="nf">kill_zombies</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fails tasks that haven&#39;t had a heartbeat in too long</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">LocalTaskJob</span> <span class="k">as</span> <span class="n">LJ</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Finding &#39;running&#39; jobs without a recent heartbeat&quot;</span><span class="p">)</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">secs</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;scheduler&#39;</span><span class="p">,</span> <span class="s1">&#39;job_heartbeat_sec&#39;</span><span class="p">)</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="mi">120</span>
+        <span class="n">limit_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="n">secs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Failing jobs without heartbeat after {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">limit_dttm</span><span class="p">))</span>
+
+        <span class="n">tis</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">LJ</span><span class="p">,</span> <span class="n">TI</span><span class="o">.</span><span class="n">job_id</span> <span class="o">==</span> <span class="n">LJ</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                <span class="n">or_</span><span class="p">(</span>
+                    <span class="n">LJ</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
+                    <span class="n">LJ</span><span class="o">.</span><span class="n">latest_heartbeat</span> <span class="o">&lt;</span> <span class="n">limit_dttm</span><span class="p">,</span>
+                <span class="p">))</span>
+            <span class="o">.</span><span class="n">all</span><span class="p">()</span>
+        <span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ti</span> <span class="ow">and</span> <span class="n">ti</span><span class="o">.</span><span class="n">dag_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">:</span>
+                <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">ti</span><span class="o">.</span><span class="n">dag_id</span><span class="p">]</span>
+                <span class="k">if</span> <span class="n">ti</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">:</span>
+                    <span class="n">task</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+                    <span class="n">ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task</span>
+                    <span class="n">ti</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="s2">&quot;{} killed as zombie&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                        <span class="s1">&#39;Marked zombie job {} as failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="p">))</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DagBag.bag_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.bag_dag">[docs]</a>    <span class="k">def</span> <span class="nf">bag_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Adds the DAG into the bag, recurses into sub dags.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">[</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">]</span> <span class="o">=</span> <span class="n">dag</span>
+        <span class="n">dag</span><span class="o">.</span><span class="n">resolve_template_files</span><span class="p">()</span>
+        <span class="n">dag</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
+            <span class="n">settings</span><span class="o">.</span><span class="n">policy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">sync_to_db</span><span class="p">:</span>
+            <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+            <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+                <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">orm_dag</span><span class="p">:</span>
+                <span class="n">orm_dag</span> <span class="o">=</span> <span class="n">DagModel</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
+            <span class="n">orm_dag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">full_filepath</span>
+            <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">is_subdag</span>
+            <span class="n">orm_dag</span><span class="o">.</span><span class="n">owners</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">owner</span>
+            <span class="n">orm_dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">orm_dag</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="k">for</span> <span class="n">subdag</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">subdags</span><span class="p">:</span>
+            <span class="n">subdag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span>
+            <span class="n">subdag</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="n">dag</span>
+            <span class="n">subdag</span><span class="o">.</span><span class="n">fileloc</span> <span class="o">=</span> <span class="n">root_dag</span><span class="o">.</span><span class="n">full_filepath</span>
+            <span class="n">subdag</span><span class="o">.</span><span class="n">is_subdag</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">bag_dag</span><span class="p">(</span><span class="n">subdag</span><span class="p">,</span> <span class="n">parent_dag</span><span class="o">=</span><span class="n">dag</span><span class="p">,</span> <span class="n">root_dag</span><span class="o">=</span><span class="n">root_dag</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Loaded DAG {dag}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
+
+<div class="viewcode-block" id="DagBag.collect_dags"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.collect_dags">[docs]</a>    <span class="k">def</span> <span class="nf">collect_dags</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">dag_folder</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">only_if_updated</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given a file path or a folder, this method looks for python modules,</span>
+<span class="sd">        imports them and adds them to the dagbag collection.</span>
+
+<span class="sd">        Note that if a .airflowignore file is found while processing,</span>
+<span class="sd">        the directory, it will behaves much like a .gitignore does,</span>
+<span class="sd">        ignoring files that match any of the regex patterns specified</span>
+<span class="sd">        in the file.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">start_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="n">dag_folder</span> <span class="o">=</span> <span class="n">dag_folder</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_folder</span>
+
+        <span class="c1"># Used to store stats around DagBag processing</span>
+        <span class="n">stats</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="n">FileLoadStat</span> <span class="o">=</span> <span class="n">namedtuple</span><span class="p">(</span>
+            <span class="s1">&#39;FileLoadStat&#39;</span><span class="p">,</span> <span class="s2">&quot;file duration dag_num task_num dags&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="n">only_if_updated</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">):</span>
+            <span class="n">patterns</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="k">for</span> <span class="n">root</span><span class="p">,</span> <span class="n">dirs</span><span class="p">,</span> <span class="n">files</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="n">followlinks</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+                <span class="n">ignore_file</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span> <span class="k">if</span> <span class="n">f</span> <span class="o">==</span> <span class="s1">&#39;.airflowignore&#39;</span><span class="p">]</span>
+                <span class="k">if</span> <span class="n">ignore_file</span><span class="p">:</span>
+                    <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">ignore_file</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span>
+                    <span class="n">patterns</span> <span class="o">+=</span> <span class="p">[</span><span class="n">p</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span> < [...]
+                    <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+                <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
+                    <span class="k">try</span><span class="p">:</span>
+                        <span class="n">filepath</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span>
+                        <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+                            <span class="k">continue</span>
+                        <span class="n">mod_name</span><span class="p">,</span> <span class="n">file_ext</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span>
+                            <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">filepath</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+                        <span class="k">if</span> <span class="n">file_ext</span> <span class="o">!=</span> <span class="s1">&#39;.py&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">zipfile</span><span class="o">.</span><span class="n">is_zipfile</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
+                            <span class="k">continue</span>
+                        <span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span>
+                                <span class="p">[</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">filepath</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">patterns</span><span class="p">]):</span>
+                            <span class="n">ts</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+                            <span class="n">found_dags</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">process_file</span><span class="p">(</span>
+                                <span class="n">filepath</span><span class="p">,</span> <span class="n">only_if_updated</span><span class="o">=</span><span class="n">only_if_updated</span><span class="p">)</span>
+
+                            <span class="n">td</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">ts</span>
+                            <span class="n">td</span> <span class="o">=</span> <span class="n">td</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">+</span> <span class="p">(</span>
+                                <span class="nb">float</span><span class="p">(</span><span class="n">td</span><span class="o">.</span><span class="n">microseconds</span><span class="p">)</span> <span class="o">/</span> <span class="mi">1000000</span><span class="p">)</span>
+                            <span class="n">stats</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">FileLoadStat</span><span class="p">(</span>
+                                <span class="n">filepath</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">dag_folder</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">),</span>
+                                <span class="n">td</span><span class="p">,</span>
+                                <span class="nb">len</span><span class="p">(</span><span class="n">found_dags</span><span class="p">),</span>
+                                <span class="nb">sum</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">found_dags</span><span class="p">]),</span>
+                                <span class="nb">str</span><span class="p">([</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">found_dags</span><span class="p">]),</span>
+                            <span class="p">))</span>
+                    <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                        <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">gauge</span><span class="p">(</span>
+            <span class="s1">&#39;collect_dags&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">start_dttm</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">(),</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">gauge</span><span class="p">(</span>
+            <span class="s1">&#39;dagbag_size&#39;</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">gauge</span><span class="p">(</span>
+            <span class="s1">&#39;dagbag_import_errors&#39;</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">import_errors</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dagbag_stats</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span>
+            <span class="n">stats</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">duration</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DagBag.dagbag_report"><a class="viewcode-back" href="../../code.html#airflow.models.DagBag.dagbag_report">[docs]</a>    <span class="k">def</span> <span class="nf">dagbag_report</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Prints a report around DagBag loading stats&quot;&quot;&quot;</span>
+        <span class="n">report</span> <span class="o">=</span> <span class="n">textwrap</span><span class="o">.</span><span class="n">dedent</span><span class="p">(</span><span class="s2">&quot;&quot;&quot;</span><span class="se">\n</span><span class="s2"></span>
+<span class="s2">        -------------------------------------------------------------------</span>
+<span class="s2">        DagBag loading stats for {dag_folder}</span>
+<span class="s2">        -------------------------------------------------------------------</span>
+<span class="s2">        Number of DAGs: {dag_num}</span>
+<span class="s2">        Total task number: {task_num}</span>
+<span class="s2">        DagBag parsing time: {duration}</span>
+<span class="s2">        {table}</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">)</span>
+        <span class="n">stats</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dagbag_stats</span>
+        <span class="k">return</span> <span class="n">report</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">dag_folder</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_folder</span><span class="p">,</span>
+            <span class="n">duration</span><span class="o">=</span><span class="nb">sum</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">duration</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">stats</span><span class="p">]),</span>
+            <span class="n">dag_num</span><span class="o">=</span><span class="nb">sum</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dag_num</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">stats</span><span class="p">]),</span>
+            <span class="n">task_num</span><span class="o">=</span><span class="nb">sum</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dag_num</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">stats</span><span class="p">]),</span>
+            <span class="n">table</span><span class="o">=</span><span class="n">pprinttable</span><span class="p">(</span><span class="n">stats</span><span class="p">),</span>
+        <span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">deactivate_inactive_dags</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">active_dag_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dags</span><span class="o">.</span><span class="n">values</span><span class="p">())]</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+                <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="o">~</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">active_dag_ids</span><span class="p">))</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">paused_dags</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">dag_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">dp</span><span class="o">.</span><span class="n">dag_id</span> <span class="k">for</span> <span class="n">dp</span> <span class="ow">in</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagModel</span><span class="o">.</span><span class="n">is_paused</span> <span class="o">==</span> <span class="bp">True</span><span class="p">)]</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">dag_ids</span></div>
+
+
+<span class="k">class</span> <span class="nc">User</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;users&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">username</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">email</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">superuser</span> <span class="o">=</span> <span class="bp">False</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span>
+
+    <span class="k">def</span> <span class="nf">get_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">is_superuser</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">superuser</span>
+
+
+<div class="viewcode-block" id="Connection"><a class="viewcode-back" href="../../code.html#airflow.models.Connection">[docs]</a><span class="k">class</span> <span class="nc">Connection</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Placeholder to store information about different database instances</span>
+<span class="sd">    connection information. The idea here is that scripts use references to</span>
+<span class="sd">    database instances (conn_id) instead of hard coding hostname, logins and</span>
+<span class="sd">    passwords when using operators or hooks.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;connection&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">conn_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
+    <span class="n">conn_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">host</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">schema</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">login</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">_password</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;password&#39;</span><span class="p">,</span> <span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">))</span>
+    <span class="n">port</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">())</span>
+    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">_extra</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;extra&#39;</span><span class="p">,</span> <span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">conn_type</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">login</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">schema</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">uri</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">conn_id</span>
+        <span class="k">if</span> <span class="n">uri</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">parse_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">=</span> <span class="n">conn_type</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">host</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">login</span> <span class="o">=</span> <span class="n">login</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">password</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">port</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">extra</span>
+
+    <span class="k">def</span> <span class="nf">parse_from_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">uri</span><span class="p">):</span>
+        <span class="n">temp_uri</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">uri</span><span class="p">)</span>
+        <span class="n">hostname</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">hostname</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="s1">&#39;</span><span class="si">%2f</span><span class="s1">&#39;</span> <span class="ow">in</span> <span class="n">hostname</span><span class="p">:</span>
+            <span class="n">hostname</span> <span class="o">=</span> <span class="n">hostname</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%2f</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;/&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%2F</span><span class [...]
+        <span class="n">conn_type</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">scheme</span>
+        <span class="k">if</span> <span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;postgresql&#39;</span><span class="p">:</span>
+            <span class="n">conn_type</span> <span class="o">=</span> <span class="s1">&#39;postgres&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">=</span> <span class="n">conn_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">hostname</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">path</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">login</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">username</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">password</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="n">temp_uri</span><span class="o">.</span><span class="n">port</span>
+
+    <span class="k">def</span> <span class="nf">get_password</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Can&#39;t decrypt, configuration is missing&quot;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_password</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_password</span>
+
+    <span class="k">def</span> <span class="nf">set_password</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_password</span> <span class="o">=</span> <span class="n">value</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+
+    <span class="nd">@declared_attr</span>
+    <span class="k">def</span> <span class="nf">password</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">synonym</span><span class="p">(</span><span class="s1">&#39;_password&#39;</span><span class="p">,</span>
+                       <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_password</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_password</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">get_extra</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Can&#39;t decrypt `extra`, configuration is missing&quot;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_extra</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span>
+
+    <span class="k">def</span> <span class="nf">set_extra</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_extra</span> <span class="o">=</span> <span class="n">value</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_extra_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+
+    <span class="nd">@declared_attr</span>
+    <span class="k">def</span> <span class="nf">extra</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">synonym</span><span class="p">(</span><span class="s1">&#39;_extra&#39;</span><span class="p">,</span>
+                       <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_extra</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_extra</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span>
+        <span class="kn">from</span> <span class="nn">airflow.contrib</span> <span class="kn">import</span> <span class="n">hooks</span> <span class="k">as</span> <span class="n">contrib_hooks</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mysql&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;google_cloud_platform&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;postgres&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">PostgresHook</span><span class="p">(</span><span class="n">postgres_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hive_cli&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveCliHook</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;presto&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hiveserver2&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveServer2Hook</span><span class="p">(</span><span class="n">hiveserver2_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;sqlite&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">SqliteHook</span><span class="p">(</span><span class="n">sqlite_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;jdbc&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">JdbcHook</span><span class="p">(</span><span class="n">jdbc_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mssql&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">MsSqlHook</span><span class="p">(</span><span class="n">mssql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;oracle&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">OracleHook</span><span class="p">(</span><span class="n">oracle_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;vertica&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">VerticaHook</span><span class="p">(</span><span class="n">vertica_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;cloudant&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">CloudantHook</span><span class="p">(</span><span class="n">cloudant_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">None</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">extra_dejson</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns the extra property by deserializing json&quot;&quot;&quot;</span>
+        <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">obj</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">extra</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                    <span class="s2">&quot;Failed parsing the json for &quot;</span>
+                    <span class="s2">&quot;conn_id {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">obj</span></div>
+
+
+<span class="k">class</span> <span class="nc">DagPickle</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Dags can originate from different places (user repos, master repo, ...)</span>
+<span class="sd">    and also get executed in different places (different executors). This</span>
+<span class="sd">    object represents a version of a DAG and becomes a source of truth for</span>
+<span class="sd">    a BackfillJob execution. A pickle is a native python serialized object,</span>
+<span class="sd">    and in this case gets stored in the database for the duration of the job.</span>
+
+<span class="sd">    The executors pick up the DagPickle id and read the dag definition from</span>
+<span class="sd">    the database.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">pickle</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">(</span><span class="n">pickler</span><span class="o">=</span><span class="n">dill</span><span class="p">))</span>
+    <span class="n">created_dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
+    <span class="n">pickle_hash</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;dag_pickle&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span>
+        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="s1">&#39;template_env&#39;</span><span class="p">):</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">template_env</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pickle_hash</span> <span class="o">=</span> <span class="nb">hash</span><span class="p">(</span><span class="n">dag</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pickle</span> <span class="o">=</span> <span class="n">dag</span>
+
+
+<div class="viewcode-block" id="TaskInstance"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance">[docs]</a><span class="k">class</span> <span class="nc">TaskInstance</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Task instances store the state of a task instance. This table is the</span>
+<span class="sd">    authority and single source of truth around what tasks have run and the</span>
+<span class="sd">    state they are in.</span>
+
+<span class="sd">    The SqlAchemy model doesn&#39;t have a SqlAlchemy foreign key to the task or</span>
+<span class="sd">    dag model deliberately to have more control over transactions.</span>
+
+<span class="sd">    Database transactions on this table should insure double triggers and</span>
+<span class="sd">    any confusion around what task instances are or aren&#39;t ready to run</span>
+<span class="sd">    even while multiple schedulers may be firing task instances.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;task_instance&quot;</span>
+
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">duration</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Float</span><span class="p">)</span>
+    <span class="n">state</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">20</span><span class="p">))</span>
+    <span class="n">try_number</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+    <span class="n">hostname</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1000</span><span class="p">))</span>
+    <span class="n">unixname</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1000</span><span class="p">))</span>
+    <span class="n">job_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">)</span>
+    <span class="n">pool</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">))</span>
+    <span class="n">queue</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">))</span>
+    <span class="n">priority_weight</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">)</span>
+    <span class="n">operator</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1000</span><span class="p">))</span>
+    <span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+
+    <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_dag_state&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_state_lkp&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_pool&#39;</span><span class="p">,</span> <span class="n">pool</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">priority_weight</span><span class="p">),</span>
+    <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">=</span> <span class="n">execution_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">pool</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">priority_weight_total</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="bp">False</span>  <span class="c1"># can be changed when calling &#39;run&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">force</span> <span class="o">=</span> <span class="bp">False</span>  <span class="c1"># can be changed when calling &#39;run&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">unixname</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+
+<div class="viewcode-block" id="TaskInstance.command"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.command">[docs]</a>    <span class="k">def</span> <span class="nf">command</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">pickle_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">raw</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a command that can be executed anywhere where airflow is</span>
+<span class="sd">        installed. This command is part of the message sent to executors by</span>
+<span class="sd">        the orchestrator.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;airflow run {self.dag_id} {self.task_id} {iso} &quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--mark_success &quot;</span> <span class="k">if</span> <span class="n">mark_success</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pickle {pickle_id} &quot;</span> <span class="k">if</span> <span class="n">pickle_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--job_id {job_id} &quot;</span> <span class="k">if</span> <span class="n">job_id</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-i &quot;</span> <span class="k">if</span> <span class="n">ignore_dependencies</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-I &quot;</span> <span class="k">if</span> <span class="n">ignore_depends_on_past</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--force &quot;</span> <span class="k">if</span> <span class="n">force</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--local &quot;</span> <span class="k">if</span> <span class="n">local</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--pool {pool} &quot;</span> <span class="k">if</span> <span class="n">pool</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;--raw &quot;</span> <span class="k">if</span> <span class="n">raw</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">pickle_id</span> <span class="ow">and</span> <span class="n">dag</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">!=</span> <span class="n">dag</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
+                <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd DAGS_FOLDER/{dag.filepath} &quot;</span>
+            <span class="k">elif</span> <span class="n">dag</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">:</span>
+                <span class="n">cmd</span> <span class="o">+=</span> <span class="s2">&quot;-sd {dag.full_filepath}&quot;</span>
+        <span class="k">return</span> <span class="n">cmd</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span></div>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">log_filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">log</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_LOG_FOLDER&#39;</span><span class="p">))</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="s2">&quot;{log}/{self.dag_id}/{self.task_id}/{iso}.log&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">log_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">BASE_URL</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webserver&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_URL&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">BASE_URL</span> <span class="o">+</span> <span class="p">(</span>
+            <span class="s2">&quot;/admin/airflow/log&quot;</span>
+            <span class="s2">&quot;?dag_id={self.dag_id}&quot;</span>
+            <span class="s2">&quot;&amp;task_id={self.task_id}&quot;</span>
+            <span class="s2">&quot;&amp;execution_date={iso}&quot;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">mark_success_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">BASE_URL</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webserver&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_URL&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">BASE_URL</span> <span class="o">+</span> <span class="p">(</span>
+            <span class="s2">&quot;/admin/airflow/action&quot;</span>
+            <span class="s2">&quot;?action=success&quot;</span>
+            <span class="s2">&quot;&amp;task_id={self.task_id}&quot;</span>
+            <span class="s2">&quot;&amp;dag_id={self.dag_id}&quot;</span>
+            <span class="s2">&quot;&amp;execution_date={iso}&quot;</span>
+            <span class="s2">&quot;&amp;upstream=false&quot;</span>
+            <span class="s2">&quot;&amp;downstream=false&quot;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.current_state"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.current_state">[docs]</a>    <span class="k">def</span> <span class="nf">current_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the very latest state from the database, if a session is passed,</span>
+<span class="sd">        we use and looking up the state becomes part of the session, otherwise</span>
+<span class="sd">        a new session is used.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">ti</span><span class="p">:</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="n">ti</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">state</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">state</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">return</span> <span class="n">state</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.error"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.error">[docs]</a>    <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Forces the task instance&#39;s state to FAILED in the database.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Recording the task instance as FAILED&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.refresh_from_db"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.refresh_from_db">[docs]</a>    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class= [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Refreshes the task instance from the database based on the primary key</span>
+
+<span class="sd">        :param lock_for_update: if True, indicates that the database should</span>
+<span class="sd">        lock the TaskInstance (issuing a FOR UPDATE clause) until the session</span>
+<span class="sd">        is committed.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">lock_for_update</span><span class="p">:</span>
+            <span class="n">ti</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">with_for_update</span><span class="p">()</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">ti</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">ti</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">state</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">start_date</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">end_date</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">try_number</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="bp">None</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.clear_xcom_data"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.clear_xcom_data">[docs]</a>    <span class="k">def</span> <span class="nf">clear_xcom_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Clears all XCom data from the database for the task instance</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">XCom</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">XCom</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">XCom</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">XCom</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">key</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a tuple that identifies the task instance uniquely</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">set_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+<div class="viewcode-block" id="TaskInstance.is_queueable"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_queueable">[docs]</a>    <span class="k">def</span> <span class="nf">is_queueable</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">include_queued</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean on whether the task instance has met all dependencies</span>
+<span class="sd">        and is ready to run. It considers the task&#39;s state, the state</span>
+<span class="sd">        of its dependencies, depends_on_past and makes sure the execution</span>
+<span class="sd">        isn&#39;t in the future. It doesn&#39;t take into</span>
+<span class="sd">        account whether the pool has a slot for it to run.</span>
+
+<span class="sd">        :param include_queued: If True, tasks that have already been queued</span>
+<span class="sd">            are included. Defaults to False.</span>
+<span class="sd">        :type include_queued: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
+<span class="sd">            dependencies. Defaults to False.</span>
+<span class="sd">        :type ignore_depends_on_past: boolean</span>
+<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
+<span class="sd">            the upstream_failed state creation while checking to see</span>
+<span class="sd">            whether the task instance is runnable. It was the shortest</span>
+<span class="sd">            path to add the feature</span>
+<span class="sd">        :type flag_upstream_failed: boolean</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># is the execution date in the future?</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">():</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="c1"># is the task still in the retry waiting period?</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_premature</span><span class="p">():</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="c1"># does the task have an end_date prior to the execution date?</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">end_date</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">end_date</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="c1"># has the task been skipped?</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="c1"># has the task already been queued (and are we excluding queued tasks)?</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">include_queued</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="c1"># is the task runnable and have its dependencies been met?</span>
+        <span class="k">elif</span> <span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span><span class="n">runnable</span><span class="p">()</span> <span class="ow">and</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
+                    <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+                    <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)):</span>
+            <span class="k">return</span> <span class="bp">True</span>
+        <span class="c1"># anything else</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span></div>
+
+<div class="viewcode-block" id="TaskInstance.is_premature"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_premature">[docs]</a>    <span class="k">def</span> <span class="nf">is_premature</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns whether a task is in UP_FOR_RETRY state and its retry interval</span>
+<span class="sd">        has elapsed.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># is the task still in the retry waiting period?</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="TaskInstance.is_runnable"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.is_runnable">[docs]</a>    <span class="k">def</span> <span class="nf">is_runnable</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">include_queued</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns whether a task is ready to run AND there&#39;s room in the</span>
+<span class="sd">        queue.</span>
+
+<span class="sd">        :param include_queued: If True, tasks that are already QUEUED are</span>
+<span class="sd">            considered &quot;runnable&quot;. Defaults to False.</span>
+<span class="sd">        :type include_queued: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
+<span class="sd">            dependencies. Defaults to False.</span>
+<span class="sd">        :type ignore_depends_on_past: boolean</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">queueable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_queueable</span><span class="p">(</span>
+            <span class="n">include_queued</span><span class="o">=</span><span class="n">include_queued</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">queueable</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool_full</span><span class="p">()</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.are_dependents_done"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.are_dependents_done">[docs]</a>    <span class="k">def</span> <span class="nf">are_dependents_done</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks whether the dependents of this task instance have all succeeded.</span>
+<span class="sd">        This is meant to be used by wait_for_downstream.</span>
+
+<span class="sd">        This is useful when you do not want to start processing the next</span>
+<span class="sd">        schedule of a task until the dependents are done. For instance,</span>
+<span class="sd">        if the task DROPs and recreates a table.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">downstream_task_ids</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">True</span>
+
+        <span class="n">ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">downstream_task_ids</span><span class="p">),</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="n">count</span> <span class="o">=</span> <span class="n">ti</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">count</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">downstream_task_ids</span><span class="p">)</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.evaluate_trigger_rule"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.evaluate_trigger_rule">[docs]</a>    <span class="k">def</span> <span class="nf">evaluate_trigger_rule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="p">,</span> <span class="n">failed</span><span class="p">,</span>
+                              <span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span><span class="p">,</span>
+                              <span class="n">flag_upstream_failed</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean on whether the current task can be scheduled</span>
+<span class="sd">        for execution based on its trigger_rule.</span>
+
+<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
+<span class="sd">            the upstream_failed state creation while checking to see</span>
+<span class="sd">            whether the task instance is runnable. It was the shortest</span>
+<span class="sd">            path to add the feature</span>
+<span class="sd">        :type flag_upstream_failed: boolean</span>
+<span class="sd">        :param successes: Number of successful upstream tasks</span>
+<span class="sd">        :type successes: boolean</span>
+<span class="sd">        :param skipped: Number of skipped upstream tasks</span>
+<span class="sd">        :type skipped: boolean</span>
+<span class="sd">        :param failed: Number of failed upstream tasks</span>
+<span class="sd">        :type failed: boolean</span>
+<span class="sd">        :param upstream_failed: Number of upstream_failed upstream tasks</span>
+<span class="sd">        :type upstream_failed: boolean</span>
+<span class="sd">        :param done: Number of completed upstream tasks</span>
+<span class="sd">        :type done: boolean</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TR</span> <span class="o">=</span> <span class="n">TriggerRule</span>
+
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">upstream</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">upstream_task_ids</span><span class="p">)</span>
+        <span class="n">tr</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span>
+        <span class="n">upstream_done</span> <span class="o">=</span> <span class="n">done</span> <span class="o">&gt;=</span> <span class="n">upstream</span>
+
+        <span class="c1"># handling instant state assignment based on trigger rules</span>
+        <span class="k">if</span> <span class="n">flag_upstream_failed</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_SUCCESS</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">upstream_failed</span> <span class="ow">or</span> <span class="n">failed</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+                <span class="k">elif</span> <span class="n">skipped</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_FAILED</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">successes</span> <span class="ow">or</span> <span class="n">skipped</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_SUCCESS</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">upstream_done</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">successes</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_FAILED</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">upstream_done</span> <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="n">failed</span> <span class="ow">or</span> <span class="n">upstream_failed</span><span class="p">):</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="p">(</span>
+             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_SUCCESS</span> <span class="ow">and</span> <span class="n">successes</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">or</span>
+             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ONE_FAILED</span> <span class="ow">and</span> <span class="p">(</span><span class="n">failed</span> <span class="ow">or</span> <span class="n">upstream_failed</span><span class="p">))</span> <span class="ow">or</span>
+             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_SUCCESS</span> <span class="ow">and</span> <span class="n">successes</span> <span class="o">&gt;=</span> <span class="n">upstream</span><span class="p">)</span> <span class="ow">or</span>
+             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_FAILED</span> <span class="ow">and</span> <span class="n">failed</span> <span class="o">+</span> <span class="n">upstream_failed</span> <span class="o">&gt;=</span> <span class="n">upstream</span><span class="p">)</span> <span class="ow">or</span>
+             <span class="p">(</span><span class="n">tr</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">ALL_DONE</span> <span class="ow">and</span> <span class="n">upstream_done</span><span class="p">)</span>
+        <span class="p">)</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.are_dependencies_met"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.are_dependencies_met">[docs]</a>    <span class="k">def</span> <span class="nf">are_dependencies_met</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">verbose</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean on whether the upstream tasks are in a SUCCESS state</span>
+<span class="sd">        and considers depends_on_past and the previous run&#39;s state.</span>
+
+<span class="sd">        :param flag_upstream_failed: This is a hack to generate</span>
+<span class="sd">            the upstream_failed state creation while checking to see</span>
+<span class="sd">            whether the task instance is runnable. It was the shortest</span>
+<span class="sd">            path to add the feature</span>
+<span class="sd">        :type flag_upstream_failed: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: if True, ignores depends_on_past</span>
+<span class="sd">            dependencies. Defaults to False.</span>
+<span class="sd">        :type ignore_depends_on_past: boolean</span>
+<span class="sd">        :param verbose: verbose provides more logging in the case where the</span>
+<span class="sd">            task instance is evaluated as a check right before being executed.</span>
+<span class="sd">            In the case of the scheduler evaluating the dependencies, this</span>
+<span class="sd">            logging would be way too verbose.</span>
+<span class="sd">        :type verbose: boolean</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">TR</span> <span class="o">=</span> <span class="n">TriggerRule</span>
+
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+
+        <span class="c1"># Checking that the depends_on_past is fulfilled</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">ignore_depends_on_past</span> <span class="ow">and</span>
+                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">):</span>
+            <span class="n">previous_ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">({</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">}),</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">previous_ti</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;depends_on_past not satisfied&quot;</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">False</span>
+
+            <span class="c1"># Applying wait_for_downstream</span>
+            <span class="n">previous_ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">wait_for_downstream</span> <span class="ow">and</span> <span class="ow">not</span> \
+                    <span class="n">previous_ti</span><span class="o">.</span><span class="n">are_dependents_done</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">):</span>
+                <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;wait_for_downstream not satisfied&quot;</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">False</span>
+
+        <span class="c1"># Checking that all upstream dependencies have succeeded</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">upstream_list</span> <span class="ow">or</span> <span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span> <span class="o">==</span> <span class="n">TR</span><span class="o">.</span><span class="n">DUMMY</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">True</span>
+
+        <span class="c1"># todo: this query becomes quite expensive with dags that have</span>
+        <span class="c1"># many tasks. It should be refactored to let the task report</span>
+        <span class="c1"># to the dag run and get the aggregates from there</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span>
+            <span class="o">.</span><span class="n">query</span><span class="p">(</span>
+                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
+                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
+                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
+                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
+                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
+                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
+                <span class="n">func</span><span class="o">.</span><span class="n">coalesce</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span>
+                    <span class="n">case</span><span class="p">([(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="mi">1</span><span class="p">)],</span> <span class="n">else_</span><span class="o">=</span><span class="mi">0</span><span class="p">)),</span> <span class="mi">0</span><span class="p">),</span>
+                <span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
+            <span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">upstream_task_ids</span><span class="p">),</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+                <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">([</span>
+                    <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span>
+                    <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">]),</span>
+            <span class="p">)</span>
+        <span class="p">)</span>
+
+        <span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="p">,</span> <span class="n">failed</span><span class="p">,</span> <span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+
+        <span class="n">satisfied</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">evaluate_trigger_rule</span><span class="p">(</span>
+            <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">successes</span><span class="o">=</span><span class="n">successes</span><span class="p">,</span> <span class="n">skipped</span><span class="o">=</span><span class="n">skipped</span><span class="p">,</span>
+            <span class="n">failed</span><span class="o">=</span><span class="n">failed</span><span class="p">,</span> <span class="n">upstream_failed</span><span class="o">=</span><span class="n">upstream_failed</span><span class="p">,</span> <span class="n">done</span><span class="o">=</span><span class="n">done</span><span class="p">,</span>
+            <span class="n">flag_upstream_failed</span><span class="o">=</span><span class="n">flag_upstream_failed</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">verbose</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">satisfied</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Trigger rule `{}` not satisfied&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">trigger_rule</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">satisfied</span></div>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="s2">&quot;&lt;TaskInstance: {ti.dag_id}.{ti.task_id} &quot;</span>
+            <span class="s2">&quot;{ti.execution_date} [{ti.state}]&gt;&quot;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ti</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+
+<div class="viewcode-block" id="TaskInstance.ready_for_retry"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.ready_for_retry">[docs]</a>    <span class="k">def</span> <span class="nf">ready_for_retry</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks on whether the task instance is in the right state and timeframe</span>
+<span class="sd">        to be retried.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">&lt;</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.pool_full"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.pool_full">[docs]</a>    <span class="k">def</span> <span class="nf">pool_full</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean as to whether the slot pool has room for this</span>
+<span class="sd">        task to run</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">pool</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+
+        <span class="n">pool</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span>
+            <span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">Pool</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">Pool</span><span class="o">.</span><span class="n">pool</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">pool</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;Task specified a pool ({}) but the pool &quot;</span>
+                <span class="s2">&quot;doesn&#39;t exist!&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">pool</span><span class="p">))</span>
+        <span class="n">open_slots</span> <span class="o">=</span> <span class="n">pool</span><span class="o">.</span><span class="n">open_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">open_slots</span> <span class="o">&lt;=</span> <span class="mi">0</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="TaskInstance.run"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">verbose</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Doesn&#39;t check for deps, just runs</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>   <span class="c1"># Ignore depends_on_past but respect</span>
+                                            <span class="c1"># other deps</span>
+            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Disregards previous successes</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Don&#39;t run the task, act as if it succeeded</span>
+            <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Doesn&#39;t record success or failure in the DB</span>
+            <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Runs the task instance.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">pool</span> <span class="ow">or</span> <span class="n">task</span><span class="o">.</span><span class="n">pool</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span> <span class="o">=</span> <span class="n">test_mode</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">force</span> <span class="o">=</span> <span class="n">force</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span> <span class="n">lock_for_update</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">clear_xcom_data</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="n">job_id</span>
+        <span class="n">iso</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">socket</span><span class="o">.</span><span class="n">getfqdn</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">operator</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Another instance is running, skipping.&quot;</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Task {} was removed from the dag&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="ow">not</span> <span class="n">force</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s2">&quot;Task {self} previously succeeded&quot;</span>
+                <span class="s2">&quot; on {self.end_date}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+            <span class="p">)</span>
+            <span class="n">Stats</span><span class="o">.</span><span class="n">incr</span><span class="p">(</span><span class="s1">&#39;previously_succeeded&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="p">(</span>
+                <span class="ow">not</span> <span class="n">ignore_dependencies</span> <span class="ow">and</span>
+                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span>
+                    <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">,</span>
+                    <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="n">ignore_depends_on_past</span><span class="p">,</span>
+                    <span class="n">verbose</span><span class="o">=</span><span class="bp">True</span><span class="p">)):</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Dependencies not met yet&quot;</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="p">(</span>
+            <span class="c1"># todo: move this to the scheduler</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span>
+                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">ready_for_retry</span><span class="p">()):</span>
+            <span class="n">next_run</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">+</span> <span class="n">task</span><span class="o">.</span><span class="n">retry_delay</span><span class="p">)</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s2">&quot;Not ready for retry yet. &quot;</span> <span class="o">+</span>
+                <span class="s2">&quot;Next run after {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">next_run</span><span class="p">)</span>
+            <span class="p">)</span>
+        <span class="k">elif</span> <span class="n">force</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span><span class="n">runnable</span><span class="p">():</span>
+            <span class="n">HR</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s2">&quot;-&quot;</span> <span class="o">*</span> <span class="mi">80</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>  <span class="c1"># Line break</span>
+
+            <span class="c1"># For reporting purposes, we report based on 1-indexed,</span>
+            <span class="c1"># not 0-indexed lists (i.e. Attempt 1 instead of</span>
+            <span class="c1"># Attempt 0 for the first attempt).</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Starting attempt {attempt} of {total}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
+                <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">mark_success</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span> <span class="ow">and</span> <span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">concurrency_reached</span><span class="p">):</span>
+                <span class="c1"># If a pool is set for this task, marking the task instance</span>
+                <span class="c1"># as QUEUED</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Queuing attempt {attempt} of {total}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">attempt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span>
+                    <span class="n">total</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">HR</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">HR</span><span class="p">)</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">queued_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Queuing into pool {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">))</span>
+                <span class="k">return</span>
+
+            <span class="c1"># print status message</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">HR</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">HR</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">+=</span> <span class="mi">1</span>
+
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="bp">None</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+            <span class="c1"># Closing all pooled connections to prevent</span>
+            <span class="c1"># &quot;max number of connections reached&quot;</span>
+            <span class="n">settings</span><span class="o">.</span><span class="n">engine</span><span class="o">.</span><span class="n">dispose</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">verbose</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">mark_success</span><span class="p">:</span>
+                    <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Marking success for &quot;</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Executing &quot;</span>
+                <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;{self.task} on {self.execution_date}&quot;</span>
+
+            <span class="n">context</span> <span class="o">=</span> <span class="p">{}</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">msg</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">))</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="n">mark_success</span><span class="p">:</span>
+                    <span class="n">context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_template_context</span><span class="p">()</span>
+
+                    <span class="n">task_copy</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task_copy</span>
+
+                    <span class="k">def</span> <span class="nf">signal_handler</span><span class="p">(</span><span class="n">signum</span><span class="p">,</span> <span class="n">frame</span><span class="p">):</span>
+                        <span class="sd">&#39;&#39;&#39;Setting kill signal handler&#39;&#39;&#39;</span>
+                        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Killing subprocess&quot;</span><span class="p">)</span>
+                        <span class="n">task_copy</span><span class="o">.</span><span class="n">on_kill</span><span class="p">()</span>
+                        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task received SIGTERM signal&quot;</span><span class="p">)</span>
+                    <span class="n">signal</span><span class="o">.</span><span class="n">signal</span><span class="p">(</span><span class="n">signal</span><span class="o">.</span><span class="n">SIGTERM</span><span class="p">,</span> <span class="n">signal_handler</span><span class="p">)</span>
+
+                    <span class="bp">self</span><span class="o">.</span><span class="n">render_templates</span><span class="p">()</span>
+                    <span class="n">task_copy</span><span class="o">.</span><span class="n">pre_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+
+                    <span class="c1"># If a timout is specified for the task, make it fail</span>
+                    <span class="c1"># if it goes beyond</span>
+                    <span class="n">result</span> <span class="o">=</span> <span class="bp">None</span>
+                    <span class="k">if</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execution_timeout</span><span class="p">:</span>
+                        <span class="k">with</span> <span class="n">timeout</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span>
+                                <span class="n">task_copy</span><span class="o">.</span><span class="n">execution_timeout</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">())):</span>
+                            <span class="n">result</span> <span class="o">=</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+
+                    <span class="k">else</span><span class="p">:</span>
+                        <span class="n">result</span> <span class="o">=</span> <span class="n">task_copy</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+
+                    <span class="c1"># If the task returns a result, push an XCom containing it</span>
+                    <span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">result</span><span class="p">)</span>
+
+                    <span class="n">task_copy</span><span class="o">.</span><span class="n">post_execute</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
+            <span class="k">except</span> <span class="n">AirflowSkipException</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span>
+            <span class="k">except</span> <span class="p">(</span><span class="ne">Exception</span><span class="p">,</span> <span class="ne">KeyboardInterrupt</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">handle_failure</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">test_mode</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+                <span class="k">raise</span>
+
+            <span class="c1"># Recording SUCCESS</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">set_duration</span><span class="p">()</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">state</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+            <span class="c1"># Success callback</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">:</span>
+                    <span class="n">task</span><span class="o">.</span><span class="n">on_success_callback</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e3</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed when executing success callback&quot;</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e3</span><span class="p">)</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span></div>
+
+    <span class="k">def</span> <span class="nf">dry_run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">task_copy</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">task_copy</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">render_templates</span><span class="p">()</span>
+        <span class="n">task_copy</span><span class="o">.</span><span class="n">dry_run</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">handle_failure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">error</span><span class="p">,</span> <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">error</span><span class="p">)</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">set_duration</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Log</span><span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="bp">self</span><span class="p">))</span>
+
+        <span class="c1"># Let&#39;s go deeper</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">try_number</span> <span class="o">%</span> <span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span>< [...]
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking task as UP_FOR_RETRY&#39;</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">email_on_retry</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
+                <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;All retries failed; marking task as FAILED&#39;</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking task as FAILED.&#39;</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">email_on_failure</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">email_alert</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e2</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                <span class="s1">&#39;Failed to send email to: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">))</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e2</span><span class="p">)</span>
+
+        <span class="c1"># Handling callbacks pessimistically</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">UP_FOR_RETRY</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">on_retry_callback</span><span class="p">:</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">on_retry_callback</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span> <span class="ow">and</span> <span class="n">task</span><span class="o">.</span><span class="n">on_failure_callback</span><span class="p">:</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">on_failure_callback</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e3</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Failed at executing callback&quot;</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e3</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">test_mode</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">error</span><span class="p">))</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_template_context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">macros</span>
+        <span class="n">tables</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">if</span> <span class="s1">&#39;tables&#39;</span> <span class="ow">in</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
+            <span class="n">tables</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;tables&#39;</span><span class="p">]</span>
+
+        <span class="n">ds</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span>
+        <span class="n">ts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+        <span class="n">yesterday_ds</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span>
+        <span class="n">tomorrow_ds</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]</span>
+
+        <span class="n">ds_nodash</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="n">ts_nodash</span> <span class="o">=</span> <span class="n">ts</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="n">yesterday_ds_nodash</span> <span class="o">=</span> <span class="n">yesterday_ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="n">tomorrow_ds_nodash</span> <span class="o">=</span> <span class="n">tomorrow_ds</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+
+        <span class="n">ti_key_str</span> <span class="o">=</span> <span class="s2">&quot;{task.dag_id}__{task.task_id}__{ds_nodash}&quot;</span>
+        <span class="n">ti_key_str</span> <span class="o">=</span> <span class="n">ti_key_str</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+        <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">run_id</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="n">dag_run</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="s1">&#39;dag&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
+                <span class="n">params</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">params</span><span class="p">)</span>
+            <span class="n">dag_run</span> <span class="o">=</span> <span class="p">(</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagRun</span><span class="p">)</span>
+                <span class="o">.</span><span class="n">filter_by</span><span class="p">(</span>
+                    <span class="n">dag_id</span><span class="o">=</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+                    <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+                <span class="o">.</span><span class="n">first</span><span class="p">()</span>
+            <span class="p">)</span>
+            <span class="n">run_id</span> <span class="o">=</span> <span class="n">dag_run</span><span class="o">.</span><span class="n">run_id</span> <span class="k">if</span> <span class="n">dag_run</span> <span class="k">else</span> <span class="bp">None</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">expunge_all</span><span class="p">()</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
+            <span class="n">params</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="p">{</span>
+            <span class="s1">&#39;dag&#39;</span><span class="p">:</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="p">,</span>
+            <span class="s1">&#39;ds&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
+            <span class="s1">&#39;ds_nodash&#39;</span><span class="p">:</span> <span class="n">ds_nodash</span><span class="p">,</span>
+            <span class="s1">&#39;ts&#39;</span><span class="p">:</span> <span class="n">ts</span><span class="p">,</span>
+            <span class="s1">&#39;ts_nodash&#39;</span><span class="p">:</span> <span class="n">ts_nodash</span><span class="p">,</span>
+            <span class="s1">&#39;yesterday_ds&#39;</span><span class="p">:</span> <span class="n">yesterday_ds</span><span class="p">,</span>
+            <span class="s1">&#39;yesterday_ds_nodash&#39;</span><span class="p">:</span> <span class="n">yesterday_ds_nodash</span><span class="p">,</span>
+            <span class="s1">&#39;tomorrow_ds&#39;</span><span class="p">:</span> <span class="n">tomorrow_ds</span><span class="p">,</span>
+            <span class="s1">&#39;tomorrow_ds_nodash&#39;</span><span class="p">:</span> <span class="n">tomorrow_ds_nodash</span><span class="p">,</span>
+            <span class="s1">&#39;END_DATE&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
+            <span class="s1">&#39;end_date&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
+            <span class="s1">&#39;dag_run&#39;</span><span class="p">:</span> <span class="n">dag_run</span><span class="p">,</span>
+            <span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">,</span>
+            <span class="s1">&#39;execution_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="s1">&#39;latest_date&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
+            <span class="s1">&#39;macros&#39;</span><span class="p">:</span> <span class="n">macros</span><span class="p">,</span>
+            <span class="s1">&#39;params&#39;</span><span class="p">:</span> <span class="n">params</span><span class="p">,</span>
+            <span class="s1">&#39;tables&#39;</span><span class="p">:</span> <span class="n">tables</span><span class="p">,</span>
+            <span class="s1">&#39;task&#39;</span><span class="p">:</span> <span class="n">task</span><span class="p">,</span>
+            <span class="s1">&#39;task_instance&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="p">,</span>
+            <span class="s1">&#39;ti&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="p">,</span>
+            <span class="s1">&#39;task_instance_key_str&#39;</span><span class="p">:</span> <span class="n">ti_key_str</span><span class="p">,</span>
+            <span class="s1">&#39;conf&#39;</span><span class="p">:</span> <span class="n">configuration</span><span class="p">,</span>
+            <span class="s1">&#39;test_mode&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span><span class="p">,</span>
+        <span class="p">}</span>
+
+    <span class="k">def</span> <span class="nf">render_templates</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">jinja_context</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_template_context</span><span class="p">()</span>
+        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;task&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="p">,</span> <span class="s1">&#39;dag&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">user_defined_macros</span><span class="p">:</span>
+                <span class="n">jinja_context</span><span class="o">.</span><span class="n">update</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">user_defined_macros</span><span class="p">)</span>
+
+        <span class="n">rt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">render_template</span>  <span class="c1"># shortcut to method</span>
+        <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
+            <span class="n">content</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">content</span><span class="p">:</span>
+                <span class="n">rendered_content</span> <span class="o">=</span> <span class="n">rt</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">jinja_context</span><span class="p">)</span>
+                <span class="nb">setattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">rendered_content</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">email_alert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">,</span> <span class="n">is_retry</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
+        <span class="n">title</span> <span class="o">=</span> <span class="s2">&quot;Airflow alert: {self}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+        <span class="n">exception</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">exception</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;&lt;br&gt;&#39;</span><span class="p">)</span>
+        <span class="n">try_</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">retries</span> <span class="o">+</span> <span class="mi">1</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="s2">&quot;Try {self.try_number} out of {try_}&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Exception:&lt;br&gt;{exception}&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Log: &lt;a href=&#39;{self.log_url}&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Host: {self.hostname}&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Log file: {self.log_filepath}&lt;br&gt;&quot;</span>
+            <span class="s2">&quot;Mark success: &lt;a href=&#39;{self.mark_success_url}&#39;&gt;Link&lt;/a&gt;&lt;br&gt;&quot;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+        <span class="n">send_email</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">body</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">set_duration</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">duration</span> <span class="o">=</span> <span class="bp">None</span>
+
+<div class="viewcode-block" id="TaskInstance.xcom_push"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.xcom_push">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_push</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Make an XCom available for tasks to pull.</span>
+
+<span class="sd">        :param key: A key for the XCom</span>
+<span class="sd">        :type key: string</span>
+<span class="sd">        :param value: A value for the XCom. The value is pickled and stored</span>
+<span class="sd">            in the database.</span>
+<span class="sd">        :type value: any pickleable object</span>
+<span class="sd">        :param execution_date: if provided, the XCom will not be visible until</span>
+<span class="sd">            this date. This can be used, for example, to send a message to a</span>
+<span class="sd">            task on a future date without it being immediately visible.</span>
+<span class="sd">        :type execution_date: datetime</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">execution_date</span> <span class="ow">and</span> <span class="n">execution_date</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;execution_date can not be in the past (current &#39;</span>
+                <span class="s1">&#39;execution_date is {}; received {})&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">))</span>
+
+        <span class="n">XCom</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="o">=</span><span class="n">value</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="n">execution_date</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="TaskInstance.xcom_pull"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.xcom_pull">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_pull</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">task_ids</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Pull XComs that optionally meet certain criteria.</span>
+
+<span class="sd">        The default value for `key` limits the search to XComs</span>
+<span class="sd">        that were returned by other tasks (as opposed to those that were pushed</span>
+<span class="sd">        manually). To remove this filter, pass key=None (or any desired value).</span>
+
+<span class="sd">        If a single task_id string is provided, the result is the value of the</span>
+<span class="sd">        most recent matching XCom from that task_id. If multiple task_ids are</span>
+<span class="sd">        provided, a tuple of matching values is returned. None is returned</span>
+<span class="sd">        whenever no matches are found.</span>
+
+<span class="sd">        :param key: A key for the XCom. If provided, only XComs with matching</span>
+<span class="sd">            keys will be returned. The default key is &#39;return_value&#39;, also</span>
+<span class="sd">            available as a constant XCOM_RETURN_KEY. This key is automatically</span>
+<span class="sd">            given to XComs returned by tasks (as opposed to being pushed</span>
+<span class="sd">            manually). To remove the filter, pass key=None.</span>
+<span class="sd">        :type key: string</span>
+<span class="sd">        :param task_ids: Only XComs from tasks with matching ids will be</span>
+<span class="sd">            pulled. Can pass None to remove the filter.</span>
+<span class="sd">        :type task_ids: string or iterable of strings (representing task_ids)</span>
+<span class="sd">        :param dag_id: If provided, only pulls XComs from this DAG.</span>
+<span class="sd">            If None (default), the DAG of the calling task is used.</span>
+<span class="sd">        :type dag_id: string</span>
+<span class="sd">        :param include_prior_dates: If False, only XComs from the current</span>
+<span class="sd">            execution_date are returned. If True, XComs from previous dates</span>
+<span class="sd">            are returned as well.</span>
+<span class="sd">        :type include_prior_dates: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="k">if</span> <span class="n">dag_id</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">dag_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span>
+
+        <span class="n">pull_fn</span> <span class="o">=</span> <span class="n">functools</span><span class="o">.</span><span class="n">partial</span><span class="p">(</span>
+            <span class="n">XCom</span><span class="o">.</span><span class="n">get_one</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="n">include_prior_dates</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">is_container</span><span class="p">(</span><span class="n">task_ids</span><span class="p">):</span>
+            <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">pull_fn</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="n">t</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">task_ids</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">pull_fn</span><span class="p">(</span><span class="n">task_id</span><span class="o">=</span><span class="n">task_ids</span><span class="p">)</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">Log</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Used to actively log events to the database</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;log&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dttm</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
+    <span class="n">event</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">30</span><span class="p">))</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">owner</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">500</span><span class="p">))</span>
+    <span class="n">extra</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">task_instance</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">extra</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">**</span><sp [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">event</span> <span class="o">=</span> <span class="n">event</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="n">extra</span>
+
+        <span class="n">task_owner</span> <span class="o">=</span> <span class="bp">None</span>
+
+        <span class="k">if</span> <span class="n">task_instance</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">task_instance</span><span class="o">.</span><span class="n">dag_id</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">task_instance</span><span class="o">.</span><span class="n">task_id</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">=</span> <span class="n">task_instance</span><span class="o">.</span><span class="n">execution_date</span>
+            <span class="n">task_owner</span> <span class="o">=</span> <span class="n">task_instance</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">owner</span>
+
+        <span class="k">if</span> <span class="s1">&#39;task_id&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;task_id&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="s1">&#39;dag_id&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;dag_id&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="s1">&#39;execution_date&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">owner</span> <span class="o">=</span> <span class="n">owner</span> <span class="ow">or</span> <span class="n">task_owner</span>
+
+
+<span class="nd">@functools.total_ordering</span>
+<div class="viewcode-block" id="BaseOperator"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator">[docs]</a><span class="k">class</span> <span class="nc">BaseOperator</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Abstract base class for all operators. Since operators create objects that</span>
+<span class="sd">    become node in the dag, BaseOperator contains many recursive methods for</span>
+<span class="sd">    dag crawling behavior. To derive this class, you are expected to override</span>
+<span class="sd">    the constructor as well as the &#39;execute&#39; method.</span>
+
+<span class="sd">    Operators derived from this task should perform or trigger certain tasks</span>
+<span class="sd">    synchronously (wait for completion). Example of operators could be an</span>
+<span class="sd">    operator the runs a Pig job (PigOperator), a sensor operator that</span>
+<span class="sd">    waits for a partition to land in Hive (HiveSensorOperator), or one that</span>
+<span class="sd">    moves data from Hive to MySQL (Hive2MySqlOperator). Instances of these</span>
+<span class="sd">    operators (tasks) target specific operations, running specific scripts,</span>
+<span class="sd">    functions or data transfers.</span>
+
+<span class="sd">    This class is abstract and shouldn&#39;t be instantiated. Instantiating a</span>
+<span class="sd">    class derived from this one results in the creation of a task object,</span>
+<span class="sd">    which ultimately becomes a node in DAG objects. Task dependencies should</span>
+<span class="sd">    be set by using the set_upstream and/or set_downstream methods.</span>
+
+<span class="sd">    Note that this class is derived from SQLAlchemy&#39;s Base class, which</span>
+<span class="sd">    allows us to push metadata regarding tasks to the database. Deriving this</span>
+<span class="sd">    classes needs to implement the polymorphic specificities documented in</span>
+<span class="sd">    SQLAlchemy. This should become clear while reading the code for other</span>
+<span class="sd">    operators.</span>
+
+<span class="sd">    :param task_id: a unique, meaningful id for the task</span>
+<span class="sd">    :type task_id: string</span>
+<span class="sd">    :param owner: the owner of the task, using the unix username is recommended</span>
+<span class="sd">    :type owner: string</span>
+<span class="sd">    :param retries: the number of retries that should be performed before</span>
+<span class="sd">        failing the task</span>
+<span class="sd">    :type retries: int</span>
+<span class="sd">    :param retry_delay: delay between retries</span>
+<span class="sd">    :type retry_delay: timedelta</span>
+<span class="sd">    :param start_date: The ``start_date`` for the task, determines</span>
+<span class="sd">        the ``execution_date`` for the first task instance. The best practice</span>
+<span class="sd">        is to have the start_date rounded</span>
+<span class="sd">        to your DAG&#39;s ``schedule_interval``. Daily jobs have their start_date</span>
+<span class="sd">        some day at 00:00:00, hourly jobs have their start_date at 00:00</span>
+<span class="sd">        of a specific hour. Note that Airflow simply looks at the latest</span>
+<span class="sd">        ``execution_date`` and adds the ``schedule_interval`` to determine</span>
+<span class="sd">        the next ``execution_date``. It is also very important</span>
+<span class="sd">        to note that different tasks&#39; dependencies</span>
+<span class="sd">        need to line up in time. If task A depends on task B and their</span>
+<span class="sd">        start_date are offset in a way that their execution_date don&#39;t line</span>
+<span class="sd">        up, A&#39;s dependencies will never be met. If you are looking to delay</span>
+<span class="sd">        a task, for example running a daily task at 2AM, look into the</span>
+<span class="sd">        ``TimeSensor`` and ``TimeDeltaSensor``. We advise against using</span>
+<span class="sd">        dynamic ``start_date`` and recommend using fixed ones. Read the</span>
+<span class="sd">        FAQ entry about start_date for more information.</span>
+<span class="sd">    :type start_date: datetime</span>
+<span class="sd">    :param end_date: if specified, the scheduler won&#39;t go beyond this date</span>
+<span class="sd">    :type end_date: datetime</span>
+<span class="sd">    :param depends_on_past: when set to true, task instances will run</span>
+<span class="sd">        sequentially while relying on the previous task&#39;s schedule to</span>
+<span class="sd">        succeed. The task instance for the start_date is allowed to run.</span>
+<span class="sd">    :type depends_on_past: bool</span>
+<span class="sd">    :param wait_for_downstream: when set to true, an instance of task</span>
+<span class="sd">        X will wait for tasks immediately downstream of the previous instance</span>
+<span class="sd">        of task X to finish successfully before it runs. This is useful if the</span>
+<span class="sd">        different instances of a task X alter the same asset, and this asset</span>
+<span class="sd">        is used by tasks downstream of task X. Note that depends_on_past</span>
+<span class="sd">        is forced to True wherever wait_for_downstream is used.</span>
+<span class="sd">    :type wait_for_downstream: bool</span>
+<span class="sd">    :param queue: which queue to target when running this job. Not</span>
+<span class="sd">        all executors implement queue management, the CeleryExecutor</span>
+<span class="sd">        does support targeting specific queues.</span>
+<span class="sd">    :type queue: str</span>
+<span class="sd">    :param dag: a reference to the dag the task is attached to (if any)</span>
+<span class="sd">    :type dag: DAG</span>
+<span class="sd">    :param priority_weight: priority weight of this task against other task.</span>
+<span class="sd">        This allows the executor to trigger higher priority tasks before</span>
+<span class="sd">        others when things get backed up.</span>
+<span class="sd">    :type priority_weight: int</span>
+<span class="sd">    :param pool: the slot pool this task should run in, slot pools are a</span>
+<span class="sd">        way to limit concurrency for certain tasks</span>
+<span class="sd">    :type pool: str</span>
+<span class="sd">    :param sla: time by which the job is expected to succeed. Note that</span>
+<span class="sd">        this represents the ``timedelta`` after the period is closed. For</span>
+<span class="sd">        example if you set an SLA of 1 hour, the scheduler would send dan email</span>
+<span class="sd">        soon after 1:00AM on the ``2016-01-02`` if the ``2016-01-01`` instance</span>
+<span class="sd">        has not succeede yet.</span>
+<span class="sd">        The scheduler pays special attention for jobs with an SLA and</span>
+<span class="sd">        sends alert</span>
+<span class="sd">        emails for sla misses. SLA misses are also recorded in the database</span>
+<span class="sd">        for future reference. All tasks that share the same SLA time</span>
+<span class="sd">        get bundled in a single email, sent soon after that time. SLA</span>
+<span class="sd">        notification are sent once and only once for each task instance.</span>
+<span class="sd">    :type sla: datetime.timedelta</span>
+<span class="sd">    :param execution_timeout: max time allowed for the execution of</span>
+<span class="sd">        this task instance, if it goes beyond it will raise and fail.</span>
+<span class="sd">    :type execution_timeout: datetime.timedelta</span>
+<span class="sd">    :param on_failure_callback: a function to be called when a task instance</span>
+<span class="sd">        of this task fails. a context dictionary is passed as a single</span>
+<span class="sd">        parameter to this function. Context contains references to related</span>
+<span class="sd">        objects to the task instance and is documented under the macros</span>
+<span class="sd">        section of the API.</span>
+<span class="sd">    :type on_failure_callback: callable</span>
+<span class="sd">    :param on_retry_callback: much like the ``on_failure_callback`` excepts</span>
+<span class="sd">        that it is executed when retries occur.</span>
+<span class="sd">    :param on_success_callback: much like the ``on_failure_callback`` excepts</span>
+<span class="sd">        that it is executed when the task succeeds.</span>
+<span class="sd">    :type on_success_callback: callable</span>
+<span class="sd">    :param trigger_rule: defines the rule by which dependencies are applied</span>
+<span class="sd">        for the task to get triggered. Options are:</span>
+<span class="sd">        ``{ all_success | all_failed | all_done | one_success |</span>
+<span class="sd">        one_failed | dummy}``</span>
+<span class="sd">        default is ``all_success``. Options can be set as string or</span>
+<span class="sd">        using the constants defined in the static class</span>
+<span class="sd">        ``airflow.utils.TriggerRule``</span>
+<span class="sd">    :type trigger_rule: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="c1"># For derived classes to define which fields will get jinjaified</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="c1"># Defines wich files extensions to look for in the templated fields</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="c1"># Defines the color in the UI</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#fff&#39;</span>
+    <span class="n">ui_fgcolor</span> <span class="o">=</span> <span class="s1">&#39;#000&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="p">,</span>
+            <span class="n">owner</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;operators&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_OWNER&#39;</span><span class="p">),</span>
+            <span class="n">email</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">email_on_retry</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">email_on_failure</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">retries</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+            <span class="n">retry_delay</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="mi">300</span><span class="p">),</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">schedule_interval</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>  <span class="c1"># not hooked as of now</span>
+            <span class="n">depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">wait_for_downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">dag</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">default_args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">adhoc</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">priority_weight</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
+            <span class="n">queue</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;celery&#39;</span><span class="p">,</span> <span class="s1">&#39;default_queue&#39;</span><span class="p">),</span>
+            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">sla</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">execution_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">on_failure_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">on_success_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">on_retry_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">trigger_rule</span><span class="o">=</span><span class="n">TriggerRule</span><span class="o">.</span><span class="n">ALL_SUCCESS</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+
+        <span class="k">if</span> <span class="n">args</span> <span class="ow">or</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="c1"># TODO remove *args and **kwargs in Airflow 2.0</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                <span class="s1">&#39;Invalid arguments were passed to {c}. Support for &#39;</span>
+                <span class="s1">&#39;passing such arguments will be dropped in Airflow 2.0. &#39;</span>
+                <span class="s1">&#39;Invalid arguments were:&#39;</span>
+                <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">*args: {a}</span><span class="se">\n</span><span class="s1">**kwargs: {k}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">c</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">args</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="n">kwargs</span><span class="p">),</span>
+                <span class="n">category</span><span class="o">=</span><span class="ne">PendingDeprecationWarning</span>
+            <span class="p">)</span>
+
+        <span class="n">validate_key</span><span class="p">(</span><span class="n">task_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">owner</span> <span class="o">=</span> <span class="n">owner</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">email</span> <span class="o">=</span> <span class="n">email</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">email_on_retry</span> <span class="o">=</span> <span class="n">email_on_retry</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">email_on_failure</span> <span class="o">=</span> <span class="n">email_on_failure</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
+        <span class="k">if</span> <span class="n">start_date</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">datetime</span><span class="p">):</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
+                <span class="s2">&quot;start_date for {} isn&#39;t datetime.datetime&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">TriggerRule</span><span class="o">.</span><span class="n">is_valid</span><span class="p">(</span><span class="n">trigger_rule</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s2">&quot;The trigger_rule must be one of {all_triggers},&quot;</span>
+                <span class="s2">&quot;&#39;{d}.{t}&#39;; received &#39;{tr}&#39;.&quot;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">all_triggers</span><span class="o">=</span><span class="n">TriggerRule</span><span class="o">.</span><span class="n">all_triggers</span><span class="p">,</span>
+                        <span class="n">d</span><span class="o">=</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span> <span class="n">tr</span> <span class="o">=</span> <span class="n">trigger_rule</span><span class="p">))</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">trigger_rule</span> <span class="o">=</span> <span class="n">trigger_rule</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="o">=</span> <span class="n">depends_on_past</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">wait_for_downstream</span> <span class="o">=</span> <span class="n">wait_for_downstream</span>
+        <span class="k">if</span> <span class="n">wait_for_downstream</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="o">=</span> <span class="bp">True</span>
+
+        <span class="k">if</span> <span class="n">schedule_interval</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
+                <span class="s2">&quot;schedule_interval is used for {}, though it has &quot;</span>
+                <span class="s2">&quot;been deprecated as a task parameter, you need to &quot;</span>
+                <span class="s2">&quot;specify it as a DAG parameter instead&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retries</span> <span class="o">=</span> <span class="n">retries</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">queue</span> <span class="o">=</span> <span class="n">queue</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">pool</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sla</span> <span class="o">=</span> <span class="n">sla</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_timeout</span> <span class="o">=</span> <span class="n">execution_timeout</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">on_failure_callback</span> <span class="o">=</span> <span class="n">on_failure_callback</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">on_success_callback</span> <span class="o">=</span> <span class="n">on_success_callback</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">on_retry_callback</span> <span class="o">=</span> <span class="n">on_retry_callback</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">retry_delay</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">=</span> <span class="n">retry_delay</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;retry_delay isn&#39;t timedelta object, assuming secs&quot;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">retry_delay</span> <span class="o">=</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="n">retry_delay</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="n">params</span> <span class="ow">or</span> <span class="p">{}</span>  <span class="c1"># Available in templates!</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">adhoc</span> <span class="o">=</span> <span class="n">adhoc</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span> <span class="o">=</span> <span class="n">priority_weight</span>
+
+        <span class="c1"># Private attributes</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_ids</span> <span class="o">=</span> <span class="p">[]</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dag</span> <span class="ow">and</span> <span class="n">_CONTEXT_MANAGER_DAG</span><span class="p">:</span>
+            <span class="n">dag</span> <span class="o">=</span> <span class="n">_CONTEXT_MANAGER_DAG</span>
+        <span class="k">if</span> <span class="n">dag</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">dag</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;task_id&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;dag_id&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;owner&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;email&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;email_on_retry&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;retry_delay&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;start_date&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;schedule_interval&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;depends_on_past&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;wait_for_downstream&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;adhoc&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;priority_weight&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;sla&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;execution_timeout&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;on_failure_callback&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;on_success_callback&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;on_retry_callback&#39;</span><span class="p">,</span>
+        <span class="p">}</span>
+
+    <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">==</span> <span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> <span class="ow">and</span>
+            <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
+                <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">__neq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span> <span class="o">==</span> <span class="n">other</span>
+
+    <span class="k">def</span> <span class="nf">__lt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">&lt;</span> <span class="n">other</span><span class="o">.</span><span class="n">task_id</span>
+
+    <span class="k">def</span> <span class="nf">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">hash_components</span> <span class="o">=</span> <span class="p">[</span><span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)]</span>
+        <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">:</span>
+            <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="nb">hash</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+                <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
+                <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">val</span><span class="p">))</span>
+        <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="nb">tuple</span><span class="p">(</span><span class="n">hash_components</span><span class="p">))</span>
+
+    <span class="c1"># Composing Operators -----------------------------------------------</span>
+
+    <span class="k">def</span> <span class="nf">__rshift__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Implements Self &gt;&gt; Other == self.set_downstream(other)</span>
+
+<span class="sd">        If &quot;Other&quot; is a DAG, the DAG is assigned to the Operator.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
+            <span class="c1"># if this dag is already assigned, do nothing</span>
+            <span class="c1"># otherwise, do normal dag assignment</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="ow">is</span> <span class="n">other</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">other</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">set_downstream</span><span class="p">(</span><span class="n">other</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">other</span>
+
+    <span class="k">def</span> <span class="nf">__lshift__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Implements Self &lt;&lt; Other == self.set_upstream(other)</span>
+
+<span class="sd">        If &quot;Other&quot; is a DAG, the DAG is assigned to the Operator.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
+            <span class="c1"># if this dag is already assigned, do nothing</span>
+            <span class="c1"># otherwise, do normal dag assignment</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="ow">is</span> <span class="n">other</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">other</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">set_upstream</span><span class="p">(</span><span class="n">other</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">other</span>
+
+    <span class="k">def</span> <span class="nf">__rrshift__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Called for [DAG] &gt;&gt; [Operator] because DAGs don&#39;t have</span>
+<span class="sd">        __rshift__ operators.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">__lshift__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span>
+
+    <span class="k">def</span> <span class="nf">__rlshift__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Called for [DAG] &lt;&lt; [Operator] because DAGs don&#39;t have</span>
+<span class="sd">        __lshift__ operators.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">__rshift__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span>
+
+    <span class="c1"># /Composing Operators ---------------------------------------------</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">dag</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the Operator&#39;s DAG if set, otherwise raises an error</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dag</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Operator {} has not been assigned to a DAG yet&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+
+    <span class="nd">@dag.setter</span>
+    <span class="k">def</span> <span class="nf">dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Operators can be assigned to one DAG, one time. Repeat assignments to</span>
+<span class="sd">        that same DAG are ok.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">dag</span><span class="p">,</span> <span class="n">DAG</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
+                <span class="s1">&#39;Expected DAG; received {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">dag</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s2">&quot;The DAG assigned to {} can not be changed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
+            <span class="n">dag</span><span class="o">.</span><span class="n">add_task</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_dag</span> <span class="o">=</span> <span class="n">dag</span>
+
+<div class="viewcode-block" id="BaseOperator.has_dag"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.has_dag">[docs]</a>    <span class="k">def</span> <span class="nf">has_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns True if the Operator has been assigned to a DAG.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;_dag&#39;</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span></div>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s1">&#39;adhoc_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">schedule_interval</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        The schedule interval of the DAG always wins over individual tasks so</span>
+<span class="sd">        that tasks within a DAG always line up. The task still needs a</span>
+<span class="sd">        schedule_interval as it may not be attached to a DAG.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">_schedule_interval</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">priority_weight_total</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">sum</span><span class="p">([</span>
+            <span class="n">t</span><span class="o">.</span><span class="n">priority_weight</span>
+            <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+        <span class="p">])</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">priority_weight</span>
+
+<div class="viewcode-block" id="BaseOperator.pre_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.pre_execute">[docs]</a>    <span class="k">def</span> <span class="nf">pre_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        This is triggered right before self.execute, it&#39;s mostly a hook</span>
+<span class="sd">        for people deriving operators.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">pass</span></div>
+
+<div class="viewcode-block" id="BaseOperator.execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        This is the main method to derive when creating an operator.</span>
+<span class="sd">        Context is the same dictionary used as when rendering jinja templates.</span>
+
+<span class="sd">        Refer to get_template_context for more context.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="BaseOperator.post_execute"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.post_execute">[docs]</a>    <span class="k">def</span> <span class="nf">post_execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        This is triggered right after self.execute, it&#39;s mostly a hook</span>
+<span class="sd">        for people deriving operators.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">pass</span></div>
+
+<div class="viewcode-block" id="BaseOperator.on_kill"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.on_kill">[docs]</a>    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Override this method to cleanup subprocesses when a task instance</span>
+<span class="sd">        gets killed. Any use of the threading, subprocess or multiprocessing</span>
+<span class="sd">        module within an operator needs to be cleaned up or it will leave</span>
+<span class="sd">        ghost processes behind.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">pass</span></div>
+
+    <span class="k">def</span> <span class="nf">__deepcopy__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Hack sorting double chained task lists by task_id to avoid hitting</span>
+<span class="sd">        max_depth on deepcopy operations.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">setrecursionlimit</span><span class="p">(</span><span class="mi">5000</span><span class="p">)</span>  <span class="c1"># TODO fix this in a better way</span>
+        <span class="n">cls</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="n">cls</span><span class="o">.</span><span class="n">__new__</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span>
+        <span class="n">memo</span><span class="p">[</span><span class="nb">id</span><span class="p">(</span><span class="bp">self</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
+
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">items</span><span class="p">()):</span>
+            <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;user_defined_macros&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">):</span>
+                <span class="nb">setattr</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">memo</span><span class="p">))</span>
+        <span class="n">result</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span>
+        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;user_defined_macros&#39;</span><span class="p">):</span>
+            <span class="n">result</span><span class="o">.</span><span class="n">user_defined_macros</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+<div class="viewcode-block" id="BaseOperator.render_template_from_field"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.render_template_from_field">[docs]</a>    <span class="k">def</span> <span class="nf">render_template_from_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class [...]
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Renders a template from a field. If the field is a string, it will</span>
+<span class="sd">        simply render the string and return the result. If it is a collection or</span>
+<span class="sd">        nested set of collections, it will traverse the structure and render</span>
+<span class="sd">        all strings in it.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">rt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">render_template</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="n">jinja_env</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="n">content</span><span class="p">)</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="o">**</span><span class="n">context</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">rt</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">content</span><span class="p">]</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="n">k</span><span class="p">:</span> <span class="n">rt</span><span class="p">(</span><span class="s2">&quot;{}[{}]&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">k</span><span class="p">),</span> <span class="n">v</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+                <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">content</span><span class="o">.</span><span class="n">items</span><span class="p">())}</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">param_type</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
+            <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
+                <span class="s2">&quot;Type &#39;{param_type}&#39; used for parameter &#39;{attr}&#39; is &quot;</span>
+                <span class="s2">&quot;not supported for templating&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">result</span></div>
+
+<div class="viewcode-block" id="BaseOperator.render_template"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.render_template">[docs]</a>    <span class="k">def</span> <span class="nf">render_template</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Renders a template either from a file or directly in a field, and returns</span>
+<span class="sd">        the rendered result.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">jinja_env</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_template_env</span><span class="p">()</span> \
+            <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;dag&#39;</span><span class="p">)</span> \
+            <span class="k">else</span> <span class="n">jinja2</span><span class="o">.</span><span class="n">Environment</span><span class="p">(</span><span class="n">cache_size</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+
+        <span class="n">exts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">template_ext</span>
+        <span class="k">if</span> <span class="p">(</span>
+                <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">)</span> <span class="ow">and</span>
+                <span class="nb">any</span><span class="p">([</span><span class="n">content</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="n">ext</span><span class="p">)</span> <span class="k">for</span> <span class="n">ext</span> <span class="ow">in</span> <span class="n">exts</span><span class="p">])):</span>
+            <span class="k">return</span> <span class="n">jinja_env</span><span class="o">.</span><span class="n">get_template</span><span class="p">(</span><span class="n">content</span><span class="p">)</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="o">**</span><span class="n">context</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">render_template_from_field</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="n">content</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">jinja_env</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BaseOperator.prepare_template"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.prepare_template">[docs]</a>    <span class="k">def</span> <span class="nf">prepare_template</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Hook that is triggered after the templated fields get replaced</span>
+<span class="sd">        by their content. If you need your operator to alter the</span>
+<span class="sd">        content of the file before the template is rendered,</span>
+<span class="sd">        it should override this method to do so.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">pass</span></div>
+
+    <span class="k">def</span> <span class="nf">resolve_template_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="c1"># Getting the content of files for template_field / template_ext</span>
+        <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
+            <span class="n">content</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">content</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">)</span> <span class="ow">and</span>
+                    <span class="nb">any</span><span class="p">([</span><span class="n">content</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="n">ext</span><span class="p">)</span> <span class="k">for</span> <span class="n">ext</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_ext</span><span class="p">])):</span>
+                <span class="n">env</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_template_env</span><span class="p">()</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="n">env</span><span class="o">.</span><span class="n">loader</span><span class="o">.</span><span class="n">get_source</span><span class="p">(</span><span class="n">env</span><span class="p">,</span> <span class="n">content</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
+                <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">prepare_template</span><span class="p">()</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">upstream_list</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;@property: list of tasks directly upstream&quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span><span class="p">]</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">upstream_task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">downstream_list</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;@property: list of tasks directly downstream&quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">tid</span><span class="p">)</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_ids</span><span class="p">]</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">downstream_task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_ids</span>
+
+<div class="viewcode-block" id="BaseOperator.clear"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.clear">[docs]</a>    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Clears the state of task instances associated with the task, following</span>
+<span class="sd">        the parameters specified.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p [...]
+
+        <span class="k">if</span> <span class="n">start_date</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;=</span> <span class="n">start_date</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">end_date</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">)</span>
+
+        <span class="n">tasks</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">]</span>
+
+        <span class="k">if</span> <span class="n">upstream</span><span class="p">:</span>
+            <span class="n">tasks</span> <span class="o">+=</span> <span class="p">[</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)]</span>
+
+        <span class="k">if</span> <span class="n">downstream</span><span class="p">:</span>
+            <span class="n">tasks</span> <span class="o">+=</span> <span class="p">[</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)]</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">tasks</span><span class="p">))</span>
+
+        <span class="n">count</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="n">clear_task_instances</span><span class="p">(</span><span class="n">qry</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">count</span></div>
+
+<div class="viewcode-block" id="BaseOperator.get_task_instances"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_task_instances">[docs]</a>    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span c [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a set of task instance related to this task for a specific date</span>
+<span class="sd">        range.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span> <span class="ow">or</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;=</span> <span class="n">start_date</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">,</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="BaseOperator.get_flat_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_flat_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_flat_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">l</span><span class="o">=</span><span class="bp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get a flat list of relatives, either upstream or downstream.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">l</span><span class="p">:</span>
+            <span class="n">l</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_direct_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">is_in</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">l</span><span class="p">):</span>
+                <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="p">,</span> <span class="n">l</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">l</span></div>
+
+<div class="viewcode-block" id="BaseOperator.detect_downstream_cycle"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.detect_downstream_cycle">[docs]</a>    <span class="k">def</span> <span class="nf">detect_downstream_cycle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        When invoked, this routine will raise an exception if a cycle is</span>
+<span class="sd">        detected downstream from self. It is invoked when tasks are added to</span>
+<span class="sd">        the DAG to detect cycles.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="p">:</span>
+            <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span>
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_direct_relatives</span><span class="p">():</span>
+            <span class="k">if</span> <span class="n">task</span> <span class="ow">is</span> <span class="n">t</span><span class="p">:</span>
+                <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Cycle detected in DAG. Faulty task: {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">t</span><span class="o">.</span><span class="n">detect_downstream_cycle</span><span class="p">(</span><span class="n">task</span><span class="o">=</span><span class="n">task</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">False</span></div>
+
+<div class="viewcode-block" id="BaseOperator.run"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Run a set of task instances for a date range.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span>
+        <span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="ow">or</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+
+        <span class="k">for</span> <span class="n">dt</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">date_range</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">end_date</span><span class="p">):</span>
+            <span class="n">TaskInstance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">)</span><span class="o">.</span><span class="n">run</span><span class="p">(</span>
+                <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
+                <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
+                <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="p">(</span>
+                    <span class="n">dt</span> <span class="o">==</span> <span class="n">start_date</span> <span class="ow">and</span> <span class="n">ignore_first_depends_on_past</span><span class="p">),</span>
+                <span class="n">force</span><span class="o">=</span><span class="n">force</span><span class="p">,)</span></div>
+
+    <span class="k">def</span> <span class="nf">dry_run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Dry run&#39;</span><span class="p">)</span>
+        <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_fields</span><span class="p">:</span>
+            <span class="n">content</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">content</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Rendering template for {0}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">attr</span><span class="p">))</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
+
+<div class="viewcode-block" id="BaseOperator.get_direct_relatives"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.get_direct_relatives">[docs]</a>    <span class="k">def</span> <span class="nf">get_direct_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the direct relatives to the current task, upstream or</span>
+<span class="sd">        downstream.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">upstream</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">upstream_list</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">downstream_list</span></div>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;Task({self.__class__.__name__}): {self.task_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">task_type</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span>
+
+    <span class="k">def</span> <span class="nf">append_only_new</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">l</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">item</span> <span class="ow">is</span> <span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">l</span><span class="p">]):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Dependency {self}, {item} already registered&#39;</span>
+                <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_set_relatives</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">task_list</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
+            <span class="n">task_list</span> <span class="o">=</span> <span class="p">[</span><span class="n">task_or_task_list</span><span class="p">]</span>
+
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">task_list</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">BaseOperator</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Relationships can only be set between &quot;</span>
+                    <span class="s2">&quot;Operators; received {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+
+        <span class="c1"># relationships can only be set if the tasks share a single DAG. Tasks</span>
+        <span class="c1"># without a DAG are assigned to that DAG.</span>
+        <span class="n">dags</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">dag</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="p">[</span><span class="bp">self</span><span class="p">]</span> <span class="o">+</span> <span class="n">task_list</span> <span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">h [...]
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dags</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Tried to set relationships between tasks in &#39;</span>
+                <span class="s1">&#39;more than one DAG: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dags</span><span class="p">))</span>
+        <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">dags</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="n">dag</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">dags</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s2">&quot;Tried to create relationships between tasks that don&#39;t have &quot;</span>
+                <span class="s2">&quot;DAGs yet. Set the DAG for at least one &quot;</span>
+                <span class="s2">&quot;task  and try again: {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">([</span><span class="bp">self</span><span class="p">]</span> <span class="o">+</span> <span class="n">task_list</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">dag</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">dag</span>
+
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">task_list</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">dag</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">has_dag</span><span class="p">():</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="n">dag</span>
+            <span class="k">if</span> <span class="n">upstream</span><span class="p">:</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">append_only_new</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">_downstream_task_ids</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">append_only_new</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_ids</span><span class="p">,</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">append_only_new</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_ids</span><span class="p">,</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+                <span class="n">task</span><span class="o">.</span><span class="n">append_only_new</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">_upstream_task_ids</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">detect_downstream_cycle</span><span class="p">()</span>
+
+<div class="viewcode-block" id="BaseOperator.set_downstream"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.set_downstream">[docs]</a>    <span class="k">def</span> <span class="nf">set_downstream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Set a task, or a task task to be directly downstream from the current</span>
+<span class="sd">        task.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BaseOperator.set_upstream"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.set_upstream">[docs]</a>    <span class="k">def</span> <span class="nf">set_upstream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_or_task_list</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Set a task, or a task task to be directly upstream from the current</span>
+<span class="sd">        task.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_set_relatives</span><span class="p">(</span><span class="n">task_or_task_list</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BaseOperator.xcom_push"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.xcom_push">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_push</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">context</span><span class="p">,</span>
+            <span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        See TaskInstance.xcom_push()</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;ti&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="o">=</span><span class="n">value</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="n">execution_date</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="BaseOperator.xcom_pull"><a class="viewcode-back" href="../../code.html#airflow.models.BaseOperator.xcom_pull">[docs]</a>    <span class="k">def</span> <span class="nf">xcom_pull</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">context</span><span class="p">,</span>
+            <span class="n">task_ids</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">XCOM_RETURN_KEY</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        See TaskInstance.xcom_pull()</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;ti&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">task_ids</span><span class="o">=</span><span class="n">task_ids</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="n">include_prior_dates</span><span class="p">)</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">DagModel</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;dag&quot;</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    These items are stored in the database for state related information</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="c1"># A DAG can be paused from the UI / DB</span>
+    <span class="c1"># Set this default value of is_paused based on a configuration value!</span>
+    <span class="n">is_paused_at_creation</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;dags_are_paused_at_creation&#39;</span><span class="p">)</span>
+    <span class="n">is_paused</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">is_paused_at_creation</span><span class="p">)</span>
+    <span class="c1"># Whether the DAG is a subdag</span>
+    <span class="n">is_subdag</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="c1"># Whether that DAG was seen on the last DagBag load</span>
+    <span class="n">is_active</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="c1"># Last time the scheduler started</span>
+    <span class="n">last_scheduler_run</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="c1"># Last time this DAG was pickled</span>
+    <span class="n">last_pickled</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="c1"># When the DAG received a refreshed signal last, used to know when</span>
+    <span class="c1"># we need to force refresh</span>
+    <span class="n">last_expired</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="c1"># Whether (one  of) the scheduler is scheduling this DAG at the moment</span>
+    <span class="n">scheduler_lock</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
+    <span class="c1"># Foreign key to the latest pickle_id</span>
+    <span class="n">pickle_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">)</span>
+    <span class="c1"># The location of the file containing the DAG object</span>
+    <span class="n">fileloc</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">2000</span><span class="p">))</span>
+    <span class="c1"># String representing the owners</span>
+    <span class="n">owners</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">2000</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: {self.dag_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="k">def</span> <span class="nf">get_current</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">):</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">obj</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n"> [...]
+        <span class="n">session</span><span class="o">.</span><span class="n">expunge_all</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">obj</span>
+
+
+<span class="nd">@functools.total_ordering</span>
+<div class="viewcode-block" id="DAG"><a class="viewcode-back" href="../../code.html#airflow.models.DAG">[docs]</a><span class="k">class</span> <span class="nc">DAG</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    A dag (directed acyclic graph) is a collection of tasks with directional</span>
+<span class="sd">    dependencies. A dag also has a schedule, a start end an end date</span>
+<span class="sd">    (optional). For each schedule, (say daily or hourly), the DAG needs to run</span>
+<span class="sd">    each individual tasks as their dependencies are met. Certain tasks have</span>
+<span class="sd">    the property of depending on their own past, meaning that they can&#39;t run</span>
+<span class="sd">    until their previous schedule (and upstream tasks) are completed.</span>
+
+<span class="sd">    DAGs essentially act as namespaces for tasks. A task_id can only be</span>
+<span class="sd">    added once to a DAG.</span>
+
+<span class="sd">    :param dag_id: The id of the DAG</span>
+<span class="sd">    :type dag_id: string</span>
+<span class="sd">    :param schedule_interval: Defines how often that DAG runs, this</span>
+<span class="sd">        timedelta object gets added to your latest task instance&#39;s</span>
+<span class="sd">        execution_date to figure out the next schedule</span>
+<span class="sd">    :type schedule_interval: datetime.timedelta or</span>
+<span class="sd">        dateutil.relativedelta.relativedelta or str that acts as a cron</span>
+<span class="sd">        expression</span>
+<span class="sd">    :param start_date: The timestamp from which the scheduler will</span>
+<span class="sd">        attempt to backfill</span>
+<span class="sd">    :type start_date: datetime.datetime</span>
+<span class="sd">    :param end_date: A date beyond which your DAG won&#39;t run, leave to None</span>
+<span class="sd">        for open ended scheduling</span>
+<span class="sd">    :type end_date: datetime.datetime</span>
+<span class="sd">    :param template_searchpath: This list of folders (non relative)</span>
+<span class="sd">        defines where jinja will look for your templates. Order matters.</span>
+<span class="sd">        Note that jinja/airflow includes the path of your DAG file by</span>
+<span class="sd">        default</span>
+<span class="sd">    :type template_searchpath: string or list of stings</span>
+<span class="sd">    :param user_defined_macros: a dictionary of macros that will be exposed</span>
+<span class="sd">        in your jinja templates. For example, passing ``dict(foo=&#39;bar&#39;)``</span>
+<span class="sd">        to this argument allows you to ``{{ foo }}`` in all jinja</span>
+<span class="sd">        templates related to this DAG. Note that you can pass any</span>
+<span class="sd">        type of object here.</span>
+<span class="sd">    :type user_defined_macros: dict</span>
+<span class="sd">    :param default_args: A dictionary of default parameters to be used</span>
+<span class="sd">        as constructor keyword parameters when initialising operators.</span>
+<span class="sd">        Note that operators have the same hook, and precede those defined</span>
+<span class="sd">        here, meaning that if your dict contains `&#39;depends_on_past&#39;: True`</span>
+<span class="sd">        here and `&#39;depends_on_past&#39;: False` in the operator&#39;s call</span>
+<span class="sd">        `default_args`, the actual value will be `False`.</span>
+<span class="sd">    :type default_args: dict</span>
+<span class="sd">    :param params: a dictionary of DAG level parameters that are made</span>
+<span class="sd">        accessible in templates, namespaced under `params`. These</span>
+<span class="sd">        params can be overridden at the task level.</span>
+<span class="sd">    :type params: dict</span>
+<span class="sd">    :param concurrency: the number of task instances allowed to run</span>
+<span class="sd">        concurrently</span>
+<span class="sd">    :type concurrency: int</span>
+<span class="sd">    :param max_active_runs: maximum number of active DAG runs, beyond this</span>
+<span class="sd">        number of DAG runs in a running state, the scheduler won&#39;t create</span>
+<span class="sd">        new active DAG runs</span>
+<span class="sd">    :type max_active_runs: int</span>
+<span class="sd">    :param dagrun_timeout: specify how long a DagRun should be up before</span>
+<span class="sd">        timing out / failing, so that new DagRuns can be created</span>
+<span class="sd">    :type dagrun_timeout: datetime.timedelta</span>
+<span class="sd">    :param sla_miss_callback: specify a function to call when reporting SLA</span>
+<span class="sd">        timeouts.</span>
+<span class="sd">    :type sla_miss_callback: types.FunctionType</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">schedule_interval</span><span class="o">=</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">full_filepath</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">template_searchpath</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">user_defined_macros</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">default_args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">concurrency</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;dag_concurrency&#39;</span><span class="p">),</span>
+            <span class="n">max_active_runs</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
+                <span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;max_active_runs_per_dag&#39;</span><span class="p">),</span>
+            <span class="n">dagrun_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">sla_miss_callback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span> <span class="o">=</span> <span class="n">user_defined_macros</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">default_args</span> <span class="o">=</span> <span class="n">default_args</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="n">params</span> <span class="ow">or</span> <span class="p">{}</span>
+
+        <span class="c1"># merging potentially conflicting default_args[&#39;params&#39;] into params</span>
+        <span class="k">if</span> <span class="s1">&#39;params&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_args</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">default_args</span><span class="p">[</span><span class="s1">&#39;params&#39;</span><span class="p">])</span>
+            <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_args</span><span class="p">[</span><span class="s1">&#39;params&#39;</span><span class="p">]</span>
+
+        <span class="n">validate_key</span><span class="p">(</span><span class="n">dag_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="n">start_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
+        <span class="k">if</span> <span class="n">schedule_interval</span> <span class="ow">in</span> <span class="n">cron_presets</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">cron_presets</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">schedule_interval</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">schedule_interval</span> <span class="o">==</span> <span class="s1">&#39;@once&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span> <span class="o">=</span> <span class="n">schedule_interval</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span> <span class="o">=</span> <span class="n">full_filepath</span> <span class="k">if</span> <span class="n">full_filepath</span> <span class="k">else</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">template_searchpath</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+            <span class="n">template_searchpath</span> <span class="o">=</span> <span class="p">[</span><span class="n">template_searchpath</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span> <span class="o">=</span> <span class="n">template_searchpath</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">parent_dag</span> <span class="o">=</span> <span class="bp">None</span>  <span class="c1"># Gets set when DAGs are loaded</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">last_loaded</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">safe_dag_id</span> <span class="o">=</span> <span class="n">dag_id</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;__dot__&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">concurrency</span> <span class="o">=</span> <span class="n">concurrency</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">max_active_runs</span> <span class="o">=</span> <span class="n">max_active_runs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dagrun_timeout</span> <span class="o">=</span> <span class="n">dagrun_timeout</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sla_miss_callback</span> <span class="o">=</span> <span class="n">sla_miss_callback</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;dag_id&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;task_ids&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;parent_dag&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;start_date&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;schedule_interval&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;full_filepath&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;template_searchpath&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;last_loaded&#39;</span><span class="p">,</span>
+        <span class="p">}</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s2">&quot;&lt;DAG: {self.dag_id}&gt;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">==</span> <span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> <span class="ow">and</span>
+            <span class="nb">all</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">get</span><span class [...]
+                <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">__neq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span> <span class="o">==</span> <span class="n">other</span>
+
+    <span class="k">def</span> <span class="nf">__lt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">&lt;</span> <span class="n">other</span><span class="o">.</span><span class="n">dag_id</span>
+
+    <span class="k">def</span> <span class="nf">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">hash_components</span> <span class="o">=</span> <span class="p">[</span><span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)]</span>
+        <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_comps</span><span class="p">:</span>
+            <span class="c1"># task_ids returns a list and lists can&#39;t be hashed</span>
+            <span class="k">if</span> <span class="n">c</span> <span class="o">==</span> <span class="s1">&#39;task_ids&#39;</span><span class="p">:</span>
+                <span class="n">val</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">val</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="nb">hash</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+                <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
+                <span class="n">hash_components</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">val</span><span class="p">))</span>
+        <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="nb">tuple</span><span class="p">(</span><span class="n">hash_components</span><span class="p">))</span>
+
+    <span class="c1"># Context Manager -----------------------------------------------</span>
+
+    <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">global</span> <span class="n">_CONTEXT_MANAGER_DAG</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_old_context_manager_dag</span> <span class="o">=</span> <span class="n">_CONTEXT_MANAGER_DAG</span>
+        <span class="n">_CONTEXT_MANAGER_DAG</span> <span class="o">=</span> <span class="bp">self</span>
+        <span class="k">return</span> <span class="bp">self</span>
+
+    <span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_type</span><span class="p">,</span> <span class="n">_value</span><span class="p">,</span> <span class="n">_tb</span><span class="p">):</span>
+        <span class="k">global</span> <span class="n">_CONTEXT_MANAGER_DAG</span>
+        <span class="n">_CONTEXT_MANAGER_DAG</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_old_context_manager_dag</span>
+
+    <span class="c1"># /Context Manager ----------------------------------------------</span>
+
+    <span class="k">def</span> <span class="nf">date_range</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">num</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()):</span>
+        <span class="k">if</span> <span class="n">num</span><span class="p">:</span>
+            <span class="n">end_date</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">return</span> <span class="n">utils_date_range</span><span class="p">(</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="n">end_date</span><span class="p">,</span>
+            <span class="n">num</span><span class="o">=</span><span class="n">num</span><span class="p">,</span> <span class="n">delta</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">following_schedule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dttm</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+            <span class="n">cron</span> <span class="o">=</span> <span class="n">croniter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">dttm</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">cron</span><span class="o">.</span><span class="n">get_next</span><span class="p">(</span><span class="n">datetime</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">):</span>
+            <span class="k">return</span> <span class="n">dttm</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span>
+
+    <span class="k">def</span> <span class="nf">previous_schedule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dttm</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+            <span class="n">cron</span> <span class="o">=</span> <span class="n">croniter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">dttm</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">cron</span><span class="o">.</span><span class="n">get_prev</span><span class="p">(</span><span class="n">datetime</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">):</span>
+            <span class="k">return</span> <span class="n">dttm</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
+
+    <span class="nd">@tasks.setter</span>
+    <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">val</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span>
+            <span class="s1">&#39;DAG.tasks can not be modified. Use dag.add_task() instead.&#39;</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">active_task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">v</span><span cla [...]
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">active_tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">[</span><span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">adhoc</span><span class="p">]</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">filepath</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        File location of where the dag object is instantiated</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">fn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">DAGS_FOLDER</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="n">fn</span> <span class="o">=</span> <span class="n">fn</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">__file__</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span>< [...]
+        <span class="k">return</span> <span class="n">fn</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">folder</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Folder location of where the dag object is instantiated</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">full_filepath</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">owner</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">([</span><span class="n">t</span><span class="o">.</span><span class="n">owner</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span>< [...]
+
+    <span class="nd">@property</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">concurrency_reached</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean indicating whether the concurrency limit for this DAG</span>
+<span class="sd">        has been reached</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_ids</span><span class="p">),</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">scalar</span><span class="p">()</span> <span class="o">&gt;=</span> <span class="bp">self</span><span class="o">.</span><span class="n">concurrency</span>
+
+    <span class="nd">@property</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">is_paused</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a boolean indicating whether this DAG is paused</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">qry</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s1">&#39;is_paused&#39;</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">latest_execution_date</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the latest date for which at least one task instance exists</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">execution_date</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span><span class="p">))</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_ids</span><span class="p">)</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">scalar</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">execution_date</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">subdags</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a list of the subdag objects associated to this DAG</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># Check SubDag for class but don&#39;t check class directly, see</span>
+        <span class="c1"># https://github.com/airbnb/airflow/issues/1168</span>
+        <span class="n">l</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
+            <span class="k">if</span> <span class="p">(</span>
+                    <span class="n">task</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span> <span class="o">==</span> <span class="s1">&#39;SubDagOperator&#39;</span> <span class="ow">and</span>
+                    <span class="nb">hasattr</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="s1">&#39;subdag&#39;</span><span class="p">)):</span>
+                <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">subdag</span><span class="p">)</span>
+                <span class="n">l</span> <span class="o">+=</span> <span class="n">task</span><span class="o">.</span><span class="n">subdag</span><span class="o">.</span><span class="n">subdags</span>
+        <span class="k">return</span> <span class="n">l</span>
+
+    <span class="k">def</span> <span class="nf">resolve_template_files</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
+            <span class="n">t</span><span class="o">.</span><span class="n">resolve_template_files</span><span class="p">()</span>
+
+<div class="viewcode-block" id="DAG.crawl_for_tasks"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.crawl_for_tasks">[docs]</a>    <span class="k">def</span> <span class="nf">crawl_for_tasks</span><span class="p">(</span><span class="n">objects</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Typically called at the end of a script by passing globals() as a</span>
+<span class="sd">        parameter. This allows to not explicitly add every single task to the</span>
+<span class="sd">        dag explicitly.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DAG.get_template_env"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.get_template_env">[docs]</a>    <span class="k">def</span> <span class="nf">get_template_env</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Returns a jinja2 Environment while taking into account the DAGs</span>
+<span class="sd">        template_searchpath and user_defined_macros</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">searchpath</span> <span class="o">=</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">folder</span><span class="p">]</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span><span class="p">:</span>
+            <span class="n">searchpath</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">template_searchpath</span>
+
+        <span class="n">env</span> <span class="o">=</span> <span class="n">jinja2</span><span class="o">.</span><span class="n">Environment</span><span class="p">(</span>
+            <span class="n">loader</span><span class="o">=</span><span class="n">jinja2</span><span class="o">.</span><span class="n">FileSystemLoader</span><span class="p">(</span><span class="n">searchpath</span><span class="p">),</span>
+            <span class="n">extensions</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;jinja2.ext.do&quot;</span><span class="p">],</span>
+            <span class="n">cache_size</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span><span class="p">:</span>
+            <span class="n">env</span><span class="o">.</span><span class="n">globals</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">env</span></div>
+
+<div class="viewcode-block" id="DAG.set_dependency"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.set_dependency">[docs]</a>    <span class="k">def</span> <span class="nf">set_dependency</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream_task_id</span><span class="p">,</span> <span class="n">downstream_task_id</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Simple utility method to set dependency between two tasks that</span>
+<span class="sd">        already have been added to the DAG using add_task()</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">upstream_task_id</span><span class="p">)</span><span class="o">.</span><span class="n">set_downstream</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">downstream_task_id</span><span class="p">))</span></div>
+
+    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">start_date</span><span class="p">:</span>
+            <span class="n">start_date</span> <span class="o">=</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">today</span><span class="p">()</span><span class="o">-</span><span class="n">timedelta</span><span class="p">(</span><span class="mi">30</span><span class="p">))</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
+            <span class="n">start_date</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">combine</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">min</span><span class="o">.</span><span class="n">time</span><span class="p">())</span>
+        <span class="n">end_date</span> <span class="o">=</span> <span class="n">end_date</span> <span class="ow">or</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;=</span> <span class="n">start_date</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">([</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">]),</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">state</span><span class="p">)</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">tis</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">roots</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">[</span><span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">downstream_list</span><span class="p">]</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">set_dag_runs_state</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">dates</span> <span class="o">=</span> <span class="n">utils_date_range</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">)</span>
+        <span class="n">drs</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter_by</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span cla [...]
+        <span class="k">for</span> <span class="n">dr</span> <span class="ow">in</span> <span class="n">drs</span><span class="p">:</span>
+            <span class="n">dr</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+
+    <span class="k">def</span> <span class="nf">clear</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">only_failed</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">only_running</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">confirm_prompt</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">include_subdags</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">reset_dag_runs</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+            <span class="n">dry_run</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Clears a set of task instances associated with the current dag for</span>
+<span class="sd">        a specified date range.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">include_subdags</span><span class="p">:</span>
+            <span class="c1"># Crafting the right filter for dag_id and task_ids combo</span>
+            <span class="n">conditions</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="k">for</span> <span class="n">dag</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">subdags</span> <span class="o">+</span> <span class="p">[</span><span class="bp">self</span><span class="p">]:</span>
+                <span class="n">conditions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
+                    <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">like</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span> <span class="o">&amp;</span> <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">dag</span><span c [...]
+                <span class="p">)</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">or_</span><span class="p">(</span><span class="o">*</span><span class="n">conditions</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span clas [...]
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_ids</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">start_date</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&gt;=</span> <span class="n">start_date</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">end_date</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">end_date</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">only_failed</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">only_running</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">dry_run</span><span class="p">:</span>
+            <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">expunge_all</span><span class="p">()</span>
+            <span class="k">return</span> <span class="n">tis</span>
+
+        <span class="n">count</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="n">do_it</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="k">if</span> <span class="n">count</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span class="s2">&quot;Nothing to clear.&quot;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="mi">0</span>
+        <span class="k">if</span> <span class="n">confirm_prompt</span><span class="p">:</span>
+            <span class="n">ti_list</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">])</span>
+            <span class="n">question</span> <span class="o">=</span> <span class="p">(</span>
+                <span class="s2">&quot;You are about to delete these {count} tasks:</span><span class="se">\n</span><span class="s2">&quot;</span>
+                <span class="s2">&quot;{ti_list}</span><span class="se">\n\n</span><span class="s2">&quot;</span>
+                <span class="s2">&quot;Are you sure? (yes/no): &quot;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+            <span class="n">do_it</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">helpers</span><span class="o">.</span><span class="n">ask_yesno</span><span class="p">(</span><span class="n">question</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">do_it</span><span class="p">:</span>
+            <span class="n">clear_task_instances</span><span class="p">(</span><span class="n">tis</span><span class="p">,</span> <span class="n">session</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">reset_dag_runs</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">set_dag_runs_state</span><span class="p">(</span><span class="n">start_date</span><span class="p">,</span> <span class="n">end_date</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">print</span><span class="p">(</span><span class="s2">&quot;Bail. Nothing was cleared.&quot;</span><span class="p">)</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">count</span>
+
+    <span class="k">def</span> <span class="nf">__deepcopy__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
+        <span class="c1"># Swiwtcharoo to go around deepcopying objects coming through the</span>
+        <span class="c1"># backdoor</span>
+        <span class="n">cls</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="n">cls</span><span class="o">.</span><span class="n">__new__</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span>
+        <span class="n">memo</span><span class="p">[</span><span class="nb">id</span><span class="p">(</span><span class="bp">self</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dict__</span><span class="o">.</span><span class="n">items</span><span class="p">()):</span>
+            <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;user_defined_macros&#39;</span><span class="p">,</span> <span class="s1">&#39;params&#39;</span><span class="p">):</span>
+                <span class="nb">setattr</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">memo</span><span class="p">))</span>
+
+        <span class="n">result</span><span class="o">.</span><span class="n">user_defined_macros</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">user_defined_macros</span>
+        <span class="n">result</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span>
+        <span class="k">return</span> <span class="n">result</span>
+
+<div class="viewcode-block" id="DAG.sub_dag"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.sub_dag">[docs]</a>    <span class="k">def</span> <span class="nf">sub_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_regex</span><span class="p">,</span> <span class="n">include_downstream</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                <span class="n">include_upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a subset of the current dag as a deep copy of the current dag</span>
+<span class="sd">        based on a regex that should match one or many tasks, and includes</span>
+<span class="sd">        upstream and downstream neighbours based on the flag passed.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">dag</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+
+        <span class="n">regex_match</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span> <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="n">task_regex</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">task_id</span><span class="p">)]</span>
+        <span class="n">also_include</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">regex_match</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">include_downstream</span><span class="p">:</span>
+                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">include_upstream</span><span class="p">:</span>
+                <span class="n">also_include</span> <span class="o">+=</span> <span class="n">t</span><span class="o">.</span><span class="n">get_flat_relatives</span><span class="p">(</span><span class="n">upstream</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+
+        <span class="c1"># Compiling the unique list of tasks that made the cut</span>
+        <span class="n">dag</span><span class="o">.</span><span class="n">task_dict</span> <span class="o">=</span> <span class="p">{</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span><span class="p">:</span> <span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">regex_match</span> <span class="o">+</span> <span class="n">also_include</span><span class="p">}</span>
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
+            <span class="c1"># Removing upstream/downstream references to tasks that did not</span>
+            <span class="c1"># made the cut</span>
+            <span class="n">t</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="n">tid</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">t</span><span class="o">.</span><span class="n">_upstream_task_ids</span> <span class="k">if</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">]</span>
+            <span class="n">t</span><span class="o">.</span><span class="n">_downstream_task_ids</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="n">tid</span> <span class="k">for</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">t</span><span class="o">.</span><span class="n">_downstream_task_ids</span> <span class="k">if</span> <span class="n">tid</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">task_ids</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">dag</span></div>
+
+    <span class="k">def</span> <span class="nf">has_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">task_id</span> <span class="ow">in</span> <span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">task_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">[</span><span class="n">task_id</span><span class="p">]</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task {task_id} not found&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">pickle_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+            <span class="n">pickled</span> <span class="o">=</span> <span class="n">pickle</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;pickle_len&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">pickled</span><span class="p">)</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;pickling_duration&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">dttm</span><span class="p">)</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;is_picklable&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="n">d</span><span class="p">[</span><span class="s1">&#39;stacktrace&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">d</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">pickle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+            <span class="n">DagModel</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DagModel</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="n">dp</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">if</span> <span class="n">dag</span> <span class="ow">and</span> <span class="n">dag</span><span class="o">.</span><span class="n">pickle_id</span><span class="p">:</span>
+            <span class="n">dp</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DagPickle</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+                <span class="n">DagPickle</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="n">dag</span><span class="o">.</span><span class="n">pickle_id</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">dp</span> <span class="ow">or</span> <span class="n">dp</span><span class="o">.</span><span class="n">pickle</span> <span class="o">!=</span> <span class="bp">self</span><span class="p">:</span>
+            <span class="n">dp</span> <span class="o">=</span> <span class="n">DagPickle</span><span class="p">(</span><span class="n">dag</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">dp</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">last_pickled</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">pickle_id</span> <span class="o">=</span> <span class="n">dp</span><span class="o">.</span><span class="n">id</span>
+
+        <span class="k">return</span> <span class="n">dp</span>
+
+<div class="viewcode-block" id="DAG.tree_view"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.tree_view">[docs]</a>    <span class="k">def</span> <span class="nf">tree_view</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Shows an ascii tree representation of the DAG</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">def</span> <span class="nf">get_downstream</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="n">level</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
+            <span class="k">print</span><span class="p">((</span><span class="s2">&quot; &quot;</span> <span class="o">*</span> <span class="n">level</span> <span class="o">*</span> <span class="mi">4</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="p">))</span>
+            <span class="n">level</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">task</span><span class="o">.</span><span class="n">upstream_list</span><span class="p">:</span>
+                <span class="n">get_downstream</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">level</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">roots</span><span class="p">:</span>
+            <span class="n">get_downstream</span><span class="p">(</span><span class="n">t</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DAG.add_task"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.add_task">[docs]</a>    <span class="k">def</span> <span class="nf">add_task</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Add a task to the DAG</span>
+
+<span class="sd">        :param task: the task you want to add</span>
+<span class="sd">        :type task: task</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Task is missing the start_date parameter&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">task</span><span class="o">.</span><span class="n">start_date</span><span class="p">:</span>
+            <span class="n">task</span><span class="o">.</span><span class="n">start_date</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span>
+
+        <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">:</span>
+            <span class="c1">#TODO raise an error in Airflow 2.0</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                <span class="s1">&#39;The requested task could not be added to the DAG because a &#39;</span>
+                <span class="s1">&#39;task with task_id {} is already in the DAG. Starting in &#39;</span>
+                <span class="s1">&#39;Airflow 2.0, trying to overwrite a task will raise an &#39;</span>
+                <span class="s1">&#39;exception.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
+                <span class="n">category</span><span class="o">=</span><span class="ne">PendingDeprecationWarning</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="p">[</span><span class="n">task</span><span class="o">.</span><span class="n">task_id</span><span class="p">]</span> <span class="o">=</span> <span class="n">task</span>
+            <span class="n">task</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tasks</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="DAG.add_tasks"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.add_tasks">[docs]</a>    <span class="k">def</span> <span class="nf">add_tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tasks</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Add a list of tasks to the DAG</span>
+
+<span class="sd">        :param task: a lit of tasks you want to add</span>
+<span class="sd">        :type task: list of tasks</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">tasks</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">add_task</span><span class="p">(</span><span class="n">task</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">db_merge</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">BO</span> <span class="o">=</span> <span class="n">BaseOperator</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">tasks</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">BO</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">BO</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class= [...]
+        <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">tasks</span><span class="p">:</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+<div class="viewcode-block" id="DAG.run"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">include_adhoc</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">local</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">executor</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">donot_pickle</span><span class="o">=</span><span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;donot_pickle&#39;</span><span class="p">),</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Runs the DAG.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="kn">from</span> <span class="nn">airflow.jobs</span> <span class="kn">import</span> <span class="n">BackfillJob</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">executor</span> <span class="ow">and</span> <span class="n">local</span><span class="p">:</span>
+            <span class="n">executor</span> <span class="o">=</span> <span class="n">LocalExecutor</span><span class="p">()</span>
+        <span class="k">elif</span> <span class="ow">not</span> <span class="n">executor</span><span class="p">:</span>
+            <span class="n">executor</span> <span class="o">=</span> <span class="n">DEFAULT_EXECUTOR</span>
+        <span class="n">job</span> <span class="o">=</span> <span class="n">BackfillJob</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="n">start_date</span><span class="p">,</span>
+            <span class="n">end_date</span><span class="o">=</span><span class="n">end_date</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="n">mark_success</span><span class="p">,</span>
+            <span class="n">include_adhoc</span><span class="o">=</span><span class="n">include_adhoc</span><span class="p">,</span>
+            <span class="n">executor</span><span class="o">=</span><span class="n">executor</span><span class="p">,</span>
+            <span class="n">donot_pickle</span><span class="o">=</span><span class="n">donot_pickle</span><span class="p">,</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="n">ignore_dependencies</span><span class="p">,</span>
+            <span class="n">ignore_first_depends_on_past</span><span class="o">=</span><span class="n">ignore_first_depends_on_past</span><span class="p">,</span>
+            <span class="n">pool</span><span class="o">=</span><span class="n">pool</span><span class="p">)</span>
+        <span class="n">job</span><span class="o">.</span><span class="n">run</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DAG.cli"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.cli">[docs]</a>    <span class="k">def</span> <span class="nf">cli</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Exposes a CLI specific to this DAG</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="kn">from</span> <span class="nn">airflow.bin</span> <span class="kn">import</span> <span class="n">cli</span>
+        <span class="n">parser</span> <span class="o">=</span> <span class="n">cli</span><span class="o">.</span><span class="n">CLIFactory</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">dag_parser</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
+        <span class="n">args</span><span class="o">.</span><span class="n">func</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span></div>
+
+    <span class="nd">@provide_session</span>
+<div class="viewcode-block" id="DAG.create_dagrun"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.create_dagrun">[docs]</a>    <span class="k">def</span> <span class="nf">create_dagrun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                      <span class="n">run_id</span><span class="p">,</span>
+                      <span class="n">execution_date</span><span class="p">,</span>
+                      <span class="n">state</span><span class="p">,</span>
+                      <span class="n">start_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                      <span class="n">external_trigger</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+                      <span class="n">conf</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                      <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a dag run from this dag including the tasks associated with this dag. Returns the dag</span>
+<span class="sd">        run.</span>
+<span class="sd">        :param run_id: defines the the run id for this dag run</span>
+<span class="sd">        :type run_id: string</span>
+<span class="sd">        :param execution_date: the execution date of this dag run</span>
+<span class="sd">        :type execution_date: datetime</span>
+<span class="sd">        :param state: the state of the dag run</span>
+<span class="sd">        :type state: State</span>
+<span class="sd">        :param start_date: the date this dag run should be evaluated</span>
+<span class="sd">        :type state_date: datetime</span>
+<span class="sd">        :param external_trigger: whether this dag run is externally triggered</span>
+<span class="sd">        :type external_trigger: bool</span>
+<span class="sd">        :param session: database session</span>
+<span class="sd">        :type session: Session</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">run</span> <span class="o">=</span> <span class="n">DagRun</span><span class="p">(</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">run_id</span><span class="o">=</span><span class="n">run_id</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">start_date</span><span class="o">=</span><span class="n">start_date</span><span class="p">,</span>
+            <span class="n">external_trigger</span><span class="o">=</span><span class="n">external_trigger</span><span class="p">,</span>
+            <span class="n">conf</span><span class="o">=</span><span class="n">conf</span><span class="p">,</span>
+            <span class="n">state</span><span class="o">=</span><span class="n">state</span>
+        <span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">run</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+        <span class="n">run</span><span class="o">.</span><span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span>
+
+        <span class="c1"># create the associated taskinstances</span>
+        <span class="c1"># state is None at the moment of creation</span>
+        <span class="n">run</span><span class="o">.</span><span class="n">verify_integrity</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="n">run</span><span class="o">.</span><span class="n">refresh_from_db</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">run</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">Chart</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;chart&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">label</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
+    <span class="n">conn_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">user_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;users.id&#39;</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">chart_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;line&quot;</span><span class="p">)</span>
+    <span class="n">sql_layout</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;series&quot;</span><span class="p">)</span>
+    <span class="n">sql</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;SELECT series, x, y FROM table&quot;</span><span class="p">)</span>
+    <span class="n">y_log_scale</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
+    <span class="n">show_datatable</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
+    <span class="n">show_sql</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">height</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">600</span><span class="p">)</span>
+    <span class="n">default_params</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">5000</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;{}&quot;</span><span class="p">)</span>
+    <span class="n">owner</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
+        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;charts&#39;</span><span class="p">)</span>
+    <span class="n">x_is_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">iteration_no</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+    <span class="n">last_modified</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">label</span>
+
+
+<span class="k">class</span> <span class="nc">KnownEventType</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;known_event_type&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">know_event_type</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">know_event_type</span>
+
+
+<span class="k">class</span> <span class="nc">KnownEvent</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;known_event&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">label</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
+    <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">user_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;users.id&#39;</span><span class="p">),)</span>
+    <span class="n">known_event_type_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">(),</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;known_event_type.id&#39;</span><span class="p">),)</span>
+    <span class="n">reported_by</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
+        <span class="s2">&quot;User&quot;</span><span class="p">,</span> <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
+    <span class="n">event_type</span> <span class="o">=</span> <span class="n">relationship</span><span class="p">(</span>
+        <span class="s2">&quot;KnownEventType&quot;</span><span class="p">,</span>
+        <span class="n">cascade</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+        <span class="n">cascade_backrefs</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">backref</span><span class="o">=</span><span class="s1">&#39;known_events&#39;</span><span class="p">)</span>
+    <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">label</span>
+
+
+<span class="k">class</span> <span class="nc">Variable</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;variable&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">key</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">_val</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="s1">&#39;val&#39;</span><span class="p">,</span> <span class="n">Text</span><span class="p">)</span>
+    <span class="n">is_encrypted</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="c1"># Hiding the value</span>
+        <span class="k">return</span> <span class="s1">&#39;{} : {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_val</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">ENCRYPTION_ON</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Can&#39;t decrypt _val, configuration is missing&quot;</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">decrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_val</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_val</span>
+
+    <span class="k">def</span> <span class="nf">set_val</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="o">=</span> <span class="n">FERNET</span><span class="o">.</span><span class="n">encrypt</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="s1">&#39;utf-8&#39;</span><span class="p">))</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">True</span>
+            <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_val</span> <span class="o">=</span> <span class="n">value</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">is_encrypted</span> <span class="o">=</span> <span class="bp">False</span>
+
+    <span class="nd">@declared_attr</span>
+    <span class="k">def</span> <span class="nf">val</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">synonym</span><span class="p">(</span><span class="s1">&#39;_val&#39;</span><span class="p">,</span>
+                       <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_val</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_val</span><span class="p">))</span>
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">default_var</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</spa [...]
+        <span class="n">obj</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">first< [...]
+        <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">default_var</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">default_var</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Variable {} does not exist&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">))</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">deserialize_json</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">val</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">obj</span><span class="o">.</span><span class="n">val</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">serialize_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+
+        <span class="k">if</span> <span class="n">serialize_json</span><span class="p">:</span>
+            <span class="n">stored_value</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">stored_value</span> <span class="o">=</span> <span class="n">value</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">Variable</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span> <span class="n">val</span><span class="o">=</span><span class="n">stored_value</span><span class="p">))</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
+
+
+<span class="k">class</span> <span class="nc">XCom</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Base class for XCom objects.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;xcom&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">key</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">512</span><span class="p">))</span>
+    <span class="n">value</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">(</span><span class="n">pickler</span><span class="o">=</span><span class="n">dill</span><span class="p">))</span>
+    <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span>
+        <span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+
+    <span class="c1"># source information</span>
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">nullable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="s1">&#39;&lt;XCom &quot;{key}&quot; ({task_id} @ {execution_date})&gt;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">key</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">set</span><span class="p">(</span>
+            <span class="n">cls</span><span class="p">,</span>
+            <span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Store an XCom value.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">expunge_all</span><span class="p">()</span>
+
+        <span class="c1"># remove any duplicate XComs</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">,</span>
+            <span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">cls</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task_id</span><span class="p">,</span>
+            <span class="n">cls</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
+
+        <span class="c1"># insert new XCom</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">XCom</span><span class="p">(</span>
+            <span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">,</span>
+            <span class="n">value</span><span class="o">=</span><span class="n">value</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="n">dag_id</span><span class="p">))</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_one</span><span class="p">(</span>
+            <span class="n">cls</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieve an XCom value, optionally meeting certain criteria</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">filters</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">if</span> <span class="n">key</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">task_id</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">dag_id</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">include_prior_dates</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">execution_date</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
+
+        <span class="n">query</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">filters</span><span class="p">))</span>
+            <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">desc</span><span class="p">(),</span> <span class="n">cls</span><span class="o">.</span><span class="n">timestamp</span><span class="o">.</span><span class="n">desc</span><span class="p">())</span>
+            <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span>
+
+        <span class="n">result</span> <span class="o">=</span> <span class="n">query</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">result</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">result</span><span class="o">.</span><span class="n">value</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_many</span><span class="p">(</span>
+            <span class="n">cls</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">task_ids</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">dag_ids</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">include_prior_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">limit</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
+            <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Retrieve an XCom value, optionally meeting certain criteria</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">filters</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">if</span> <span class="n">key</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">key</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">task_ids</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">task_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">as_tuple</span><span class="p">(</span><span class="n">task_ids</span><span class="p">)))</span>
+        <span class="k">if</span> <span class="n">dag_ids</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">dag_id</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">as_tuple</span><span class="p">(</span><span class="n">dag_ids</span><span class="p">)))</span>
+        <span class="k">if</span> <span class="n">include_prior_dates</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">&lt;=</span> <span class="n">execution_date</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">filters</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
+
+        <span class="n">query</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">cls</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">and_</span><span class="p">(</span><span class="o">*</span><span class="n">filters</span><span class="p">))</span>
+            <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">desc</span><span class="p">(),</span> <span class="n">cls</span><span class="o">.</span><span class="n">timestamp</span><span class="o">.</span><span class="n">desc</span><span class="p">())</span>
+            <span class="o">.</span><span class="n">limit</span><span class="p">(</span><span class="n">limit</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="n">query</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">delete</span><span class="p">(</span><span class="n">cls</span><span class="p">,</span> <span class="n">xcoms</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">xcoms</span><span class="p">,</span> <span class="n">XCom</span><span class="p">):</span>
+            <span class="n">xcoms</span> <span class="o">=</span> <span class="p">[</span><span class="n">xcoms</span><span class="p">]</span>
+        <span class="k">for</span> <span class="n">xcom</span> <span class="ow">in</span> <span class="n">xcoms</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">xcom</span><span class="p">,</span> <span class="n">XCom</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;Expected XCom; received {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                                <span class="n">xcom</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span><span class="p">))</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">xcom</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+
+<span class="k">class</span> <span class="nc">DagRun</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    DagRun describes an instance of a Dag. It can be created</span>
+<span class="sd">    by the scheduler (for regular runs) or by an external trigger</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;dag_run&quot;</span>
+
+    <span class="n">ID_PREFIX</span> <span class="o">=</span> <span class="s1">&#39;scheduled__&#39;</span>
+    <span class="n">ID_FORMAT_PREFIX</span> <span class="o">=</span> <span class="n">ID_PREFIX</span> <span class="o">+</span> <span class="s1">&#39;{0}&#39;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
+    <span class="n">start_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">func</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
+    <span class="n">end_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">state</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">default</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+    <span class="n">run_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">))</span>
+    <span class="n">external_trigger</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">conf</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">PickleType</span><span class="p">)</span>
+
+    <span class="n">dag</span> <span class="o">=</span> <span class="bp">None</span>
+
+    <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;dr_run_id&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">run_id</span><span class="p">,</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">),</span>
+    <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="s1">&#39;&lt;DagRun {dag_id} @ {execution_date}: {run_id}, &#39;</span>
+            <span class="s1">&#39;externally triggered: {external_trigger}&gt;&#39;</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">run_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">run_id</span><span class="p">,</span>
+            <span class="n">external_trigger</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">external_trigger</span><span class="p">)</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="k">def</span> <span class="nf">id_for_date</span><span class="p">(</span><span class="n">klass</span><span class="p">,</span> <span class="n">date</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">ID_FORMAT_PREFIX</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">prefix</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()[:</span><span class="mi">19</span><span class="p">])</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">refresh_from_db</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Reloads the current dagrun from the database</span>
+<span class="sd">        :param session: database session</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">DR</span> <span class="o">=</span> <span class="n">DagRun</span>
+
+        <span class="n">dr</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">DR</span><span class="o">.</span><span class="n">run_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">one</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">dr</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">id</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">dr</span><span class="o">.</span><span class="n">state</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+             <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">external_trigger</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a set of dag runs for the given search criteria.</span>
+<span class="sd">        :param run_id: defines the the run id for this dag run</span>
+<span class="sd">        :type run_id: string</span>
+<span class="sd">        :param execution_date: the execution date</span>
+<span class="sd">        :type execution_date: datetime</span>
+<span class="sd">        :param state: the state of the dag run</span>
+<span class="sd">        :type state: State</span>
+<span class="sd">        :param external_trigger: whether this dag run is externally triggered</span>
+<span class="sd">        :type external_trigger: bool</span>
+<span class="sd">        :param session: database session</span>
+<span class="sd">        :type session: Session</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">DR</span> <span class="o">=</span> <span class="n">DagRun</span>
+
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">run_id</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">run_id</span> <span class="o">==</span> <span class="n">run_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">execution_date</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">execution_date</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">state</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">external_trigger</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">external_trigger</span> <span class="o">==</span> <span class="n">external_trigger</span><span class="p">)</span>
+
+        <span class="n">dr</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">dr</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_task_instances</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the task instances for this dag run</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="n">state</span><span class="p">:</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">state</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+                <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">state</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="c1"># this is required to deal with NULL values</span>
+                <span class="k">if</span> <span class="bp">None</span> <span class="ow">in</span> <span class="n">state</span><span class="p">:</span>
+                    <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">or_</span><span class="p">(</span>
+                        <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">),</span>
+                        <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">is_</span><span class="p">(</span><span class="bp">None</span><span class="p">))</span>
+                    <span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">tis</span> <span class="o">=</span> <span class="n">tis</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="n">state</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="n">tis</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">get_task_instance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the task instance specified by task_id for this dag run</span>
+<span class="sd">        :param task_id: the task id</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+        <span class="n">ti</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="n">task_id</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">one</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">ti</span>
+
+    <span class="k">def</span> <span class="nf">get_dag</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the Dag associated with this DagRun</span>
+<span class="sd">        :param session: database session</span>
+<span class="sd">        :return: DAG</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;The DAG (.dag) for {} needs to be set&quot;</span>
+                                   <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">update_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Determines the overall state of the DagRun based on the state</span>
+<span class="sd">        of its TaskInstances.</span>
+<span class="sd">        :returns State:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dag</span><span class="p">()</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_task_instances</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Updating state for {} considering {} task(s)&quot;</span>
+                     <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">tis</span><span class="p">)))</span>
+
+        <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
+            <span class="n">ti</span><span class="o">.</span><span class="n">task</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+
+        <span class="c1"># pre-calculate</span>
+        <span class="c1"># db is faster</span>
+        <span class="n">start_dttm</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="n">unfinished_tasks</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_task_instances</span><span class="p">(</span>
+            <span class="n">state</span><span class="o">=</span><span class="n">State</span><span class="o">.</span><span class="n">unfinished</span><span class="p">(),</span>
+            <span class="n">session</span><span class="o">=</span><span class="n">session</span>
+        <span class="p">)</span>
+        <span class="n">none_depends_on_past</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">depends_on_past</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
+
+        <span class="c1"># small speed up</span>
+        <span class="k">if</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span> <span class="n">none_depends_on_past</span><span class="p">:</span>
+            <span class="c1"># todo: this can actually get pretty slow: one task costs between 0.01-015s</span>
+            <span class="n">no_dependencies_met</span> <span class="o">=</span> <span class="nb">all</span><span class="p">(</span><span class="ow">not</span> <span class="n">t</span><span class="o">.</span><span class="n">are_dependencies_met</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+                                      <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">unfinished_tasks</span><span class="p">)</span>
+
+        <span class="n">duration</span> <span class="o">=</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">start_dttm</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">*</span> <span class="mi">1000</span>
+        <span class="n">Stats</span><span class="o">.</span><span class="n">timing</span><span class="p">(</span><span class="s2">&quot;dagrun.dependency-check.{}.{}&quot;</span><span class="o">.</span>
+                     <span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span> <span class="n">duration</span><span class="p">)</span>
+
+        <span class="c1"># future: remove the check on adhoc tasks (=active_tasks)</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tis</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">dag</span><span class="o">.</span><span class="n">active_tasks</span><span class="p">):</span>
+            <span class="c1"># if any roots failed, the run failed</span>
+            <span class="n">root_ids</span> <span class="o">=</span> <span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">roots</span><span class="p">]</span>
+            <span class="n">roots</span> <span class="o">=</span> <span class="p">[</span><span class="n">t</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">tis</span> <span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">in</span> <span class="n">root_ids</span><span class="p">]</span>
+
+            <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span>  <span class="n">State</span><span class="o">.</span><span class="n">UPSTREAM_FAILED</span><span class="p">)</span>
+                   <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">roots</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run {} failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
+
+            <span class="c1"># if all roots succeeded, the run succeeded</span>
+            <span class="k">elif</span> <span class="nb">all</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">state</span> <span class="ow">in</span> <span class="p">(</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">,</span> <span class="n">State</span><span class="o">.</span><span class="n">SKIPPED</span><span class="p">)</span>
+                     <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">roots</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Marking run {} successful&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
+
+            <span class="c1"># if *all tasks* are deadlocked, the run failed</span>
+            <span class="k">elif</span> <span class="n">unfinished_tasks</span> <span class="ow">and</span> <span class="n">none_depends_on_past</span> <span class="ow">and</span> <span class="n">no_dependencies_met</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;Deadlock; marking run {} failed&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">FAILED</span>
+
+            <span class="c1"># finally, if the roots aren&#39;t done, the dag is still running</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span>
+
+        <span class="c1"># todo: determine we want to use with_for_update to make sure to lock the run</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">verify_integrity</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Verifies the DagRun by checking for removed tasks or tasks that are not in the</span>
+<span class="sd">        database yet. It will set state to removed or add the task if required.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_dag</span><span class="p">()</span>
+        <span class="n">tis</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_task_instances</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+
+        <span class="c1"># check for removed tasks</span>
+        <span class="n">task_ids</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">for</span> <span class="n">ti</span> <span class="ow">in</span> <span class="n">tis</span><span class="p">:</span>
+            <span class="n">task_ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">dag</span><span class="o">.</span><span class="n">get_task</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">State</span><span class="o">.</span>< [...]
+                <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">REMOVED</span>
+
+        <span class="c1"># check for missing tasks</span>
+        <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">dag</span><span class="o">.</span><span class="n">tasks</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">adhoc</span><span class="p">:</span>
+                <span class="k">continue</span>
+
+            <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">task_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">task_ids</span><span class="p">:</span>
+                <span class="n">ti</span> <span class="o">=</span> <span class="n">TaskInstance</span><span class="p">(</span><span class="n">task</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+                <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+
+
+<span class="k">class</span> <span class="nc">Pool</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;slot_pool&quot;</span>
+
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">pool</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">50</span><span class="p">),</span> <span class="n">unique</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">slots</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
+    <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">used_slots</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the number of slots used at the moment</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">running</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">session</span>
+            <span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TaskInstance</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">pool</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">RUNNING</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">running</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">queued_slots</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the number of slots used at the moment</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">(</span>
+            <span class="n">session</span>
+            <span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TaskInstance</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">pool</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">TaskInstance</span><span class="o">.</span><span class="n">state</span> <span class="o">==</span> <span class="n">State</span><span class="o">.</span><span class="n">QUEUED</span><span class="p">)</span>
+            <span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="p">)</span>
+
+    <span class="nd">@provide_session</span>
+    <span class="k">def</span> <span class="nf">open_slots</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the number of slots open at the moment</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">used_slots</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">used_slots</span><span class="p">(</span><span class="n">session</span><span class="o">=</span><span class="n">session</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">slots</span> <span class="o">-</span> <span class="n">used_slots</span>
+
+
+<span class="k">class</span> <span class="nc">SlaMiss</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Model that stores a history of the SLA that have been missed.</span>
+<span class="sd">    It is used to keep track of SLA failures over time and to avoid double</span>
+<span class="sd">    triggering alert emails.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;sla_miss&quot;</span>
+
+    <span class="n">task_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">dag_id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="n">ID_LEN</span><span class="p">),</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">execution_date</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">email_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+    <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">description</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+    <span class="n">notification_sent</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Boolean</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">str</span><span class="p">((</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()))</span>
+
+
+<span class="k">class</span> <span class="nc">ImportError</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
+    <span class="n">__tablename__</span> <span class="o">=</span> <span class="s2">&quot;import_error&quot;</span>
+    <span class="nb">id</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Integer</span><span class="p">,</span> <span class="n">primary_key</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">timestamp</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">DateTime</span><span class="p">)</span>
+    <span class="n">filename</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="mi">1024</span><span class="p">))</span>
+    <span class="n">stacktrace</span> <span class="o">=</span> <span class="n">Column</span><span class="p">(</span><span class="n">Text</span><span class="p">)</span>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/operators/docker_operator.html b/_modules/airflow/operators/docker_operator.html
new file mode 100644
index 0000000..a1d8fca
--- /dev/null
+++ b/_modules/airflow/operators/docker_operator.html
@@ -0,0 +1,383 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.operators.docker_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.operators.docker_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.operators.docker_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.file</span> <span class="kn">import</span> <span class="n">TemporaryDirectory</span>
+<span class="kn">from</span> <span class="nn">docker</span> <span class="kn">import</span> <span class="n">Client</span><span class="p">,</span> <span class="n">tls</span>
+<span class="kn">import</span> <span class="nn">ast</span>
+
+
+<div class="viewcode-block" id="DockerOperator"><a class="viewcode-back" href="../../../code.html#airflow.operators.docker_operator.DockerOperator">[docs]</a><span class="k">class</span> <span class="nc">DockerOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Execute a command inside a docker container.</span>
+
+<span class="sd">    A temporary directory is created on the host and mounted into a container to allow storing files</span>
+<span class="sd">    that together exceed the default disk size of 10GB in a container. The path to the mounted</span>
+<span class="sd">    directory can be accessed via the environment variable ``AIRFLOW_TMP_DIR``.</span>
+
+<span class="sd">    :param image: Docker image from which to create the container.</span>
+<span class="sd">    :type image: str</span>
+<span class="sd">    :param api_version: Remote API version.</span>
+<span class="sd">    :type api_version: str</span>
+<span class="sd">    :param command: Command to be run in the container.</span>
+<span class="sd">    :type command: str or list</span>
+<span class="sd">    :param cpus: Number of CPUs to assign to the container.</span>
+<span class="sd">        This value gets multiplied with 1024. See</span>
+<span class="sd">        https://docs.docker.com/engine/reference/run/#cpu-share-constraint</span>
+<span class="sd">    :type cpus: float</span>
+<span class="sd">    :param docker_url: URL of the host running the docker daemon.</span>
+<span class="sd">    :type docker_url: str</span>
+<span class="sd">    :param environment: Environment variables to set in the container.</span>
+<span class="sd">    :type environment: dict</span>
+<span class="sd">    :param force_pull: Pull the docker image on every run.</span>
+<span class="sd">    :type force_pull: bool</span>
+<span class="sd">    :param mem_limit: Maximum amount of memory the container can use. Either a float value, which</span>
+<span class="sd">        represents the limit in bytes, or a string like ``128m`` or ``1g``.</span>
+<span class="sd">    :type mem_limit: float or str</span>
+<span class="sd">    :param network_mode: Network mode for the container.</span>
+<span class="sd">    :type network_mode: str</span>
+<span class="sd">    :param tls_ca_cert: Path to a PEM-encoded certificate authority to secure the docker connection.</span>
+<span class="sd">    :type tls_ca_cert: str</span>
+<span class="sd">    :param tls_client_cert: Path to the PEM-encoded certificate used to authenticate docker client.</span>
+<span class="sd">    :type tls_client_cert: str</span>
+<span class="sd">    :param tls_client_key: Path to the PEM-encoded key used to authenticate docker client.</span>
+<span class="sd">    :type tls_client_key: str</span>
+<span class="sd">    :param tls_hostname: Hostname to match against the docker server certificate or False to</span>
+<span class="sd">        disable the check.</span>
+<span class="sd">    :type tls_hostname: str or bool</span>
+<span class="sd">    :param tls_ssl_version: Version of SSL to use when communicating with docker daemon.</span>
+<span class="sd">    :type tls_ssl_version: str</span>
+<span class="sd">    :param tmp_dir: Mount point inside the container to a temporary directory created on the host by</span>
+<span class="sd">        the operator. The path is also made available via the environment variable</span>
+<span class="sd">        ``AIRFLOW_TMP_DIR`` inside the container.</span>
+<span class="sd">    :type tmp_dir: str</span>
+<span class="sd">    :param user: Default user inside the docker container.</span>
+<span class="sd">    :type user: int or str</span>
+<span class="sd">    :param volumes: List of volumes to mount into the container, e.g.</span>
+<span class="sd">        ``[&#39;/host/path:/container/path&#39;, &#39;/host/path2:/container/path2:ro&#39;]``.</span>
+<span class="sd">    :param xcom_push: Does the stdout will be pushed to the next step using XCom.</span>
+<span class="sd">           The default is False.</span>
+<span class="sd">    :type xcom_push: bool</span>
+<span class="sd">    :param xcom_all: Push all the stdout or just the last line. The default is False (last line).</span>
+<span class="sd">    :type xcom_all: bool</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;command&#39;</span><span class="p">,)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sh&#39;</span><span class="p">,</span> <span class="s1">&#39;.bash&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">image</span><span class="p">,</span>
+            <span class="n">api_version</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">command</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">cpus</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span>
+            <span class="n">docker_url</span><span class="o">=</span><span class="s1">&#39;unix://var/run/docker.sock&#39;</span><span class="p">,</span>
+            <span class="n">environment</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">force_pull</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">mem_limit</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">network_mode</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tls_ca_cert</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tls_client_cert</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tls_client_key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tls_hostname</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tls_ssl_version</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">tmp_dir</span><span class="o">=</span><span class="s1">&#39;/tmp/airflow&#39;</span><span class="p">,</span>
+            <span class="n">user</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">volumes</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">xcom_push</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">xcom_all</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+
+        <span class="nb">super</span><span class="p">(</span><span class="n">DockerOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">command</span> <span class="o">=</span> <span class="n">command</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cpus</span> <span class="o">=</span> <span class="n">cpus</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">docker_url</span> <span class="o">=</span> <span class="n">docker_url</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">environment</span> <span class="o">=</span> <span class="n">environment</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">force_pull</span> <span class="o">=</span> <span class="n">force_pull</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">image</span> <span class="o">=</span> <span class="n">image</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mem_limit</span> <span class="o">=</span> <span class="n">mem_limit</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">network_mode</span> <span class="o">=</span> <span class="n">network_mode</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tls_ca_cert</span> <span class="o">=</span> <span class="n">tls_ca_cert</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tls_client_cert</span> <span class="o">=</span> <span class="n">tls_client_cert</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tls_client_key</span> <span class="o">=</span> <span class="n">tls_client_key</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tls_hostname</span> <span class="o">=</span> <span class="n">tls_hostname</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tls_ssl_version</span> <span class="o">=</span> <span class="n">tls_ssl_version</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">tmp_dir</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">volumes</span> <span class="o">=</span> <span class="n">volumes</span> <span class="ow">or</span> <span class="p">[]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span> <span class="o">=</span> <span class="n">xcom_push</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_all</span> <span class="o">=</span> <span class="n">xcom_all</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">cli</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">container</span> <span class="o">=</span> <span class="bp">None</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Starting docker container from image &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span><span class="p">)</span>
+
+        <span class="n">tls_config</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">tls_ca_cert</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tls_client_cert</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">tls_client_key</span><span class="p">:</span>
+            <span class="n">tls_config</span> <span class="o">=</span> <span class="n">tls</span><span class="o">.</span><span class="n">TLSConfig</span><span class="p">(</span>
+                    <span class="n">ca_cert</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">tls_ca_cert</span><span class="p">,</span>
+                    <span class="n">client_cert</span><span class="o">=</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tls_client_cert</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">tls_client_key</span><span class="p">),</span>
+                    <span class="n">verify</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+                    <span class="n">ssl_version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">tls_ssl_version</span><span class="p">,</span>
+                    <span class="n">assert_hostname</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">tls_hostname</span>
+            <span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">docker_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">docker_url</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;tcp://&#39;</span><span class="p">,</span> <span class="s1">&#39;https://&#39;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">cli</span> <span class="o">=</span> <span class="n">Client</span><span class="p">(</span><span class="n">base_url</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">docker_url</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</spa [...]
+
+        <span class="k">if</span> <span class="s1">&#39;:&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span><span class="p">:</span>
+            <span class="n">image</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span> <span class="o">+</span> <span class="s1">&#39;:latest&#39;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">image</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">image</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">force_pull</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">images</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">image</span><span class="p">))</span> <span class="o">==</span> <span cl [...]
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Pulling docker image &#39;</span> <span class="o">+</span> <span class="n">image</span><span class="p">)</span>
+            <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">pull</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="n">stream</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
+                <span class="n">output</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">output</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]))</span>
+
+        <span class="n">cpu_shares</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cpus</span> <span class="o">*</span> <span class="mi">1024</span><span class="p">))</span>
+
+        <span class="k">with</span> <span class="n">TemporaryDirectory</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;airflowtmp&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">host_tmp_dir</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">environment</span><span class="p">[</span><span class="s1">&#39;AIRFLOW_TMP_DIR&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tmp_dir</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">volumes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;{0}:{1}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host_tmp_dir</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">tmp_dir</span><span class="p">))</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">container</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">create_container</span><span class="p">(</span>
+                    <span class="n">command</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">get_command</span><span class="p">(),</span>
+                    <span class="n">cpu_shares</span><span class="o">=</span><span class="n">cpu_shares</span><span class="p">,</span>
+                    <span class="n">environment</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">environment</span><span class="p">,</span>
+                    <span class="n">host_config</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">create_host_config</span><span class="p">(</span><span class="n">binds</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">volumes</span><span class="p">,</span>
+                                                            <span class="n">network_mode</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">network_mode</span><span class="p">),</span>
+                    <span class="n">image</span><span class="o">=</span><span class="n">image</span><span class="p">,</span>
+                    <span class="n">mem_limit</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mem_limit</span><span class="p">,</span>
+                    <span class="n">user</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">user</span>
+            <span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">start</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">container</span><span class="p">[</span><span class="s1">&#39;Id&#39;</span><span class="p">])</span>
+
+            <span class="n">line</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+            <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">logs</span><span class="p">(</span><span class="n">container</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">container</span><span class="p">[</span><span class="s1">&#39;Id&#39;</span><span class="p">],</span> <span class="n">str [...]
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;{}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
+
+            <span class="n">exit_code</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">container</span><span class="p">[</span><span class="s1">&#39;Id&#39;</span><span class="p">])</span>
+            <span class="k">if</span> <span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;docker container failed&#39;</span><span class="p">)</span>
+
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">logs</span><span class="p">(</span><span class="n">container</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">container</span><span class="p">[</span><span class="s1">&#39;Id&#39;</span><span class="p">])</span> <span class="k">if</span> <span class="bp">self</span><span class=" [...]
+
+    <span class="k">def</span> <span class="nf">get_command</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">command</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s1">&#39;[&#39;< [...]
+            <span class="n">commands</span> <span class="o">=</span> <span class="n">ast</span><span class="o">.</span><span class="n">literal_eval</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">command</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">commands</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">command</span>
+        <span class="k">return</span> <span class="n">commands</span>
+
+    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cli</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Stopping docker container&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cli</span><span class="o">.</span><span class="n">stop</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">container</span><span class="p">[</span><span class="s1">&#39;Id&#39;</span><span class="p">])</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
new file mode 100644
index 0000000..b48da21
--- /dev/null
+++ b/_modules/airflow/operators/sensors.html
@@ -0,0 +1,721 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.operators.sensors &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>airflow.operators.sensors</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.operators.sensors</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">DB</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+
+<div class="viewcode-block" id="BaseSensorOperator"><a class="viewcode-back" href="../../../code.html#airflow.operators.sensors.BaseSensorOperator">[docs]</a><span class="k">class</span> <span class="nc">BaseSensorOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Sensor operators are derived from this class an inherit these attributes.</span>
+
+<span class="sd">    Sensor operators keep executing at a time interval and succeed when</span>
+<span class="sd">        a criteria is met and fail if and when they time out.</span>
+
+<span class="sd">    :param soft_fail: Set to true to mark the task as SKIPPED on failure</span>
+<span class="sd">    :type soft_fail: bool</span>
+<span class="sd">    :param poke_interval: Time in seconds that the job should wait in</span>
+<span class="sd">        between each tries</span>
+<span class="sd">    :type poke_interval: int</span>
+<span class="sd">    :param timeout: Time, in seconds before the task times out and fails.</span>
+<span class="sd">    :type timeout: int</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e6f1f2&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="p">,</span>
+            <span class="n">timeout</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">60</span><span class="o">*</span><span class="mi">24</span><span class="o">*</span><span class="mi">7</span><span class="p">,</span>
+            <span class="n">soft_fail</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span> <span class="o">=</span> <span class="n">poke_interval</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">soft_fail</span> <span class="o">=</span> <span class="n">soft_fail</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Function that the sensors defined while deriving this class should</span>
+<span class="sd">        override.</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Override me.&#39;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">started_at</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">):</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span><span class="p">)</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">started_at</span><span class="p">)</span><span class="o">.</span><span class="n">seconds</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">soft_fail</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowSkipException</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowSensorTimeout</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Success criteria met. Exiting.&quot;</span><span class="p">)</span></div>
+
+
+<span class="k">class</span> <span class="nc">SqlSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Runs a sql statement until a criteria is met. It will keep trying until</span>
+<span class="sd">    sql returns no row, or if the first cell in (0, &#39;0&#39;, &#39;&#39;).</span>
+
+<span class="sd">    :param conn_id: The connection to run the sensor against</span>
+<span class="sd">    :type conn_id: string</span>
+<span class="sd">    :param sql: The sql to run. To pass, it needs to return at least one cell</span>
+<span class="sd">        that contains a non-zero / empty string value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;sql&#39;</span><span class="p">,)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.hql&#39;</span><span class="p">,</span> <span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">conn_id</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">BaseHook</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
+
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
+        <span class="n">records</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_records</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">records</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;0&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">,):</span>
+                <span class="k">return</span> <span class="bp">False</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">True</span>
+            <span class="k">print</span><span class="p">(</span><span class="n">records</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
+
+
+<span class="k">class</span> <span class="nc">MetastorePartitionSensor</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    An alternative to the HivePartitionSensor that talk directly to the</span>
+<span class="sd">    MySQL db. This was created as a result of observing sub optimal</span>
+<span class="sd">    queries generated by the Metastore thrift service when hitting</span>
+<span class="sd">    subpartitioned tables. The Thrift service&#39;s queries were written in a</span>
+<span class="sd">    way that wouldn&#39;t leverage the indexes.</span>
+
+<span class="sd">    :param schema: the schema</span>
+<span class="sd">    :type schema: str</span>
+<span class="sd">    :param table: the table</span>
+<span class="sd">    :type table: str</span>
+<span class="sd">    :param partition_name: the partition name, as defined in the PARTITIONS</span>
+<span class="sd">        table of the Metastore. Order of the fields does matter.</span>
+<span class="sd">        Examples: ``ds=2016-01-01`` or</span>
+<span class="sd">        ``ds=2016-01-01/sub=foo`` for a sub partitioned table</span>
+<span class="sd">    :type partition_name: str</span>
+<span class="sd">    :param mysql_conn_id: a reference to the MySQL conn_id for the metastore</span>
+<span class="sd">    :type mysql_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_name&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition_name</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s2">&quot;default&quot;</span><span class="p">,</span>
+            <span class="n">mysql_conn_id</span><span class="o">=</span><span class="s2">&quot;metastore_mysql&quot;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">partition_name</span> <span class="o">=</span> <span class="n">partition_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="n">table</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">=</span> <span class="n">mysql_conn_id</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SqlSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">first_poke</span> <span class="o">=</span> <span class="bp">False</span>
+            <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            SELECT &#39;X&#39;</span>
+<span class="s2">            FROM PARTITIONS A0</span>
+<span class="s2">            LEFT OUTER JOIN TBLS B0 ON A0.TBL_ID = B0.TBL_ID</span>
+<span class="s2">            LEFT OUTER JOIN DBS C0 ON B0.DB_ID = C0.DB_ID</span>
+<span class="s2">            WHERE</span>
+<span class="s2">                B0.TBL_NAME = &#39;{self.table}&#39; AND</span>
+<span class="s2">                C0.NAME = &#39;{self.schema}&#39; AND</span>
+<span class="s2">                A0.PART_NAME = &#39;{self.partition_name}&#39;;</span>
+<span class="s2">            &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+        <span class="k">return</span> <span class="nb">super</span><span class="p">(</span><span class="n">MetastorePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">ExternalTaskSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a task to complete in a different DAG</span>
+
+<span class="sd">    :param external_dag_id: The dag_id that contains the task you want to</span>
+<span class="sd">        wait for</span>
+<span class="sd">    :type external_dag_id: string</span>
+<span class="sd">    :param external_task_id: The task_id that contains the task you want to</span>
+<span class="sd">        wait for</span>
+<span class="sd">    :type external_task_id: string</span>
+<span class="sd">    :param allowed_states: list of allowed states, default is ``[&#39;success&#39;]``</span>
+<span class="sd">    :type allowed_states: list</span>
+<span class="sd">    :param execution_delta: time difference with the previous execution to</span>
+<span class="sd">        look at, the default is the same execution_date as the current task.</span>
+<span class="sd">        For yesterday, use [positive!] datetime.timedelta(days=1)</span>
+<span class="sd">    :type execution_delta: datetime.timedelta</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">external_dag_id</span><span class="p">,</span>
+            <span class="n">external_task_id</span><span class="p">,</span>
+            <span class="n">allowed_states</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">execution_delta</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">ExternalTaskSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span> <span class="o">=</span> <span class="n">allowed_states</span> <span class="ow">or</span> <span class="p">[</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span> <span class="o">=</span> <span class="n">execution_delta</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">external_dag_id</span> <span class="o">=</span> <span class="n">external_dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">external_task_id</span> <span class="o">=</span> <span class="n">external_task_id</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span><span class="p">:</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span>
+
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Poking for &#39;</span>
+            <span class="s1">&#39;{self.external_dag_id}.&#39;</span>
+            <span class="s1">&#39;{self.external_task_id} on &#39;</span>
+            <span class="s1">&#39;{dttm} ... &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">TI</span> <span class="o">=</span> <span class="n">TaskInstance</span>
+
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">count</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">TI</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">external_dag_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">task_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">external_task_id</span><span class="p">,</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">state</span><span class="o">.</span><span class="n">in_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span><span class="p">),</span>
+            <span class="n">TI</span><span class="o">.</span><span class="n">execution_date</span> <span class="o">==</span> <span class="n">dttm</span><span class="p">,</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">count</span>
+
+
+<span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a partition to show up in Hive</span>
+
+<span class="sd">    :param table: The name of the table to wait for, supports the dot</span>
+<span class="sd">        notation (my_database.my_table)</span>
+<span class="sd">    :type table: string</span>
+<span class="sd">    :param partition: The partition clause to wait for. This is passed as</span>
+<span class="sd">        is to the Metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
+<span class="sd">        and apparently supports SQL like notation as in `ds=&#39;2015-01-01&#39;</span>
+<span class="sd">        AND type=&#39;value&#39;` and &gt; &lt; sings as in &quot;ds&gt;=2015-01-01&quot;</span>
+<span class="sd">    :type partition: string</span>
+<span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
+<span class="sd">        connection id</span>
+<span class="sd">    :type metastore_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;schema&#39;</span><span class="p">,</span> <span class="s1">&#39;table&#39;</span><span class="p">,</span> <span class="s1">&#39;partition&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="o">=</span><span class="s2">&quot;ds=&#39;{{ ds }}&#39;&quot;</span><span class="p">,</span>
+            <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">,</span>
+            <span class="n">schema</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">3</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HivePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="n">poke_interval</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">partition</span><span class="p">:</span>
+            <span class="n">partition</span> <span class="o">=</span> <span class="s2">&quot;ds=&#39;{{ ds }}&#39;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="n">table</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">partition</span> <span class="o">=</span> <span class="n">partition</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Poking for table {self.schema}.{self.table}, &#39;</span>
+            <span class="s1">&#39;partition {self.partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+                <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">HdfsSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a file or folder to land in HDFS</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">filepath</span><span class="p">,</span>
+            <span class="n">hdfs_conn_id</span><span class="o">=</span><span class="s1">&#39;hdfs_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HdfsSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">filepath</span> <span class="o">=</span> <span class="n">filepath</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span> <span class="o">=</span> <span class="n">hdfs_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">sb</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;snakebite&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">WARNING</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="n">f</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">sb</span><span class="o">.</span><span class="n">ls</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">])]</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="k">return</span> <span class="bp">True</span>
+
+
+<span class="k">class</span> <span class="nc">WebHdfsSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a file or folder to land in HDFS</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filepath&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">filepath</span><span class="p">,</span>
+            <span class="n">webhdfs_conn_id</span><span class="o">=</span><span class="s1">&#39;webhdfs_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">WebHdfsSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">filepath</span> <span class="o">=</span> <span class="n">filepath</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span> <span class="o">=</span> <span class="n">webhdfs_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">c</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">return</span> <span class="n">c</span><span class="o">.</span><span class="n">check_for_path</span><span class="p">(</span><span class="n">hdfs_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">S3KeySensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a key (a file-like instance on S3) to be present in a S3 bucket.</span>
+<span class="sd">    S3 being a key/value it does not support folders. The path is just a key</span>
+<span class="sd">    a resource.</span>
+
+<span class="sd">    :param bucket_key: The key being waited on. Supports full s3:// style url</span>
+<span class="sd">        or relative path from root level.</span>
+<span class="sd">    :type bucket_key: str</span>
+<span class="sd">    :param bucket_name: Name of the S3 bucket</span>
+<span class="sd">    :type bucket_name: str</span>
+<span class="sd">    :param wildcard_match: whether the bucket_key should be interpreted as a</span>
+<span class="sd">        Unix wildcard pattern</span>
+<span class="sd">    :type wildcard_match: bool</span>
+<span class="sd">    :param s3_conn_id: a reference to the s3 connection</span>
+<span class="sd">    :type s3_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket_key&#39;</span><span class="p">,</span> <span class="s1">&#39;bucket_name&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">bucket_key</span><span class="p">,</span>
+            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">wildcard_match</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">S3KeySensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
+        <span class="c1"># Parse</span>
+        <span class="k">if</span> <span class="n">bucket_name</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">bucket_key</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket_name&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">bucket_name</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span>
+                <span class="k">if</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;/&#39;</span><span class="p">:</span>
+                    <span class="n">bucket_key</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">bucket_key</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">=</span> <span class="n">bucket_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span> <span class="o">=</span> <span class="n">bucket_key</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span> <span class="o">=</span> <span class="n">wildcard_match</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : {full_url}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span><span class="p">,</span>
+                                               <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">S3PrefixSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a prefix to exist. A prefix is the first part of a key,</span>
+<span class="sd">    thus enabling checking of constructs similar to glob airfl* or</span>
+<span class="sd">    SQL LIKE &#39;airfl%&#39;. There is the possibility to precise a delimiter to</span>
+<span class="sd">    indicate the hierarchy or keys, meaning that the match will stop at that</span>
+<span class="sd">    delimiter. Current code accepts sane delimiters, i.e. characters that</span>
+<span class="sd">    are NOT special characters in the Python regex engine.</span>
+
+<span class="sd">    :param bucket_name: Name of the S3 bucket</span>
+<span class="sd">    :type bucket_name: str</span>
+<span class="sd">    :param prefix: The prefix being waited on. Relative path from bucket root level.</span>
+<span class="sd">    :type prefix: str</span>
+<span class="sd">    :param delimiter: The delimiter intended to show hierarchy.</span>
+<span class="sd">        Defaults to &#39;/&#39;.</span>
+<span class="sd">    :type delimiter: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;prefix&#39;</span><span class="p">,</span> <span class="s1">&#39;bucket_name&#39;</span><span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span>
+            <span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;/&#39;</span><span class="p">,</span>
+            <span class="n">s3_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">S3PrefixSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+        <span class="n">db</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DB</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DB</span><span class="o">.</span><span class="n">conn_id</span> <span class="o">==</span> <span class="n">s3_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n [...]
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">db</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_id doesn&#39;t exist in the repository&quot;</span><span class="p">)</span>
+        <span class="c1"># Parse</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">=</span> <span class="n">bucket_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span> <span class="o">=</span> <span class="n">delimiter</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="n">bucket_name</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">prefix</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span> <span class="o">=</span> <span class="n">s3_conn_id</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : {self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
+                     <span class="s1">&#39;in bucket s3://{self.bucket_name}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
+            <span class="n">prefix</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="p">,</span>
+            <span class="n">delimiter</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span><span class="p">,</span>
+            <span class="n">bucket_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">TimeSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits until the specified time of the day.</span>
+
+<span class="sd">    :param target_time: time after which the job succeeds</span>
+<span class="sd">    :type target_time: datetime.time</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">target_time</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">TimeSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">target_time</span> <span class="o">=</span> <span class="n">target_time</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_time</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">target_time</span>
+
+
+<span class="k">class</span> <span class="nc">TimeDeltaSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a timedelta after the task&#39;s execution_date + schedule_interval.</span>
+<span class="sd">    In Airflow, the daily task stamped with ``execution_date``</span>
+<span class="sd">    2016-01-01 can only start running on 2016-01-02. The timedelta here</span>
+<span class="sd">    represents the time after the execution period has closed.</span>
+
+<span class="sd">    :param delta: time length to wait after execution_date before succeeding</span>
+<span class="sd">    :type delta: datetime.timedelta</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">delta</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">TimeDeltaSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delta</span> <span class="o">=</span> <span class="n">delta</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">dag</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;dag&#39;</span><span class="p">]</span>
+        <span class="n">target_dttm</span> <span class="o">=</span> <span class="n">dag</span><span class="o">.</span><span class="n">following_schedule</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">])</span>
+        <span class="n">target_dttm</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">delta</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking if the time ({0}) has come&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_dttm</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">target_dttm</span>
+
+
+<span class="k">class</span> <span class="nc">HttpSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Executes a HTTP get statement and returns False on failure:</span>
+<span class="sd">        404 not found or response_check function returned False</span>
+
+<span class="sd">    :param http_conn_id: The connection to run the sensor against</span>
+<span class="sd">    :type http_conn_id: string</span>
+<span class="sd">    :param endpoint: The relative part of the full url</span>
+<span class="sd">    :type endpoint: string</span>
+<span class="sd">    :param params: The parameters to be added to the GET url</span>
+<span class="sd">    :type params: a dictionary of string key/value pairs</span>
+<span class="sd">    :param headers: The HTTP headers to be added to the GET request</span>
+<span class="sd">    :type headers: a dictionary of string key/value pairs</span>
+<span class="sd">    :param response_check: A check against the &#39;requests&#39; response object.</span>
+<span class="sd">        Returns True for &#39;pass&#39; and False otherwise.</span>
+<span class="sd">    :type response_check: A lambda or defined function.</span>
+<span class="sd">    :param extra_options: Extra options for the &#39;requests&#39; library, see the</span>
+<span class="sd">        &#39;requests&#39; documentation (options to modify timeout, ssl, etc.)</span>
+<span class="sd">    :type extra_options: A dictionary of options, where key is string and value</span>
+<span class="sd">        depends on the option that&#39;s being modified.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">endpoint</span><span class="p">,</span>
+                 <span class="n">http_conn_id</span><span class="o">=</span><span class="s1">&#39;http_default&#39;</span><span class="p">,</span>
+                 <span class="n">params</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">response_check</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">HttpSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span> <span class="o">=</span> <span class="n">endpoint</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">params</span> <span class="o">=</span> <span class="n">params</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="n">headers</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span> <span class="o">=</span> <span class="n">extra_options</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span> <span class="o">=</span> <span class="n">response_check</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HttpHook</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="n">http_conn_id</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span><span class="p">,</span>
+                                     <span class="n">data</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">,</span>
+                                     <span class="n">headers</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">headers</span><span class="p">,</span>
+                                     <span class="n">extra_options</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">:</span>
+                <span class="c1"># run content check on response</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">AirflowException</span> <span class="k">as</span> <span class="n">ae</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ae</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
+                <span class="k">return</span> <span class="bp">False</span>
+
+            <span class="k">raise</span> <span class="n">ae</span>
+
+        <span class="k">return</span> <span class="bp">True</span>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/bash_operator.html b/_modules/bash_operator.html
new file mode 100644
index 0000000..98de858
--- /dev/null
+++ b/_modules/bash_operator.html
@@ -0,0 +1,290 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>bash_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>bash_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for bash_operator</h1><div class="highlight"><pre>
+<span></span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">subprocess</span> <span class="kn">import</span> <span class="n">Popen</span><span class="p">,</span> <span class="n">STDOUT</span><span class="p">,</span> <span class="n">PIPE</span>
+<span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">gettempdir</span><span class="p">,</span> <span class="n">NamedTemporaryFile</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.file</span> <span class="kn">import</span> <span class="n">TemporaryDirectory</span>
+
+
+<div class="viewcode-block" id="BashOperator"><a class="viewcode-back" href="../code.html#airflow.operators.BashOperator">[docs]</a><span class="k">class</span> <span class="nc">BashOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Execute a Bash script, command or set of commands.</span>
+
+<span class="sd">    :param bash_command: The command, set of commands or reference to a</span>
+<span class="sd">        bash script (must be &#39;.sh&#39;) to be executed.</span>
+<span class="sd">    :type bash_command: string</span>
+<span class="sd">    :param env: If env is not None, it must be a mapping that defines the</span>
+<span class="sd">        environment variables for the new process; these are used instead</span>
+<span class="sd">        of inheriting the current process environment, which is the default</span>
+<span class="sd">        behavior. (templated)</span>
+<span class="sd">    :type env: dict</span>
+<span class="sd">    :type output_encoding: output encoding of bash command</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bash_command&#39;</span><span class="p">,</span> <span class="s1">&#39;env&#39;</span><span class="p">)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sh&#39;</span><span class="p">,</span> <span class="s1">&#39;.bash&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0ede4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">bash_command</span><span class="p">,</span>
+            <span class="n">xcom_push</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">env</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">output_encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        If xcom_push is True, the last line written to stdout will also</span>
+<span class="sd">        be pushed to an XCom when the bash command completes.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BashOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">bash_command</span> <span class="o">=</span> <span class="n">bash_command</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">env</span> <span class="o">=</span> <span class="n">env</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push_flag</span> <span class="o">=</span> <span class="n">xcom_push</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">output_encoding</span> <span class="o">=</span> <span class="n">output_encoding</span>
+
+<div class="viewcode-block" id="BashOperator.execute"><a class="viewcode-back" href="../code.html#airflow.operators.BashOperator.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Execute the bash command in a temporary directory</span>
+<span class="sd">        which will be cleaned afterwards</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">bash_command</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">bash_command</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;tmp dir root location: </span><span class="se">\n</span><span class="s2">&quot;</span> <span class="o">+</span> <span class="n">gettempdir</span><span class="p">())</span>
+        <span class="k">with</span> <span class="n">TemporaryDirectory</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;airflowtmp&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">tmp_dir</span><span class="p">:</span>
+            <span class="k">with</span> <span class="n">NamedTemporaryFile</span><span class="p">(</span><span class="nb">dir</span><span class="o">=</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+
+                <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="nb">bytes</span><span class="p">(</span><span class="n">bash_command</span><span class="p">,</span> <span class="s1">&#39;utf_8&#39;</span><span class="p">))</span>
+                <span class="n">f</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
+                <span class="n">fname</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">name</span>
+                <span class="n">script_location</span> <span class="o">=</span> <span class="n">tmp_dir</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">fname</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Temporary script &quot;</span>
+                             <span class="s2">&quot;location :{0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">script_location</span><span class="p">))</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running command: &quot;</span> <span class="o">+</span> <span class="n">bash_command</span><span class="p">)</span>
+                <span class="n">sp</span> <span class="o">=</span> <span class="n">Popen</span><span class="p">(</span>
+                    <span class="p">[</span><span class="s1">&#39;bash&#39;</span><span class="p">,</span> <span class="n">fname</span><span class="p">],</span>
+                    <span class="n">stdout</span><span class="o">=</span><span class="n">PIPE</span><span class="p">,</span> <span class="n">stderr</span><span class="o">=</span><span class="n">STDOUT</span><span class="p">,</span>
+                    <span class="n">cwd</span><span class="o">=</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="n">env</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">)</span>
+
+                <span class="bp">self</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">sp</span>
+
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Output:&quot;</span><span class="p">)</span>
+                <span class="n">line</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+                <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">iter</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">,</span> <span class="n">b</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
+                    <span class="n">line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">output_encoding</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
+                <span class="n">sp</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Command exited with &quot;</span>
+                             <span class="s2">&quot;return code {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">))</span>
+
+                <span class="k">if</span> <span class="n">sp</span><span class="o">.</span><span class="n">returncode</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Bash command failed&quot;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">xcom_push_flag</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">line</span></div>
+
+    <span class="k">def</span> <span class="nf">on_kill</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending SIGTERM signal to bash subprocess&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/cloudant_hook.html b/_modules/cloudant_hook.html
new file mode 100644
index 0000000..4c5bb1f
--- /dev/null
+++ b/_modules/cloudant_hook.html
@@ -0,0 +1,274 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>cloudant_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>cloudant_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for cloudant_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#     http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">import</span> <span class="nn">cloudant</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+
+
+<div class="viewcode-block" id="CloudantHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.CloudantHook">[docs]</a><span class="k">class</span> <span class="nc">CloudantHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Interact with Cloudant.</span>
+
+<span class="sd">    This class is a thin wrapper around the cloudant python library. See the</span>
+<span class="sd">    documentation `here &lt;https://github.com/cloudant-labs/cloudant-python&gt;`_.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cloudant_conn_id</span><span class="o">=</span><span class="s1">&#39;cloudant_default&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">CloudantHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="s1">&#39;cloudant&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span> <span class="o">=</span> <span class="n">cloudant_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">def</span> <span class="nf">_str</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
+            <span class="c1"># cloudant-python doesn&#39;t support unicode.</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="nb">unicode</span><span class="p">):</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">((</span><span class="s1">&#39;cloudant-python does not support unicode. &#39;</span>
+                               <span class="s1">&#39;Encoding </span><span class="si">%s</span><span class="s1"> as ascii using &quot;ignore&quot;.&#39;</span><span class="p">),</span>
+                              <span class="n">s</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">s</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;ascii&#39;</span><span class="p">,</span> <span class="s1">&#39;ignore&#39;</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="n">s</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cloudant_conn_id</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">conn_param</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;host&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">,</span> <span class="s1">&#39;schema&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">conn_param</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;missing connection parameter {0}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn_param</span><span class="p">)</span>
+                <span class="p">)</span>
+
+        <span class="c1"># In the connection form:</span>
+        <span class="c1"># - &#39;host&#39; is renamed to &#39;Account&#39;</span>
+        <span class="c1"># - &#39;login&#39; is renamed &#39;Username (or API Key)&#39;</span>
+        <span class="c1"># - &#39;schema&#39; is renamed to &#39;Database&#39;</span>
+        <span class="c1">#</span>
+        <span class="c1"># So, use the &#39;host&#39; attribute as the account name, and, if login is</span>
+        <span class="c1"># defined, use that as the username.</span>
+        <span class="n">account</span> <span class="o">=</span> <span class="n">cloudant</span><span class="o">.</span><span class="n">Account</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
+
+        <span class="n">username</span> <span class="o">=</span> <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span> <span class="ow">or</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+
+        <span class="n">account</span><span class="o">.</span><span class="n">login</span><span class="p">(</span>
+            <span class="n">username</span><span class="p">,</span>
+            <span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">))</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="n">account</span><span class="o">.</span><span class="n">database</span><span class="p">(</span><span class="n">_str</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span><span class="p">))</span>
+
+<div class="viewcode-block" id="CloudantHook.db"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.CloudantHook.db">[docs]</a>    <span class="k">def</span> <span class="nf">db</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns the Database object for this hook.</span>
+
+<span class="sd">        See the documentation for cloudant-python here</span>
+<span class="sd">        https://github.com/cloudant-labs/cloudant-python.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/dagrun_operator.html b/_modules/dagrun_operator.html
new file mode 100644
index 0000000..66f5cef
--- /dev/null
+++ b/_modules/dagrun_operator.html
@@ -0,0 +1,260 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>dagrun_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>dagrun_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for dagrun_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">DagRun</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">settings</span>
+
+
+<span class="k">class</span> <span class="nc">DagRunOrder</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">payload</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">run_id</span> <span class="o">=</span> <span class="n">run_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">payload</span> <span class="o">=</span> <span class="n">payload</span>
+
+
+<div class="viewcode-block" id="TriggerDagRunOperator"><a class="viewcode-back" href="../code.html#airflow.operators.TriggerDagRunOperator">[docs]</a><span class="k">class</span> <span class="nc">TriggerDagRunOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Triggers a DAG run for a specified ``dag_id`` if a criteria is met</span>
+
+<span class="sd">    :param trigger_dag_id: the dag_id to trigger</span>
+<span class="sd">    :type trigger_dag_id: str</span>
+<span class="sd">    :param python_callable: a reference to a python function that will be</span>
+<span class="sd">        called while passing it the ``context`` object and a placeholder</span>
+<span class="sd">        object ``obj`` for your callable to fill and return if you want</span>
+<span class="sd">        a DagRun created. This ``obj`` object contains a ``run_id`` and</span>
+<span class="sd">        ``payload`` attribute that you can modify in your function.</span>
+<span class="sd">        The ``run_id`` should be a unique identifier for that DAG run, and</span>
+<span class="sd">        the payload has to be a picklable object that will be made available</span>
+<span class="sd">        to your tasks while executing that DAG run. Your function header</span>
+<span class="sd">        should look like ``def foo(context, dag_run_obj):``</span>
+<span class="sd">    :type python_callable: python callable</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#ffefeb&#39;</span>
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">trigger_dag_id</span><span class="p">,</span>
+            <span class="n">python_callable</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">TriggerDagRunOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">python_callable</span> <span class="o">=</span> <span class="n">python_callable</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">trigger_dag_id</span> <span class="o">=</span> <span class="n">trigger_dag_id</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">dro</span> <span class="o">=</span> <span class="n">DagRunOrder</span><span class="p">(</span><span class="n">run_id</span><span class="o">=</span><span class="s1">&#39;trig__&#39;</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">())</span>
+        <span class="n">dro</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">python_callable</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">dro</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">dro</span><span class="p">:</span>
+            <span class="n">session</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">Session</span><span class="p">()</span>
+            <span class="n">dr</span> <span class="o">=</span> <span class="n">DagRun</span><span class="p">(</span>
+                <span class="n">dag_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">trigger_dag_id</span><span class="p">,</span>
+                <span class="n">run_id</span><span class="o">=</span><span class="n">dro</span><span class="o">.</span><span class="n">run_id</span><span class="p">,</span>
+                <span class="n">conf</span><span class="o">=</span><span class="n">dro</span><span class="o">.</span><span class="n">payload</span><span class="p">,</span>
+                <span class="n">external_trigger</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Creating DagRun {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dr</span><span class="p">))</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">dr</span><span class="p">)</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+            <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Criteria not met, moving on&quot;</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/dbapi_hook.html b/_modules/dbapi_hook.html
new file mode 100644
index 0000000..06bbb28
--- /dev/null
+++ b/_modules/dbapi_hook.html
@@ -0,0 +1,426 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>dbapi_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>dbapi_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for dbapi_hook</h1><div class="highlight"><pre>
+<span></span>
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">import</span> <span class="nn">numpy</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+
+
+<div class="viewcode-block" id="DbApiHook"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook">[docs]</a><span class="k">class</span> <span class="nc">DbApiHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Abstract base class for sql hooks.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># Override to provide the connection name.</span>
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="bp">None</span>
+    <span class="c1"># Override to have a default connection id for a particular dbHook</span>
+    <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;default_conn_id&#39;</span>
+    <span class="c1"># Override if this db supports autocommit.</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="c1"># Override with the object that exposes the connect method</span>
+    <span class="n">connector</span> <span class="o">=</span> <span class="bp">None</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;conn_name_attr is not defined&quot;</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
+            <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">,</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">default_conn_name</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">])</span>
+
+<div class="viewcode-block" id="DbApiHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns a connection object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">db</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">))</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connector</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span>
+            <span class="n">host</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">port</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+            <span class="n">username</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+            <span class="n">schema</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">schema</span><span class="p">)</span></div>
+
+
+<div class="viewcode-block" id="DbApiHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Executes the sql and returns a pandas dataframe</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str or list</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="kn">import</span> <span class="nn">pandas.io.sql</span> <span class="kn">as</span> <span class="nn">psql</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">df</span> <span class="o">=</span> <span class="n">psql</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">conn</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">parameters</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">df</span></div>
+
+<div class="viewcode-block" id="DbApiHook.get_records"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Executes the sql and returns a set of records.</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str or list</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cur</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_cursor</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+        <span class="n">rows</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()</span>
+        <span class="n">cur</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">rows</span></div>
+
+<div class="viewcode-block" id="DbApiHook.get_first"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">        Executes the sql and returns the first resulting row.</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str or list</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        &#39;&#39;&#39;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+        <span class="n">rows</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span>
+        <span class="n">cur</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">rows</span></div>
+
+<div class="viewcode-block" id="DbApiHook.run"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">autocommit</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span cl [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Runs a command or a list of commands. Pass a list of sql</span>
+<span class="sd">        statements to the sql parameter to get them to execute</span>
+<span class="sd">        sequentially</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str or list</span>
+<span class="sd">        :param autocommit: What to set the connection&#39;s autocommit setting to</span>
+<span class="sd">            before executing the query.</span>
+<span class="sd">        :type autocommit: bool</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
+<span class="sd">        :type parameters: mapping or iterable</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="p">[</span><span class="n">sql</span><span class="p">]</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">supports_autocommit</span><span class="p">:</span>
+           <span class="bp">self</span><span class="o">.</span><span class="n">set_autocommit</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">)</span>
+
+        <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">sql</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+                <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
+        <span class="n">cur</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
+
+    <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">autocommit</span> <span class="o">=</span> <span class="n">autocommit</span>
+
+<div class="viewcode-block" id="DbApiHook.get_cursor"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.get_cursor">[docs]</a>    <span class="k">def</span> <span class="nf">get_cursor</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a cursor</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DbApiHook.insert_rows"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.insert_rows">[docs]</a>    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="bp">None</span><span clas [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        A generic way to insert a set of tuples into a table,</span>
+<span class="sd">        the whole set of inserts is treated as one transaction</span>
+
+<span class="sd">        :param table: Name of the target table</span>
+<span class="sd">        :type table: str</span>
+<span class="sd">        :param rows: The rows to insert into the table</span>
+<span class="sd">        :type rows: iterable of tuples</span>
+<span class="sd">        :param target_fields: The names of the columns to fill in the table</span>
+<span class="sd">        :type target_fields: iterable of strings</span>
+<span class="sd">        :param commit_every: The maximum number of rows to insert in one</span>
+<span class="sd">            transaction. Set to 0 to insert all rows in one transaction.</span>
+<span class="sd">        :type commit_every: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">target_fields</span><span class="p">:</span>
+            <span class="n">target_fields</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">target_fields</span><span class="p">)</span>
+            <span class="n">target_fields</span> <span class="o">=</span> <span class="s2">&quot;({})&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target_fields</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">target_fields</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">supports_autocommit</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">&#39;SET autocommit = 0&#39;</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
+            <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="n">l</span> <span class="o">=</span> <span class="p">[]</span>
+            <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">row</span><span class="p">:</span>
+                <span class="n">l</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">))</span>
+            <span class="n">values</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="s2">&quot;INSERT INTO {0} {1} VALUES ({2});&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">table</span><span class="p">,</span>
+                <span class="n">target_fields</span><span class="p">,</span>
+                <span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">values</span><span class="p">))</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">commit_every</span> <span class="ow">and</span> <span class="n">i</span> <span class="o">%</span> <span class="n">commit_every</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+                <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Loaded {i} into {table} rows so far&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">commit</span><span class="p">()</span>
+        <span class="n">cur</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Done loading. Loaded a total of {i} rows&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span></div>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_serialize_cell</span><span class="p">(</span><span class="n">cell</span><span class="p">):</span>
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+            <span class="k">return</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;&#39;&#39;&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+        <span class="k">elif</span> <span class="n">cell</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s1">&#39;NULL&#39;</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">numpy</span><span class="o">.</span><span class="n">datetime64</span><span class="p">):</span>
+            <span class="k">return</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+        <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">cell</span><span class="p">,</span> <span class="n">datetime</span><span class="p">):</span>
+            <span class="k">return</span> <span class="s2">&quot;&#39;&quot;</span> <span class="o">+</span> <span class="n">cell</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DbApiHook.bulk_dump"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.bulk_dump">[docs]</a>    <span class="k">def</span> <span class="nf">bulk_dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">tmp_file</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Dumps a database table into a tab-delimited file</span>
+
+<span class="sd">        :param table: The name of the source table</span>
+<span class="sd">        :type table: str</span>
+<span class="sd">        :param tmp_file: The path of the target file</span>
+<span class="sd">        :type tmp_file: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="DbApiHook.bulk_load"><a class="viewcode-back" href="../code.html#airflow.hooks.DbApiHook.bulk_load">[docs]</a>    <span class="k">def</span> <span class="nf">bulk_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">tmp_file</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Loads a tab-delimited file into a database table</span>
+
+<span class="sd">        :param table: The name of the target table</span>
+<span class="sd">        :type table: str</span>
+<span class="sd">        :param tmp_file: The path of the file to load into the table</span>
+<span class="sd">        :type tmp_file: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/druid_hook.html b/_modules/druid_hook.html
new file mode 100644
index 0000000..97bb50f
--- /dev/null
+++ b/_modules/druid_hook.html
@@ -0,0 +1,369 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>druid_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>druid_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for druid_hook</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="kn">from</span> <span class="nn">pydruid.client</span> <span class="kn">import</span> <span class="n">PyDruid</span>
+<span class="kn">import</span> <span class="nn">requests</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
+
+<span class="n">LOAD_CHECK_INTERVAL</span> <span class="o">=</span> <span class="mi">5</span>
+<span class="n">DEFAULT_TARGET_PARTITION_SIZE</span> <span class="o">=</span> <span class="mi">5000000</span>
+
+<span class="k">class</span> <span class="nc">AirflowDruidLoadException</span><span class="p">(</span><span class="n">AirflowException</span><span class="p">):</span>
+    <span class="k">pass</span>
+
+
+<div class="viewcode-block" id="DruidHook"><a class="viewcode-back" href="../code.html#airflow.hooks.DruidHook">[docs]</a><span class="k">class</span> <span class="nc">DruidHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Interact with druid.</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">druid_query_conn_id</span><span class="o">=</span><span class="s1">&#39;druid_query_default&#39;</span><span class="p">,</span>
+            <span class="n">druid_ingest_conn_id</span><span class="o">=</span><span class="s1">&#39;druid_ingest_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">druid_query_conn_id</span> <span class="o">=</span> <span class="n">druid_query_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">druid_ingest_conn_id</span> <span class="o">=</span> <span class="n">druid_ingest_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">header</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;content-type&#39;</span><span class="p">:</span> <span class="s1">&#39;application/json&#39;</span><span class="p">}</span>
+
+<div class="viewcode-block" id="DruidHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.hooks.DruidHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a druid connection object for query</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">druid_query_conn_id</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">PyDruid</span><span class="p">(</span>
+            <span class="s2">&quot;http://{conn.host}:{conn.port}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()),</span>
+            <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">))</span></div>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">ingest_post_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">druid_ingest_conn_id</span><span class="p">)</span>
+        <span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+        <span class="n">port</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span>
+        <span class="n">endpoint</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s2">&quot;http://{host}:{port}/{endpoint}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">get_ingest_status_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">):</span>
+        <span class="n">post_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ingest_post_url</span>
+        <span class="k">return</span> <span class="s2">&quot;{post_url}/{task_id}/status&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+<div class="viewcode-block" id="DruidHook.construct_ingest_query"><a class="viewcode-back" href="../code.html#airflow.hooks.DruidHook.construct_ingest_query">[docs]</a>    <span class="k">def</span> <span class="nf">construct_ingest_query</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span> <span class="n">metric_spec</span><span class="p">,</span>
+            <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Builds an ingest query for an HDFS TSV load.</span>
+
+<span class="sd">        :param datasource: target datasource in druid</span>
+<span class="sd">        :param columns: list of all columns in the TSV, in the right order</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># backward compatibilty for num_shards, but target_partition_size is the default setting</span>
+        <span class="c1"># and overwrites the num_shards</span>
+        <span class="k">if</span> <span class="n">target_partition_size</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">num_shards</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
+                <span class="n">target_partition_size</span> <span class="o">=</span> <span class="n">DEFAULT_TARGET_PARTITION_SIZE</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">num_shards</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
+
+        <span class="n">metric_names</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="n">m</span><span class="p">[</span><span class="s1">&#39;fieldName&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">metric_spec</span> <span class="k">if</span> <span class="n">m</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;count&#39;</span><span class="p">]</span>
+        <span class="n">dimensions</span> <span class="o">=</span> <span class="p">[</span><span class="n">c</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">columns</span> <span class="k">if</span> <span class="n">c</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">metric_names</span> <span class="ow">and</span> <span class="n">c</span> <span class="o">!=</span> <span class="n">ts_dim</span><span class="p"> [...]
+        <span class="n">ingest_query_dict</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;index_hadoop&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;spec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s2">&quot;dataSchema&quot;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s2">&quot;metricsSpec&quot;</span><span class="p">:</span> <span class="n">metric_spec</span><span class="p">,</span>
+                    <span class="s2">&quot;granularitySpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;queryGranularity&quot;</span><span class="p">:</span> <span class="s2">&quot;NONE&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;intervals&quot;</span><span class="p">:</span> <span class="n">intervals</span><span class="p">,</span>
+                        <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;uniform&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;segmentGranularity&quot;</span><span class="p">:</span> <span class="s2">&quot;DAY&quot;</span><span class="p">,</span>
+                    <span class="p">},</span>
+                    <span class="s2">&quot;parser&quot;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;string&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;parseSpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                            <span class="s2">&quot;columns&quot;</span><span class="p">:</span> <span class="n">columns</span><span class="p">,</span>
+                            <span class="s2">&quot;dimensionsSpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                                <span class="s2">&quot;dimensionExclusions&quot;</span><span class="p">:</span> <span class="p">[],</span>
+                                <span class="s2">&quot;dimensions&quot;</span><span class="p">:</span> <span class="n">dimensions</span><span class="p">,</span>  <span class="c1"># list of names</span>
+                                <span class="s2">&quot;spatialDimensions&quot;</span><span class="p">:</span> <span class="p">[]</span>
+                            <span class="p">},</span>
+                            <span class="s2">&quot;timestampSpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                                <span class="s2">&quot;column&quot;</span><span class="p">:</span> <span class="n">ts_dim</span><span class="p">,</span>
+                                <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="s2">&quot;auto&quot;</span>
+                            <span class="p">},</span>
+                            <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="s2">&quot;tsv&quot;</span>
+                        <span class="p">}</span>
+                    <span class="p">},</span>
+                    <span class="s2">&quot;dataSource&quot;</span><span class="p">:</span> <span class="n">datasource</span>
+                <span class="p">},</span>
+                <span class="s2">&quot;tuningConfig&quot;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;hadoop&quot;</span><span class="p">,</span>
+                    <span class="s2">&quot;jobProperties&quot;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;mapreduce.job.user.classpath.first&quot;</span><span class="p">:</span> <span class="s2">&quot;false&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;mapreduce.map.output.compress&quot;</span><span class="p">:</span> <span class="s2">&quot;false&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;mapreduce.output.fileoutputformat.compress&quot;</span><span class="p">:</span> <span class="s2">&quot;false&quot;</span><span class="p">,</span>
+                    <span class="p">},</span>
+                    <span class="s2">&quot;partitionsSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;hashed&quot;</span><span class="p">,</span>
+                        <span class="s2">&quot;targetPartitionSize&quot;</span> <span class="p">:</span> <span class="n">target_partition_size</span><span class="p">,</span>
+                        <span class="s2">&quot;numShards&quot;</span> <span class="p">:</span> <span class="n">num_shards</span><span class="p">,</span>
+                    <span class="p">},</span>
+                <span class="p">},</span>
+                <span class="s2">&quot;ioConfig&quot;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s2">&quot;inputSpec&quot;</span><span class="p">:</span> <span class="p">{</span>
+                        <span class="s2">&quot;paths&quot;</span><span class="p">:</span> <span class="n">static_path</span><span class="p">,</span>
+                        <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;static&quot;</span>
+                    <span class="p">},</span>
+                    <span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;hadoop&quot;</span>
+                <span class="p">}</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+        <span class="k">if</span> <span class="n">hadoop_dependency_coordinates</span><span class="p">:</span>
+            <span class="n">ingest_query_dict</span><span class="p">[</span>
+                <span class="s1">&#39;hadoopDependencyCoordinates&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">hadoop_dependency_coordinates</span>
+
+        <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">ingest_query_dict</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">send_ingest_query</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span> <span class="n">metric_spec</span><span class="p">,</span>
+            <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="n">query</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">construct_ingest_query</span><span class="p">(</span>
+            <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span>
+            <span class="n">metric_spec</span><span class="p">,</span> <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="p">)</span>
+        <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">ingest_post_url</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">header</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">query</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ingest_post_url</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">query</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+        <span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s2">&quot;task&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowDruidLoadException</span><span class="p">(</span>
+                <span class="s2">&quot;[Error]: Ingesting data to druid failed.&quot;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">d</span><span class="p">[</span><span class="s2">&quot;task&quot;</span><span class="p">]</span>
+
+<div class="viewcode-block" id="DruidHook.load_from_hdfs"><a class="viewcode-back" href="../code.html#airflow.hooks.DruidHook.load_from_hdfs">[docs]</a>    <span class="k">def</span> <span class="nf">load_from_hdfs</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span>  <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span>
+            <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">metric_spec</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        load data to druid from hdfs</span>
+<span class="sd">        :params ts_dim: The column name to use as a timestamp</span>
+<span class="sd">        :params metric_spec: A list of dictionaries</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">task_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">send_ingest_query</span><span class="p">(</span>
+            <span class="n">datasource</span><span class="p">,</span> <span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="p">,</span> <span class="n">columns</span><span class="p">,</span> <span class="n">metric_spec</span><span class="p">,</span>
+            <span class="n">intervals</span><span class="p">,</span> <span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="p">)</span>
+        <span class="n">status_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_ingest_status_url</span><span class="p">(</span><span class="n">task_id</span><span class="p">)</span>
+        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+            <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">status_url</span><span class="p">)</span>
+            <span class="n">d</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">d</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;FAILED&#39;</span><span class="p">:</span>
+                <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="n">AirflowDruidLoadException</span><span class="p">(</span>
+                    <span class="s2">&quot;[Error]: Ingesting data to druid failed.&quot;</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">d</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;SUCCESS&#39;</span><span class="p">:</span>
+                <span class="k">break</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">LOAD_CHECK_INTERVAL</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/dummy_operator.html b/_modules/dummy_operator.html
new file mode 100644
index 0000000..25f7c29
--- /dev/null
+++ b/_modules/dummy_operator.html
@@ -0,0 +1,219 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>dummy_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>dummy_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for dummy_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+
+<div class="viewcode-block" id="DummyOperator"><a class="viewcode-back" href="../code.html#airflow.operators.DummyOperator">[docs]</a><span class="k">class</span> <span class="nc">DummyOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Operator that does literally nothing. It can be used to group tasks in a</span>
+<span class="sd">    DAG.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e8f7e4&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DummyOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="k">pass</span></div>
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/email_operator.html b/_modules/email_operator.html
new file mode 100644
index 0000000..7c9eeac
--- /dev/null
+++ b/_modules/email_operator.html
@@ -0,0 +1,240 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>email_operator &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>email_operator</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for email_operator</h1><div class="highlight"><pre>
+<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="kn">import</span> <span class="n">send_email</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+
+
+<div class="viewcode-block" id="EmailOperator"><a class="viewcode-back" href="../code.html#airflow.operators.EmailOperator">[docs]</a><span class="k">class</span> <span class="nc">EmailOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Sends an email.</span>
+
+<span class="sd">    :param to: list of emails to send the email to</span>
+<span class="sd">    :type to: list or string (comma or semicolon delimited)</span>
+<span class="sd">    :param subject: subject line for the email (templated)</span>
+<span class="sd">    :type subject: string</span>
+<span class="sd">    :param html_content: content of the email (templated), html markup</span>
+<span class="sd">        is allowed</span>
+<span class="sd">    :type html_content: string</span>
+<span class="sd">    :param files: file names to attach in email</span>
+<span class="sd">    :type files: list</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;subject&#39;</span><span class="p">,</span> <span class="s1">&#39;html_content&#39;</span><span class="p">)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.html&#39;</span><span class="p">,)</span>
+    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#e6faf9&#39;</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">to</span><span class="p">,</span>
+            <span class="n">subject</span><span class="p">,</span>
+            <span class="n">html_content</span><span class="p">,</span>
+            <span class="n">files</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">EmailOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">to</span> <span class="o">=</span> <span class="n">to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">subject</span> <span class="o">=</span> <span class="n">subject</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span> <span class="o">=</span> <span class="n">html_content</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="n">files</span> <span class="ow">or</span> <span class="p">[]</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">send_email</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">subject</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">html_content</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><s [...]
+</pre></div>
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2014, Maxime Beauchemin, Airbnb.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/ftp_hook.html b/_modules/ftp_hook.html
new file mode 100644
index 0000000..f433866
--- /dev/null
+++ b/_modules/ftp_hook.html
@@ -0,0 +1,427 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>ftp_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Airflow Documentation" href="../index.html"/>
+        <link rel="up" title="Module code" href="index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+                <ul>
+<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Airflow</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="index.html">Module code</a> &raquo;</li>
+      
+    <li>ftp_hook</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for ftp_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">datetime</span>
+<span class="kn">import</span> <span class="nn">ftplib</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">os.path</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+
+
+<span class="k">def</span> <span class="nf">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">facts</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    BACKPORT FROM PYTHON3 FTPLIB</span>
+
+<span class="sd">    List a directory in a standardized format by using MLSD</span>
+<span class="sd">    command (RFC-3659). If path is omitted the current directory</span>
+<span class="sd">    is assumed. &quot;facts&quot; is a list of strings representing the type</span>
+<span class="sd">    of information desired (e.g. [&quot;type&quot;, &quot;size&quot;, &quot;perm&quot;]).</span>
+
+<span class="sd">    Return a generator object yielding a tuple of two elements</span>
+<span class="sd">    for every file found in path.</span>
+<span class="sd">    First element is the file name, the second one is a dictionary</span>
+<span class="sd">    including a variable number of &quot;facts&quot; depending on the server</span>
+<span class="sd">    and whether &quot;facts&quot; argument has been provided.</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+    <span class="n">facts</span> <span class="o">=</span> <span class="n">facts</span> <span class="ow">or</span> <span class="p">[]</span>
+    <span class="k">if</span> <span class="n">facts</span><span class="p">:</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">sendcmd</span><span class="p">(</span><span class="s2">&quot;OPTS MLST &quot;</span> <span class="o">+</span> <span class="s2">&quot;;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">facts</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">path</span><span class="p">:</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;MLSD </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">path</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="s2">&quot;MLSD&quot;</span>
+    <span class="n">lines</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="n">conn</span><span class="o">.</span><span class="n">retrlines</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">lines</span><span class="o">.</span><span class="n">append</span><span class="p">)</span>
+    <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
+        <span class="n">facts_found</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="n">ftplib</span><span class="o">.</span><span class="n">CRLF</span><span class="p">)</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s1">&#39; &#39;</span> [...]
+        <span class="n">entry</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">for</span> <span class="n">fact</span> <span class="ow">in</span> <span class="n">facts_found</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;;&quot;</span><span class="p">):</span>
+            <span class="n">key</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">value</span> <span class="o">=</span> <span class="n">fact</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s2">&quot;=&quot;</span><span class="p">)</span>
+            <span class="n">entry</span><span class="p">[</span><span class="n">key</span><span class="o">.</span><span class="n">lower</span><span class="p">()]</span> <span class="o">=</span> <span class="n">value</span>
+        <span class="k">yield</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">entry</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="FTPHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook">[docs]</a><span class="k">class</span> <span class="nc">FTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with FTP.</span>
+
+<span class="sd">    Errors that may occur throughout but should be handled</span>
+<span class="sd">    downstream.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;ftp_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">None</span>
+
+<div class="viewcode-block" id="FTPHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a FTP connection object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">ftplib</span><span class="o">.</span><span class="n">FTP</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span cl [...]
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="FTPHook.close_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.close_conn">[docs]</a>    <span class="k">def</span> <span class="nf">close_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Closes the connection. An error will occur if the</span>
+<span class="sd">        connection wasnt ever opened.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="FTPHook.describe_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.describe_directory">[docs]</a>    <span class="k">def</span> <span class="nf">describe_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a dictionary of {filename: {attributes}} for all files</span>
+<span class="sd">        on the remote system (where the MLSD command is supported).</span>
+
+<span class="sd">        :param path: full path to the remote directory</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="c1"># only works in Python 3</span>
+            <span class="n">files</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">mlsd</span><span class="p">())</span>
+        <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
+            <span class="n">files</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">files</span></div>
+
+<div class="viewcode-block" id="FTPHook.list_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">nlst</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a list of files on the remote system.</span>
+
+<span class="sd">        :param path: full path to the remote directory to list</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+
+        <span class="n">files</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">nlst</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">files</span></div>
+
+<div class="viewcode-block" id="FTPHook.create_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a directory on the remote system.</span>
+
+<span class="sd">        :param path: full path to the remote directory to create</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">mkd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="FTPHook.delete_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.delete_directory">[docs]</a>    <span class="k">def</span> <span class="nf">delete_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes a directory on the remote system.</span>
+
+<span class="sd">        :param path: full path to the remote directory to delete</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">rmd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="FTPHook.retrieve_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Transfers the remote file to a local location.</span>
+
+<span class="sd">        If local_full_path_or_buffer is a string path, the file will be put</span>
+<span class="sd">        at that location; if it is a file-like buffer, the file will</span>
+<span class="sd">        be written to the buffer but not closed.</span>
+
+<span class="sd">        :param remote_full_path: full path to the remote file</span>
+<span class="sd">        :type remote_full_path: str</span>
+<span class="sd">        :param local_full_path_or_buffer: full path to the local file or a</span>
+<span class="sd">            file-like buffer</span>
+<span class="sd">        :type local_full_path: str or file-like buffer</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+            <span class="n">output_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">output_handle</span> <span class="o">=</span> <span class="n">local_full_path_or_buffer</span>
+
+        <span class="n">remote_path</span><span class="p">,</span> <span class="n">remote_file_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">))</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">retrbinary</span><span class="p">(</span><span class="s1">&#39;RETR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished etrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">remote_full_path</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+            <span class="n">output_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="FTPHook.store_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.store_file">[docs]</a>    <span class="k">def</span> <span class="nf">store_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Transfers a local file to the remote location.</span>
+
+<span class="sd">        If local_full_path_or_buffer is a string path, the file will be read</span>
+<span class="sd">        from that location; if it is a file-like buffer, the file will</span>
+<span class="sd">        be read from the buffer but not closed.</span>
+
+<span class="sd">        :param remote_full_path: full path to the remote file</span>
+<span class="sd">        :type remote_full_path: str</span>
+<span class="sd">        :param local_full_path_or_buffer: full path to the local file or a</span>
+<span class="sd">            file-like buffer</span>
+<span class="sd">        :type local_full_path_or_buffer: str or file-like buffer</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">is_path</span> <span class="o">=</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+            <span class="n">input_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">local_full_path_or_buffer</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">input_handle</span> <span class="o">=</span> <span class="n">local_full_path_or_buffer</span>
+        <span class="n">remote_path</span><span class="p">,</span> <span class="n">remote_file_name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">storbinary</span><span class="p">(</span><span class="s1">&#39;STOR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">input_handle</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
+            <span class="n">input_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="FTPHook.delete_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Removes a file on the FTP Server</span>
+
+<span class="sd">        :param path: full path to the remote file</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">get_mod_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">ftp_mdtm</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">sendcmd</span><span class="p">(</span><span class="s1">&#39;MDTM &#39;</span> <span class="o">+</span> <span class="n">path</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">ftp_mdtm</span><span class="p">[</span><span class="mi">4</span><span class="p">:],</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span></div>
+
+
+<span class="k">class</span> <span class="nc">FTPSHook</span><span class="p">(</span><span class="n">FTPHook</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
... 39563 lines suppressed ...


[airflow-site] 04/30: Updating the disclaimer

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 457b698d9f92af370061d322267d85886e6cbfe4
Author: Maxime Beauchemin <ma...@apache.org>
AuthorDate: Fri Jul 1 14:54:14 2016 -0700

    Updating the disclaimer
---
 .../airflow/contrib/executors/mesos_executor.html  |  16 +-
 .../contrib/operators/bigquery_operator.html       |  16 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |  16 +-
 .../contrib/operators/gcs_download_operator.html   |  37 ++++-
 _modules/airflow/executors/celery_executor.html    |  16 +-
 _modules/airflow/executors/local_executor.html     |  16 +-
 .../airflow/executors/sequential_executor.html     |  16 +-
 _modules/airflow/macros.html                       |  40 ++++-
 _modules/airflow/macros/hive.html                  |  20 ++-
 _modules/airflow/models.html                       | 111 ++++++++++---
 _modules/airflow/operators/docker_operator.html    |  16 +-
 _modules/airflow/operators/sensors.html            | 137 ++++++++++++++--
 _modules/bash_operator.html                        |  16 +-
 _modules/dagrun_operator.html                      |  16 +-
 _modules/dbapi_hook.html                           |  24 ++-
 _modules/druid_hook.html                           |  16 +-
 _modules/dummy_operator.html                       |  16 +-
 _modules/email_operator.html                       |  16 +-
 _modules/ftp_hook.html                             |  22 ++-
 _modules/generic_transfer.html                     |  16 +-
 _modules/hive_hooks.html                           |  82 ++++++++--
 _modules/hive_operator.html                        |  22 ++-
 _modules/hive_to_druid.html                        |  48 ++++--
 _modules/hive_to_mysql.html                        |  21 ++-
 _modules/hive_to_samba_operator.html               |  19 ++-
 _modules/http_hook.html                            |   2 +-
 _modules/http_operator.html                        |  18 ++-
 _modules/mssql_hook.html                           |  25 ++-
 _modules/mssql_operator.html                       |  20 ++-
 _modules/mssql_to_hive.html                        |  19 ++-
 _modules/mysql_hook.html                           |  16 +-
 _modules/mysql_operator.html                       |  20 ++-
 _modules/mysql_to_hive.html                        |  19 ++-
 _modules/postgres_hook.html                        |  16 +-
 _modules/postgres_operator.html                    |  20 ++-
 _modules/presto_check_operator.html                |  18 ++-
 _modules/presto_hook.html                          |  25 ++-
 _modules/python_operator.html                      |  16 +-
 _modules/qubole_operator.html                      |  20 ++-
 _modules/s3_to_hive_operator.html                  |  19 ++-
 _modules/sensors.html                              | 137 ++++++++++++++--
 _modules/slack_operator.html                       |  16 +-
 _modules/sqlite_hook.html                          |  16 +-
 _modules/ssh_execute_operator.html                 |  16 +-
 _modules/vertica_operator.html                     |  20 ++-
 _modules/vertica_to_hive.html                      |  20 ++-
 _modules/webhdfs_hook.html                         |  16 +-
 _sources/code.txt                                  |   9 ++
 _sources/concepts.txt                              |   4 +-
 _sources/faq.txt                                   |  15 +-
 _sources/index.txt                                 |   7 +-
 _sources/tutorial.txt                              |   6 +-
 code.html                                          | 180 ++++++++++++++++++---
 concepts.html                                      |   4 +-
 faq.html                                           |  13 +-
 genindex.html                                      |  23 ++-
 index.html                                         |   8 +-
 objects.inv                                        | Bin 2236 -> 2246 bytes
 searchindex.js                                     |   2 +-
 tutorial.html                                      |   6 +-
 60 files changed, 1363 insertions(+), 219 deletions(-)

diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index 65557d9..e2d8f61 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.executors.mesos_executor</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">logging</span>
diff --git a/_modules/airflow/contrib/operators/bigquery_operator.html b/_modules/airflow/contrib/operators/bigquery_operator.html
index 830fd57..6038f2c 100644
--- a/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.operators.bigquery_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
diff --git a/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
index 465128c..a3b8d18 100644
--- a/_modules/airflow/contrib/operators/bigquery_to_gcs.html
+++ b/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.operators.bigquery_to_gcs</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
diff --git a/_modules/airflow/contrib/operators/gcs_download_operator.html b/_modules/airflow/contrib/operators/gcs_download_operator.html
index 4af6020..dbf56fb 100644
--- a/_modules/airflow/contrib/operators/gcs_download_operator.html
+++ b/_modules/airflow/contrib/operators/gcs_download_operator.html
@@ -137,7 +137,22 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.contrib.operators.gcs_download_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcs_hook</span> <span class="kn">import</span> <span class="n">GoogleCloudStorageHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
@@ -147,7 +162,7 @@
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Downloads a file from Google Cloud Storage.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span><span class="s1">&#39;object&#39;</span><span class="p">,</span><span class="s1">&#39;filename&#39;</span><span class="p">,)</span>
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;bucket&#39;</span><span class="p">,</span><span class="s1">&#39;object&#39;</span><span class="p">,</span><span class="s1">&#39;filename&#39;</span><span class="p">,</span><span class="s1">&#39;store_to_xcom_key&#39;</span><span class="p">,)</span>
     <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.sql&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f0eee4&#39;</span>
 
@@ -156,7 +171,8 @@
         <span class="bp">self</span><span class="p">,</span>
         <span class="n">bucket</span><span class="p">,</span>
         <span class="nb">object</span><span class="p">,</span>
-        <span class="n">filename</span><span class="p">,</span>
+        <span class="n">filename</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+        <span class="n">store_to_xcom_key</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
         <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
         <span class="n">delegate_to</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
         <span class="o">*</span><span class="n">args</span><span class="p">,</span>
@@ -171,7 +187,13 @@
 <span class="sd">        :type object: string</span>
 <span class="sd">        :param filename: The file path on the local file system (where the</span>
 <span class="sd">            operator is being executed) that the file should be downloaded to.</span>
+<span class="sd">            If false, the downloaded data will not be stored on the local file</span>
+<span class="sd">            system.</span>
 <span class="sd">        :type filename: string</span>
+<span class="sd">        :param store_to_xcom_key: If this param is set, the operator will push</span>
+<span class="sd">            the contents of the downloaded file to XCom with the key set in this</span>
+<span class="sd">            parameter. If false, the downloaded data will not be pushed to XCom.</span>
+<span class="sd">        :type store_to_xcom_key: string</span>
 <span class="sd">        :param google_cloud_storage_conn_id: The connection ID to use when</span>
 <span class="sd">            connecting to Google cloud storage.</span>
 <span class="sd">        :type google_cloud_storage_conn_id: string</span>
@@ -183,6 +205,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span> <span class="o">=</span> <span class="n">bucket</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">object</span> <span class="o">=</span> <span class="nb">object</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">filename</span> <span class="o">=</span> <span class="n">filename</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">store_to_xcom_key</span> <span class="o">=</span> <span class="n">store_to_xcom_key</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span> <span class="o">=</span> <span class="n">google_cloud_storage_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
 
@@ -190,7 +213,13 @@
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing download: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class= [...]
         <span class="n">hook</span> <span class="o">=</span> <span class="n">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
                                       <span class="n">delegate_to</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span>
-        <span class="k">print</span><span class="p">(</span><span class="n">hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">object</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">filename</span><span class="p">))</span></div>
+        <span class="n">file_bytes</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">download</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bucket</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">object</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">filename</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">store_to_xcom_key</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">getsizeof</span><span class="p">(</span><span class="n">file_bytes</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">48000</span><span class="p">:</span>
+                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;ti&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">store_to_xcom_key</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">file_bytes</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">&#39;The size of the downloaded file is too large to push to XCom!&#39;</span><span class="p">)</span>
+        <span class="k">print</span><span class="p">(</span><span class="n">file_bytes</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/executors/celery_executor.html b/_modules/airflow/executors/celery_executor.html
index a231e28..9601c12 100644
--- a/_modules/airflow/executors/celery_executor.html
+++ b/_modules/airflow/executors/celery_executor.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.executors.celery_executor</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">object</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">object</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">time</span>
diff --git a/_modules/airflow/executors/local_executor.html b/_modules/airflow/executors/local_executor.html
index 79c456d..1841cb4 100644
--- a/_modules/airflow/executors/local_executor.html
+++ b/_modules/airflow/executors/local_executor.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.executors.local_executor</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">multiprocessing</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">multiprocessing</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">time</span>
 
diff --git a/_modules/airflow/executors/sequential_executor.html b/_modules/airflow/executors/sequential_executor.html
index a393b0f..ce84843 100644
--- a/_modules/airflow/executors/sequential_executor.html
+++ b/_modules/airflow/executors/sequential_executor.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.executors.sequential_executor</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 
 <span class="kn">from</span> <span class="nn">airflow.executors.base_executor</span> <span class="kn">import</span> <span class="n">BaseExecutor</span>
diff --git a/_modules/airflow/macros.html b/_modules/airflow/macros.html
index 6b4e17f..78efd22 100644
--- a/_modules/airflow/macros.html
+++ b/_modules/airflow/macros.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.macros</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span>
 <span class="kn">from</span> <span class="nn">random</span> <span class="kn">import</span> <span class="n">random</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 <span class="kn">import</span> <span class="nn">dateutil</span>
@@ -187,11 +201,29 @@
     <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">input_format</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">output_format</span><span class="p">)</span></div>
 
 
-<div class="viewcode-block" id="integrate_plugins"><a class="viewcode-back" href="../../code.html#airflow.macros.integrate_plugins">[docs]</a><span class="k">def</span> <span class="nf">integrate_plugins</span><span class="p">():</span>
+<span class="k">def</span> <span class="nf">_integrate_plugins</span><span class="p">():</span>
     <span class="sd">&quot;&quot;&quot;Integrate plugins to the context&quot;&quot;&quot;</span>
+    <span class="kn">import</span> <span class="nn">sys</span>
     <span class="kn">from</span> <span class="nn">airflow.plugins_manager</span> <span class="kn">import</span> <span class="n">macros</span> <span class="k">as</span> <span class="n">_macros</span>
-    <span class="k">for</span> <span class="n">_macro</span> <span class="ow">in</span> <span class="n">_macros</span><span class="p">:</span>
-        <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro</span></div>
+    <span class="k">for</span> <span class="n">_macro_module</span> <span class="ow">in</span> <span class="n">_macros</span><span class="p">:</span>
+        <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
+        <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro_module</span><span class="o">.</span><span class="n">_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_macro_module</span>
+
+
+        <span class="c1">##########################################################</span>
+        <span class="c1"># TODO FIXME Remove in Airflow 2.0</span>
+
+        <span class="kn">import</span> <span class="nn">os</span> <span class="kn">as</span> <span class="nn">_os</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">_os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;AIRFLOW_USE_NEW_IMPORTS&#39;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
+            <span class="kn">from</span> <span class="nn">zope.deprecation</span> <span class="kn">import</span> <span class="n">deprecated</span> <span class="k">as</span> <span class="n">_deprecated</span>
+            <span class="k">for</span> <span class="n">_macro</span> <span class="ow">in</span> <span class="n">_macro_module</span><span class="o">.</span><span class="n">_objects</span><span class="p">:</span>
+                <span class="nb">globals</span><span class="p">()[</span><span class="n">_macro</span><span class="o">.</span><span class="n">__name__</span><span class="p">]</span> <span class="o">=</span> <span class="n">_deprecated</span><span class="p">(</span>
+                    <span class="n">_macro</span><span class="p">,</span>
+                    <span class="s2">&quot;Importing plugin macro &#39;{i}&#39; directly from &quot;</span>
+                    <span class="s2">&quot;&#39;airflow.macros&#39; has been deprecated. Please &quot;</span>
+                    <span class="s2">&quot;import from &#39;airflow.macros.[plugin_module]&#39; &quot;</span>
+                    <span class="s2">&quot;instead. Support for direct imports will be dropped &quot;</span>
+                    <span class="s2">&quot;entirely in Airflow 2.0.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="n">_macro</span><span class="p">))</span>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/macros/hive.html b/_modules/airflow/macros/hive.html
index 43cd2a0..92000d3 100644
--- a/_modules/airflow/macros/hive.html
+++ b/_modules/airflow/macros/hive.html
@@ -139,7 +139,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.macros.hive</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">datetime</span>
 
 
 <div class="viewcode-block" id="max_partition"><a class="viewcode-back" href="../../../code.html#airflow.macros.hive.max_partition">[docs]</a><span class="k">def</span> <span class="nf">max_partition</span><span class="p">(</span>
@@ -166,7 +180,7 @@
 <span class="sd">    &gt;&gt;&gt; max_partition(&#39;airflow.static_babynames_partitioned&#39;)</span>
 <span class="sd">    &#39;2015-01-01&#39;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
     <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
         <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
@@ -219,7 +233,7 @@
 <span class="sd">    &gt;&gt;&gt; closest_ds_partition(tbl, &#39;2015-01-02&#39;)</span>
 <span class="sd">    &#39;2015-01-01&#39;</span>
 <span class="sd">    &#39;&#39;&#39;</span>
-    <span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
+    <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveMetastoreHook</span>
     <span class="k">if</span> <span class="s1">&#39;.&#39;</span> <span class="ow">in</span> <span class="n">table</span><span class="p">:</span>
         <span class="n">schema</span><span class="p">,</span> <span class="n">table</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">(</span><span class="n">metastore_conn_id</span><span class="o">=</span><span class="n">metastore_conn_id</span><span class="p">)</span>
diff --git a/_modules/airflow/models.html b/_modules/airflow/models.html
index aba90cd..d4ed8a6 100644
--- a/_modules/airflow/models.html
+++ b/_modules/airflow/models.html
@@ -735,33 +735,43 @@
                        <span class="n">descriptor</span><span class="o">=</span><span class="nb">property</span><span class="p">(</span><span class="n">cls</span><span class="o">.</span><span class="n">get_extra</span><span class="p">,</span> <span class="n">cls</span><span class="o">.</span><span class="n">set_extra</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">get_hook</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span>
-        <span class="kn">from</span> <span class="nn">airflow.contrib</span> <span class="kn">import</span> <span class="n">hooks</span> <span class="k">as</span> <span class="n">contrib_hooks</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mysql&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
+                <span class="k">return</span> <span class="n">MySqlHook</span><span class="p">(</span><span class="n">mysql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;google_cloud_platform&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.bigquery_hook</span> <span class="kn">import</span> <span class="n">BigQueryHook</span>
+                <span class="k">return</span> <span class="n">BigQueryHook</span><span class="p">(</span><span class="n">bigquery_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;postgres&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">PostgresHook</span><span class="p">(</span><span class="n">postgres_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.postgres_hook</span> <span class="kn">import</span> <span class="n">PostgresHook</span>
+                <span class="k">return</span> <span class="n">PostgresHook</span><span class="p">(</span><span class="n">postgres_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hive_cli&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveCliHook</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+                <span class="k">return</span> <span class="n">HiveCliHook</span><span class="p">(</span><span class="n">hive_cli_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;presto&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="kn">import</span> <span class="n">PrestoHook</span>
+                <span class="k">return</span> <span class="n">PrestoHook</span><span class="p">(</span><span class="n">presto_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;hiveserver2&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveServer2Hook</span><span class="p">(</span><span class="n">hiveserver2_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span>
+                <span class="k">return</span> <span class="n">HiveServer2Hook</span><span class="p">(</span><span class="n">hiveserver2_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;sqlite&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">SqliteHook</span><span class="p">(</span><span class="n">sqlite_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.sqlite_hook</span> <span class="kn">import</span> <span class="n">SqliteHook</span>
+                <span class="k">return</span> <span class="n">SqliteHook</span><span class="p">(</span><span class="n">sqlite_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;jdbc&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">JdbcHook</span><span class="p">(</span><span class="n">jdbc_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.jdbc_hook</span> <span class="kn">import</span> <span class="n">JdbcHook</span>
+                <span class="k">return</span> <span class="n">JdbcHook</span><span class="p">(</span><span class="n">jdbc_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;mssql&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">MsSqlHook</span><span class="p">(</span><span class="n">mssql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.mssql_hook</span> <span class="kn">import</span> <span class="n">MsSqlHook</span>
+                <span class="k">return</span> <span class="n">MsSqlHook</span><span class="p">(</span><span class="n">mssql_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;oracle&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">hooks</span><span class="o">.</span><span class="n">OracleHook</span><span class="p">(</span><span class="n">oracle_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.hooks.oracle_hook</span> <span class="kn">import</span> <span class="n">OracleHook</span>
+                <span class="k">return</span> <span class="n">OracleHook</span><span class="p">(</span><span class="n">oracle_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;vertica&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">VerticaHook</span><span class="p">(</span><span class="n">vertica_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
+                <span class="k">return</span> <span class="n">VerticaHook</span><span class="p">(</span><span class="n">vertica_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
             <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_type</span> <span class="o">==</span> <span class="s1">&#39;cloudant&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">contrib_hooks</span><span class="o">.</span><span class="n">CloudantHook</span><span class="p">(</span><span class="n">cloudant_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
+                <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.cloudant_hook</span> <span class="kn">import</span> <span class="n">CloudantHook</span>
+                <span class="k">return</span> <span class="n">CloudantHook</span><span class="p">(</span><span class="n">cloudant_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">conn_id</span><span class="p">)</span>
         <span class="k">except</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">None</span>
 
@@ -844,6 +854,7 @@
 
     <span class="n">__table_args__</span> <span class="o">=</span> <span class="p">(</span>
         <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_dag_state&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
+        <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_state&#39;</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
         <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_state_lkp&#39;</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">execution_date</span><span class="p">,</span> <span class="n">state</span><span class="p">),</span>
         <span class="n">Index</span><span class="p">(</span><span class="s1">&#39;ti_pool&#39;</span><span class="p">,</span> <span class="n">pool</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">priority_weight</span><span class="p">),</span>
     <span class="p">)</span>
@@ -1308,17 +1319,32 @@
 <div class="viewcode-block" id="TaskInstance.run"><a class="viewcode-back" href="../../code.html#airflow.models.TaskInstance.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span>
             <span class="bp">self</span><span class="p">,</span>
             <span class="n">verbose</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
-            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Doesn&#39;t check for deps, just runs</span>
-            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>   <span class="c1"># Ignore depends_on_past but respect</span>
-                                            <span class="c1"># other deps</span>
-            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Disregards previous successes</span>
-            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Don&#39;t run the task, act as if it succeeded</span>
-            <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>  <span class="c1"># Doesn&#39;t record success or failure in the DB</span>
+            <span class="n">ignore_dependencies</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">ignore_depends_on_past</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">force</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">mark_success</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+            <span class="n">test_mode</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
             <span class="n">job_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Runs the task instance.</span>
+
+<span class="sd">        :param verbose: whether to turn on more verbose loggin</span>
+<span class="sd">        :type verbose: boolean</span>
+<span class="sd">        :param ignore_dependencies: Doesn&#39;t check for deps, just runs</span>
+<span class="sd">        :type ignore_dependencies: boolean</span>
+<span class="sd">        :param ignore_depends_on_past: Ignore depends_on_past but respect</span>
+<span class="sd">            other dependencies</span>
+<span class="sd">        :type ignore_depends_on_past: boolean</span>
+<span class="sd">        :param force: Forces a run regarless of previous success</span>
+<span class="sd">        :type force: boolean</span>
+<span class="sd">        :param mark_success: Don&#39;t run the task, mark its state as success</span>
+<span class="sd">        :type mark_success: boolean</span>
+<span class="sd">        :param test_mode: Doesn&#39;t record success or failure in the DB</span>
+<span class="sd">        :type test_mode: boolean</span>
+<span class="sd">        :param pool: specifies the pool to use to run the task instance</span>
+<span class="sd">        :type pool: str</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">task</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">pool</span> <span class="o">=</span> <span class="n">pool</span> <span class="ow">or</span> <span class="n">task</span><span class="o">.</span><span class="n">pool</span>
@@ -1560,6 +1586,24 @@
         <span class="k">if</span> <span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">:</span>
             <span class="n">params</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">params</span><span class="p">)</span>
 
+        <span class="k">class</span> <span class="nc">VariableAccessor</span><span class="p">:</span>
+            <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">            Wrapper around Variable. This way you can get variables in templates by using</span>
+<span class="sd">            {var.variable_name}.</span>
+<span class="sd">            &quot;&quot;&quot;</span>
+            <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+                <span class="k">pass</span>
+
+            <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
+                <span class="k">return</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
+
+        <span class="k">class</span> <span class="nc">VariableJsonAccessor</span><span class="p">:</span>
+            <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+                <span class="k">pass</span>
+
+            <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item</span><span class="p">):</span>
+                <span class="k">return</span> <span class="n">Variable</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">deserialize_json</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+
         <span class="k">return</span> <span class="p">{</span>
             <span class="s1">&#39;dag&#39;</span><span class="p">:</span> <span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="p">,</span>
             <span class="s1">&#39;ds&#39;</span><span class="p">:</span> <span class="n">ds</span><span class="p">,</span>
@@ -1585,6 +1629,10 @@
             <span class="s1">&#39;task_instance_key_str&#39;</span><span class="p">:</span> <span class="n">ti_key_str</span><span class="p">,</span>
             <span class="s1">&#39;conf&#39;</span><span class="p">:</span> <span class="n">configuration</span><span class="p">,</span>
             <span class="s1">&#39;test_mode&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">test_mode</span><span class="p">,</span>
+            <span class="s1">&#39;var&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;value&#39;</span><span class="p">:</span> <span class="n">VariableAccessor</span><span class="p">(),</span>
+                <span class="s1">&#39;json&#39;</span><span class="p">:</span> <span class="n">VariableJsonAccessor</span><span class="p">()</span>
+            <span class="p">}</span>
         <span class="p">}</span>
 
     <span class="k">def</span> <span class="nf">render_templates</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -2706,6 +2754,21 @@
         <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">):</span>
             <span class="k">return</span> <span class="n">dttm</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schedule_interval</span>
 
+<div class="viewcode-block" id="DAG.normalize_schedule"><a class="viewcode-back" href="../../code.html#airflow.models.DAG.normalize_schedule">[docs]</a>    <span class="k">def</span> <span class="nf">normalize_schedule</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dttm</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns dttm + interval unless dttm is first interval then it returns dttm</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">following</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">following_schedule</span><span class="p">(</span><span class="n">dttm</span><span class="p">)</span>
+
+        <span class="c1"># in case of @once</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">following</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">dttm</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">previous_schedule</span><span class="p">(</span><span class="n">following</span><span class="p">)</span> <span class="o">!=</span> <span class="n">dttm</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">following</span>
+
+        <span class="k">return</span> <span class="n">dttm</span></div>
+
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">tasks</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
@@ -3485,10 +3548,12 @@
 
     <span class="nd">@staticmethod</span>
     <span class="nd">@provide_session</span>
-    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="n">dag_id</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="k">def</span> <span class="nf">find</span><span class="p">(</span><span class="n">dag_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">run_id</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">execution_date</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
              <span class="n">state</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">external_trigger</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">session</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a set of dag runs for the given search criteria.</span>
+<span class="sd">        :param dag_id: the dag_id to find dag runs for</span>
+<span class="sd">        :type dag_id: integer, list</span>
 <span class="sd">        :param run_id: defines the the run id for this dag run</span>
 <span class="sd">        :type run_id: string</span>
 <span class="sd">        :param execution_date: the execution date</span>
@@ -3502,7 +3567,9 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">DR</span> <span class="o">=</span> <span class="n">DagRun</span>
 
-        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span>
+        <span class="n">qry</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="n">DR</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">dag_id</span><span class="p">:</span>
+            <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">==</span> <span class="n">dag_id</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">run_id</span><span class="p">:</span>
             <span class="n">qry</span> <span class="o">=</span> <span class="n">qry</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">DR</span><span class="o">.</span><span class="n">run_id</span> <span class="o">==</span> <span class="n">run_id</span><span class="p">)</span>
         <span class="k">if</span> <span class="n">execution_date</span><span class="p">:</span>
diff --git a/_modules/airflow/operators/docker_operator.html b/_modules/airflow/operators/docker_operator.html
index 46fcf7b..06aa65e 100644
--- a/_modules/airflow/operators/docker_operator.html
+++ b/_modules/airflow/operators/docker_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.operators.docker_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">json</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">json</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
diff --git a/_modules/airflow/operators/sensors.html b/_modules/airflow/operators/sensors.html
index cbadb0a..65a0587 100644
--- a/_modules/airflow/operators/sensors.html
+++ b/_modules/airflow/operators/sensors.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for airflow.operators.sensors</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
 <span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
@@ -146,10 +160,11 @@
 <span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
 <span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
 
+<span class="kn">import</span> <span class="nn">airflow</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">DB</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
@@ -193,12 +208,12 @@
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">started_at</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">):</span>
-            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span><span class="p">)</span>
-            <span class="k">if</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">started_at</span><span class="p">)</span><span class="o">.</span><span class="n">seconds</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">started_at</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">soft_fail</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowSkipException</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowSensorTimeout</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Success criteria met. Exiting.&quot;</span><span class="p">)</span></div>
 
 
@@ -303,8 +318,14 @@
 <span class="sd">    :type allowed_states: list</span>
 <span class="sd">    :param execution_delta: time difference with the previous execution to</span>
 <span class="sd">        look at, the default is the same execution_date as the current task.</span>
-<span class="sd">        For yesterday, use [positive!] datetime.timedelta(days=1)</span>
+<span class="sd">        For yesterday, use [positive!] datetime.timedelta(days=1). Either</span>
+<span class="sd">        execution_delta or execution_date_fn can be passed to</span>
+<span class="sd">        ExternalTaskSensor, but not both.</span>
 <span class="sd">    :type execution_delta: datetime.timedelta</span>
+<span class="sd">    :param execution_date_fn: function that receives the current execution date</span>
+<span class="sd">        and returns the desired execution date to query. Either execution_delta</span>
+<span class="sd">        or execution_date_fn can be passed to ExternalTaskSensor, but not both.</span>
+<span class="sd">    :type execution_date_fn: callable</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
@@ -314,16 +335,25 @@
             <span class="n">external_task_id</span><span class="p">,</span>
             <span class="n">allowed_states</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">execution_delta</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">execution_date_fn</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">ExternalTaskSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span> <span class="o">=</span> <span class="n">allowed_states</span> <span class="ow">or</span> <span class="p">[</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Only one of `execution_date` or `execution_date_fn` may&#39;</span>
+                <span class="s1">&#39;be provided to ExternalTaskSensor; not both.&#39;</span><span class="p">)</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span> <span class="o">=</span> <span class="n">execution_delta</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span> <span class="o">=</span> <span class="n">execution_date_fn</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">external_dag_id</span> <span class="o">=</span> <span class="n">external_dag_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">external_task_id</span> <span class="o">=</span> <span class="n">external_task_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span><span class="p">:</span>
             <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span><span class="p">:</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">])</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span>
 
@@ -346,15 +376,91 @@
         <span class="k">return</span> <span class="n">count</span>
 
 
+<span class="k">class</span> <span class="nc">NamedHivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a set of partitions to show up in Hive.</span>
+
+<span class="sd">    :param partition_names: List of fully qualified names of the</span>
+<span class="sd">        partitions to wait for. A fully qualified name is of the</span>
+<span class="sd">        form schema.table/pk1=pv1/pk2=pv2, for example,</span>
+<span class="sd">        default.users/ds=2016-01-01. This is passed as is to the metastore</span>
+<span class="sd">        Thrift client &quot;get_partitions_by_name&quot; method. Note that</span>
+<span class="sd">        you cannot use logical operators as in HivePartitionSensor.</span>
+<span class="sd">    :type partition_names: list of strings</span>
+<span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
+<span class="sd">        connection id</span>
+<span class="sd">    :type metastore_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_names&#39;</span><span class="p">,</span> <span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">partition_names</span><span class="p">,</span>
+            <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">3</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">NamedHivePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="n">poke_interval</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">partition_name</span> <span class="ow">in</span> <span class="n">partition_names</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition_name</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
+
+    <span class="k">def</span> <span class="nf">parse_partition_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partition</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+            <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="n">table_partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span>
+        <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Could not parse &#39;</span> <span class="o">+</span> <span class="n">partition</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+                <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
+
+        <span class="k">def</span> <span class="nf">poke_partition</span><span class="p">(</span><span class="n">partition</span><span class="p">):</span>
+
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition</span><span class="p">)</span>
+
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Poking for {schema}.{table}/{partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+            <span class="p">)</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span>
+                <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="p">)</span>
+
+        <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">):</span>
+            <span class="k">if</span> <span class="n">poke_partition</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span><span class="p">]):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">False</span>
+
+        <span class="k">return</span> <span class="bp">True</span>
+
+
 <span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Waits for a partition to show up in Hive</span>
+<span class="sd">    Waits for a partition to show up in Hive.</span>
+
+<span class="sd">    Note: Because @partition supports general logical operators, it</span>
+<span class="sd">    can be inefficient. Consider using NamedHivePartitionSensor instead if</span>
+<span class="sd">    you don&#39;t need the full flexibility of HivePartitionSensor.</span>
 
 <span class="sd">    :param table: The name of the table to wait for, supports the dot</span>
 <span class="sd">        notation (my_database.my_table)</span>
 <span class="sd">    :type table: string</span>
 <span class="sd">    :param partition: The partition clause to wait for. This is passed as</span>
-<span class="sd">        is to the Metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
+<span class="sd">        is to the metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
 <span class="sd">        and apparently supports SQL like notation as in `ds=&#39;2015-01-01&#39;</span>
 <span class="sd">        AND type=&#39;value&#39;` and &gt; &lt; sings as in &quot;ds&gt;=2015-01-01&quot;</span>
 <span class="sd">    :type partition: string</span>
@@ -388,7 +494,7 @@
             <span class="s1">&#39;Poking for table {self.schema}.{self.table}, &#39;</span>
             <span class="s1">&#39;partition {self.partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span>
@@ -411,7 +517,8 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span> <span class="o">=</span> <span class="n">hdfs_conn_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">sb</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.hdfs_hook</span>
+        <span class="n">sb</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hdfs_hook</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;snakebite&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">WARNING</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
@@ -439,7 +546,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span> <span class="o">=</span> <span class="n">webhdfs_conn_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">c</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
+        <span class="n">c</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">webhdfs_hook</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">return</span> <span class="n">c</span><span class="o">.</span><span class="n">check_for_path</span><span class="p">(</span><span class="n">hdfs_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span>
@@ -495,7 +602,8 @@
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : {full_url}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span><span class="p">:</span>
@@ -547,7 +655,8 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : {self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
                      <span class="s1">&#39;in bucket s3://{self.bucket_name}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
             <span class="n">prefix</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="p">,</span>
             <span class="n">delimiter</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span><span class="p">,</span>
@@ -639,7 +748,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span> <span class="o">=</span> <span class="n">extra_options</span> <span class="ow">or</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span> <span class="o">=</span> <span class="n">response_check</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HttpHook</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="n">http_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">http_hook</span><span class="o">.</span><span class="n">HttpHook</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="n">http_conn_id</span><span c [...]
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span><span class="p">)</span>
@@ -652,7 +761,7 @@
                 <span class="c1"># run content check on response</span>
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">AirflowException</span> <span class="k">as</span> <span class="n">ae</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">ae</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">ae</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
                 <span class="k">return</span> <span class="bp">False</span>
 
             <span class="k">raise</span> <span class="n">ae</span>
diff --git a/_modules/bash_operator.html b/_modules/bash_operator.html
index bda570d..d38a3f8 100644
--- a/_modules/bash_operator.html
+++ b/_modules/bash_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for bash_operator</h1><div class="highlight"><pre>
-<span></span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">subprocess</span> <span class="kn">import</span> <span class="n">Popen</span><span class="p">,</span> <span class="n">STDOUT</span><span class="p">,</span> <span class="n">PIPE</span>
diff --git a/_modules/dagrun_operator.html b/_modules/dagrun_operator.html
index be98472..c6725bb 100644
--- a/_modules/dagrun_operator.html
+++ b/_modules/dagrun_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for dagrun_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">DagRun</span>
diff --git a/_modules/dbapi_hook.html b/_modules/dbapi_hook.html
index 4a6a3a0..e608a23 100644
--- a/_modules/dbapi_hook.html
+++ b/_modules/dbapi_hook.html
@@ -137,12 +137,26 @@
            <div itemprop="articleBody">
             
   <h1>Source code for dbapi_hook</h1><div class="highlight"><pre>
-<span></span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
 <span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">numpy</span>
 <span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
@@ -192,6 +206,8 @@
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
 <span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="kn">import</span> <span class="nn">pandas.io.sql</span> <span class="kn">as</span> <span class="nn">psql</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">df</span> <span class="o">=</span> <span class="n">psql</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">conn</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">parameters</span><span class="p">)</span>
@@ -208,6 +224,8 @@
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
 <span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cur</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_cursor</span><span class="p">()</span>
         <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
@@ -229,6 +247,8 @@
 <span class="sd">        :param parameters: The parameters to render the SQL query with.</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
 <span class="sd">        &#39;&#39;&#39;</span>
+        <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
@@ -264,6 +284,8 @@
 
         <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
         <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">sql</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
+                <span class="n">s</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
             <span class="k">if</span> <span class="n">parameters</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
                 <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
diff --git a/_modules/druid_hook.html b/_modules/druid_hook.html
index 1508432..f5b2a4d 100644
--- a/_modules/druid_hook.html
+++ b/_modules/druid_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for druid_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">json</span>
 <span class="kn">import</span> <span class="nn">time</span>
diff --git a/_modules/dummy_operator.html b/_modules/dummy_operator.html
index 4d8943a..a531fd1 100644
--- a/_modules/dummy_operator.html
+++ b/_modules/dummy_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for dummy_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
 
diff --git a/_modules/email_operator.html b/_modules/email_operator.html
index 59f4127..6bb4434 100644
--- a/_modules/email_operator.html
+++ b/_modules/email_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for email_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.email</span> <span class="kn">import</span> <span class="n">send_email</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/ftp_hook.html b/_modules/ftp_hook.html
index 1cc038a..19a7498 100644
--- a/_modules/ftp_hook.html
+++ b/_modules/ftp_hook.html
@@ -161,8 +161,8 @@
 
 
 <span class="k">def</span> <span class="nf">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="n">facts</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
-    <span class="sd">&#39;&#39;&#39;</span>
-<span class="sd">    BACKPORT FROM PYTHON3 FTPLIB</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    BACKPORT FROM PYTHON3 FTPLIB.</span>
 
 <span class="sd">    List a directory in a standardized format by using MLSD</span>
 <span class="sd">    command (RFC-3659). If path is omitted the current directory</span>
@@ -174,7 +174,7 @@
 <span class="sd">    First element is the file name, the second one is a dictionary</span>
 <span class="sd">    including a variable number of &quot;facts&quot; depending on the server</span>
 <span class="sd">    and whether &quot;facts&quot; argument has been provided.</span>
-<span class="sd">    &#39;&#39;&#39;</span>
+<span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">facts</span> <span class="o">=</span> <span class="n">facts</span> <span class="ow">or</span> <span class="p">[]</span>
     <span class="k">if</span> <span class="n">facts</span><span class="p">:</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">sendcmd</span><span class="p">(</span><span class="s2">&quot;OPTS MLST &quot;</span> <span class="o">+</span> <span class="s2">&quot;;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">facts</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;;&quot;</span><span class="p">)</span>
@@ -194,7 +194,6 @@
 
 
 <div class="viewcode-block" id="FTPHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook">[docs]</a><span class="k">class</span> <span class="nc">FTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
-
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with FTP.</span>
 
@@ -206,6 +205,13 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">None</span>
 
+    <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span>
+
+    <span class="k">def</span> <span class="nf">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">close_conn</span><span class="p">()</span>
+
 <div class="viewcode-block" id="FTPHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a FTP connection object</span>
@@ -219,7 +225,7 @@
 <div class="viewcode-block" id="FTPHook.close_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.close_conn">[docs]</a>    <span class="k">def</span> <span class="nf">close_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Closes the connection. An error will occur if the</span>
-<span class="sd">        connection wasnt ever opened.</span>
+<span class="sd">        connection wasn&#39;t ever opened.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span></div>
@@ -301,7 +307,7 @@
         <span class="n">conn</span><span class="o">.</span><span class="n">cwd</span><span class="p">(</span><span class="n">remote_path</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">))</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">retrbinary</span><span class="p">(</span><span class="s1">&#39;RETR </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">remote_file_name</span><span class="p">,</span> <span class="n">output_handle</span><span class="o">.</span><span class="n">write</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished etrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished retrieving file from FTP: {}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
             <span class="n">remote_full_path</span><span class="p">))</span>
 
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
@@ -338,7 +344,7 @@
 
 <div class="viewcode-block" id="FTPHook.delete_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Removes a file on the FTP Server</span>
+<span class="sd">        Removes a file on the FTP Server.</span>
 
 <span class="sd">        :param path: full path to the remote file</span>
 <span class="sd">        :type path: str</span>
@@ -356,7 +362,7 @@
 
     <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a FTPS connection object</span>
+<span class="sd">        Returns a FTPS connection object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
             <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
diff --git a/_modules/generic_transfer.html b/_modules/generic_transfer.html
index 4e2cf14..ed7f740 100644
--- a/_modules/generic_transfer.html
+++ b/_modules/generic_transfer.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for generic_transfer</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
diff --git a/_modules/hive_hooks.html b/_modules/hive_hooks.html
index 7f6cc2d..e25ec97 100644
--- a/_modules/hive_hooks.html
+++ b/_modules/hive_hooks.html
@@ -155,11 +155,13 @@
 <span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">zip</span>
 <span class="kn">from</span> <span class="nn">past.builtins</span> <span class="kn">import</span> <span class="nb">basestring</span>
+
 <span class="kn">import</span> <span class="nn">unicodecsv</span> <span class="kn">as</span> <span class="nn">csv</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">re</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
+<span class="kn">import</span> <span class="nn">hive_metastore</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
@@ -180,6 +182,7 @@
 <span class="sd">    Note that you can also set default hive CLI parameters using the</span>
 <span class="sd">    ``hive_cli_params`` to be used in your connection as in</span>
 <span class="sd">    ``{&quot;hive_cli_params&quot;: &quot;-hiveconf mapred.job.tracker=some.jobtracker:444&quot;}``</span>
+<span class="sd">    Parameters passed here can be overridden by run_cli&#39;s hive_conf param</span>
 
 <span class="sd">    The extra connection parameter ``auth`` gets passed as in the ``jdbc``</span>
 <span class="sd">    connection string as is.</span>
@@ -196,9 +199,17 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">conn</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">run_as</span> <span class="o">=</span> <span class="n">run_as</span>
 
-<div class="viewcode-block" id="HiveCliHook.run_cli"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveCliHook.run_cli">[docs]</a>    <span class="k">def</span> <span class="nf">run_cli</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span> [...]
+<div class="viewcode-block" id="HiveCliHook.run_cli"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveCliHook.run_cli">[docs]</a>    <span class="k">def</span> <span class="nf">run_cli</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span> [...]
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Run an hql statement using the hive cli</span>
+<span class="sd">        Run an hql statement using the hive cli. If hive_conf is specified it should be a</span>
+<span class="sd">        dict and the entries will be set as key/value pairs in HiveConf</span>
+
+
+<span class="sd">        :param hive_conf: if specified these key value pairs will be passed to hive as</span>
+<span class="sd">            ``-hiveconf &quot;key&quot;=&quot;value&quot;``. Note that they will be passed after the</span>
+<span class="sd">            ``hive_cli_params`` and thus will override whatever values are specified in</span>
+<span class="sd">            the database.</span>
+<span class="sd">        :type hive_conf: dict</span>
 
 <span class="sd">        &gt;&gt;&gt; hh = HiveCliHook()</span>
 <span class="sd">        &gt;&gt;&gt; result = hh.run_cli(&quot;USE airflow;&quot;)</span>
@@ -246,6 +257,10 @@
                     <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">:</span>
                         <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-p&#39;</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">]</span>
 
+                <span class="n">hive_conf</span> <span class="o">=</span> <span class="n">hive_conf</span> <span class="ow">or</span> <span class="p">{}</span>
+                <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">hive_conf</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+                    <span class="n">cmd_extra</span> <span class="o">+=</span> <span class="p">[</span><span class="s1">&#39;-hiveconf&#39;</span><span class="p">,</span> <span class="s1">&#39;{0}={1}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)]</span>
+
                 <span class="n">hive_cmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">hive_bin</span><span class="p">,</span> <span class="s1">&#39;-f&#39;</span><span class="p">,</span> <span class="n">fname</span><span class="p">]</span> <span class="o">+</span> <span class="n">cmd_extra</span>
 
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">hive_cli_params</span><span class="p">:</span>
@@ -446,7 +461,17 @@
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">metastore</span>
 
 <div class="viewcode-block" id="HiveMetastoreHook.check_for_partition"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveMetastoreHook.check_for_partition">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_partition</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Checks whether a partition exists</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks whether a partition exists</span>
+
+<span class="sd">        :param schema: Name of hive schema (database) @table belongs to</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :param table: Name of hive table @partition belongs to</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :partition: Expression that matches the partitions to check for</span>
+<span class="sd">            (eg `a = &#39;b&#39; AND c = &#39;d&#39;`)</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :rtype: boolean</span>
 
 <span class="sd">        &gt;&gt;&gt; hh = HiveMetastoreHook()</span>
 <span class="sd">        &gt;&gt;&gt; t = &#39;static_babynames_partitioned&#39;</span>
@@ -462,6 +487,35 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="bp">False</span></div>
 
+<div class="viewcode-block" id="HiveMetastoreHook.check_for_named_partition"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveMetastoreHook.check_for_named_partition">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_named_partition</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition_name</span>< [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks whether a partition with a given name exists</span>
+
+<span class="sd">        :param schema: Name of hive schema (database) @table belongs to</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :param table: Name of hive table @partition belongs to</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :partition: Name of the partitions to check for (eg `a=b/c=d`)</span>
+<span class="sd">        :type schema: string</span>
+<span class="sd">        :rtype: boolean</span>
+
+<span class="sd">        &gt;&gt;&gt; hh = HiveMetastoreHook()</span>
+<span class="sd">        &gt;&gt;&gt; t = &#39;static_babynames_partitioned&#39;</span>
+<span class="sd">        &gt;&gt;&gt; hh.check_for_named_partition(&#39;airflow&#39;, t, &quot;ds=2015-01-01&quot;)</span>
+<span class="sd">        True</span>
+<span class="sd">        &gt;&gt;&gt; hh.check_for_named_partition(&#39;airflow&#39;, t, &quot;ds=xxx&quot;)</span>
+<span class="sd">        False</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">metastore</span><span class="o">.</span><span class="n">_oprot</span><span class="o">.</span><span class="n">trans</span><span class="o">.</span><span class="n">open</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">metastore</span><span class="o">.</span><span class="n">get_partition_by_name</span><span class="p">(</span>
+                <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition_name</span><span class="p">)</span>
+            <span class="k">return</span> <span class="bp">True</span>
+        <span class="k">except</span> <span class="n">hive_metastore</span><span class="o">.</span><span class="n">ttypes</span><span class="o">.</span><span class="n">NoSuchObjectException</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">False</span>
+        <span class="k">finally</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">metastore</span><span class="o">.</span><span class="n">_oprot</span><span class="o">.</span><span class="n">trans</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
+
 <div class="viewcode-block" id="HiveMetastoreHook.get_table"><a class="viewcode-back" href="../code.html#airflow.hooks.HiveMetastoreHook.get_table">[docs]</a>    <span class="k">def</span> <span class="nf">get_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">db</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Get a metastore table object</span>
 
@@ -604,6 +658,7 @@
             <span class="n">database</span><span class="o">=</span><span class="n">db</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s1">&#39;default&#39;</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">get_results</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span> <span class="n">arraysize</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
+        <span class="kn">from</span> <span class="nn">impala.error</span> <span class="kn">import</span> <span class="n">ProgrammingError</span>
         <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span> <span class="k">as</span> <span class="n">conn</span><span class="p">:</span>
             <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">hql</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
                 <span class="n">hql</span> <span class="o">=</span> <span class="p">[</span><span class="n">hql</span><span class="p">]</span>
@@ -611,15 +666,22 @@
                 <span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="p">[],</span>
                 <span class="s1">&#39;header&#39;</span><span class="p">:</span> <span class="p">[],</span>
             <span class="p">}</span>
+            <span class="n">cur</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
             <span class="k">for</span> <span class="n">statement</span> <span class="ow">in</span> <span class="n">hql</span><span class="p">:</span>
-                <span class="k">with</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span> <span class="k">as</span> <span class="n">cur</span><span class="p">:</span>
-                    <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">statement</span><span class="p">)</span>
+                <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">statement</span><span class="p">)</span>
+                <span class="n">records</span> <span class="o">=</span> <span class="p">[]</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="c1"># impala Lib raises when no results are returned</span>
+                    <span class="c1"># we&#39;re silencing here as some statements in the list</span>
+                    <span class="c1"># may be `SET` or DDL</span>
                     <span class="n">records</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()</span>
-                    <span class="k">if</span> <span class="n">records</span><span class="p">:</span>
-                        <span class="n">results</span> <span class="o">=</span> <span class="p">{</span>
-                            <span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="n">records</span><span class="p">,</span>
-                            <span class="s1">&#39;header&#39;</span><span class="p">:</span> <span class="n">cur</span><span class="o">.</span><span class="n">description</span><span class="p">,</span>
-                        <span class="p">}</span>
+                <span class="k">except</span> <span class="n">ProgrammingError</span><span class="p">:</span>
+                    <span class="n">logging</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;get_results returned no records&quot;</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">records</span><span class="p">:</span>
+                    <span class="n">results</span> <span class="o">=</span> <span class="p">{</span>
+                        <span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="n">records</span><span class="p">,</span>
+                        <span class="s1">&#39;header&#39;</span><span class="p">:</span> <span class="n">cur</span><span class="o">.</span><span class="n">description</span><span class="p">,</span>
+                    <span class="p">}</span>
             <span class="k">return</span> <span class="n">results</span>
 
     <span class="k">def</span> <span class="nf">to_csv</span><span class="p">(</span>
diff --git a/_modules/hive_operator.html b/_modules/hive_operator.html
index d32e3ad..de5e44b 100644
--- a/_modules/hive_operator.html
+++ b/_modules/hive_operator.html
@@ -137,12 +137,27 @@
            <div itemprop="articleBody">
             
   <h1>Source code for hive_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">re</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.operator_helpers</span> <span class="kn">import</span> <span class="n">context_to_airflow_vars</span>
 
 
 <div class="viewcode-block" id="HiveOperator"><a class="viewcode-back" href="../code.html#airflow.operators.HiveOperator">[docs]</a><span class="k">class</span> <span class="nc">HiveOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -201,7 +216,8 @@
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Executing: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">hql</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="n">hql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="n">hql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hql</span><span class="p">,</span> <span class="n">schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span>
+                          <span class="n">hive_conf</span><span class="o">=</span><span class="n">context_to_airflow_vars</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">dry_run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hook</span><span class="p">()</span>
diff --git a/_modules/hive_to_druid.html b/_modules/hive_to_druid.html
index cbd1586..d85bfb3 100644
--- a/_modules/hive_to_druid.html
+++ b/_modules/hive_to_druid.html
@@ -137,9 +137,24 @@
            <div itemprop="articleBody">
             
   <h1>Source code for hive_to_druid</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span><span class="p">,</span> <span class="n">DruidHook</span><span class="p">,</span> <span class="n">HiveMetastoreHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span><span class="p">,</span> <span class="n">HiveMetastoreHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.druid_hook</span> <span class="kn">import</span> <span class="n">DruidHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
@@ -240,19 +255,20 @@
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Inserting rows into Druid&quot;</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;HDFS path: &quot;</span> <span class="o">+</span> <span class="n">static_path</span><span class="p">)</span>
 
-        <span class="n">druid</span><span class="o">.</span><span class="n">load_from_hdfs</span><span class="p">(</span>
-            <span class="n">datasource</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">druid_datasource</span><span class="p">,</span>
-            <span class="n">intervals</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">intervals</span><span class="p">,</span>
-            <span class="n">static_path</span><span class="o">=</span><span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ts_dim</span><span class="p">,</span>
-            <span class="n">columns</span><span class="o">=</span><span class="n">columns</span><span class="p">,</span> <span class="n">num_shards</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">target_partition_size</span><span class="p">,</span>
-            <span class="n">metric_spec</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metric_spec</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hadoop_dependency_coordinates</span><span class="p">)</span>
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Load seems to have succeeded!&quot;</span><span class="p">)</span>
-
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s2">&quot;Cleaning up by dropping the temp &quot;</span>
-            <span class="s2">&quot;Hive table {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hive_table</span><span class="p">))</span>
-        <span class="n">hql</span> <span class="o">=</span> <span class="s2">&quot;DROP TABLE IF EXISTS {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hive_table</span><span class="p">)</span>
-        <span class="n">hive</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="n">hql</span><span class="p">)</span></div>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">druid</span><span class="o">.</span><span class="n">load_from_hdfs</span><span class="p">(</span>
+                <span class="n">datasource</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">druid_datasource</span><span class="p">,</span>
+                <span class="n">intervals</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">intervals</span><span class="p">,</span>
+                <span class="n">static_path</span><span class="o">=</span><span class="n">static_path</span><span class="p">,</span> <span class="n">ts_dim</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ts_dim</span><span class="p">,</span>
+                <span class="n">columns</span><span class="o">=</span><span class="n">columns</span><span class="p">,</span> <span class="n">num_shards</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">num_shards</span><span class="p">,</span> <span class="n">target_partition_size</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">target_partition_size</span><span class="p">,</span>
+                <span class="n">metric_spec</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metric_spec</span><span class="p">,</span> <span class="n">hadoop_dependency_coordinates</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">hadoop_dependency_coordinates</span><span class="p">)</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Load seems to have succeeded!&quot;</span><span class="p">)</span>
+        <span class="k">finally</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s2">&quot;Cleaning up by dropping the temp &quot;</span>
+                <span class="s2">&quot;Hive table {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hive_table</span><span class="p">))</span>
+            <span class="n">hql</span> <span class="o">=</span> <span class="s2">&quot;DROP TABLE IF EXISTS {}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hive_table</span><span class="p">)</span>
+            <span class="n">hive</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="n">hql</span><span class="p">)</span></div>
 </pre></div>
 
            </div>
diff --git a/_modules/hive_to_mysql.html b/_modules/hive_to_mysql.html
index 6a5bedd..867023b 100644
--- a/_modules/hive_to_mysql.html
+++ b/_modules/hive_to_mysql.html
@@ -137,9 +137,24 @@
            <div itemprop="articleBody">
             
   <h1>Source code for hive_to_mysql</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span><span class="p">,</span> <span class="n">MySqlHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/hive_to_samba_operator.html b/_modules/hive_to_samba_operator.html
index 3008244..a69680d 100644
--- a/_modules/hive_to_samba_operator.html
+++ b/_modules/hive_to_samba_operator.html
@@ -137,10 +137,25 @@
            <div itemprop="articleBody">
             
   <h1>Source code for hive_to_samba_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">tempfile</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span><span class="p">,</span> <span class="n">SambaHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveServer2Hook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.samba_hook</span> <span class="kn">import</span> <span class="n">SambaHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/http_hook.html b/_modules/http_hook.html
index 98ed5ad..b62b0d0 100644
--- a/_modules/http_hook.html
+++ b/_modules/http_hook.html
@@ -150,7 +150,7 @@
 <span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
 <span class="c1"># See the License for the specific language governing permissions and</span>
 <span class="c1"># limitations under the License.</span>
-<span class="c1">#</span>
+
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
diff --git a/_modules/http_operator.html b/_modules/http_operator.html
index 942ae0e..00496c9 100644
--- a/_modules/http_operator.html
+++ b/_modules/http_operator.html
@@ -137,10 +137,24 @@
            <div itemprop="articleBody">
             
   <h1>Source code for http_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HttpHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="kn">import</span> <span class="n">HttpHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/mssql_hook.html b/_modules/mssql_hook.html
index b3b5503..9aff59d 100644
--- a/_modules/mssql_hook.html
+++ b/_modules/mssql_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mssql_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">pymssql</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">pymssql</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
 
@@ -157,10 +171,11 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mssql_conn_id</span><span class="p">)</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="n">pymssql</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span>
-            <span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
-            <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
-            <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
-            <span class="n">conn</span><span class="o">.</span><span class="n">schema</span><span class="p">)</span>
+            <span class="n">server</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">user</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+            <span class="n">password</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+            <span class="n">database</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span>
+            <span class="n">port</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">conn</span></div>
 
     <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
diff --git a/_modules/mssql_operator.html b/_modules/mssql_operator.html
index dcc2872..e933004 100644
--- a/_modules/mssql_operator.html
+++ b/_modules/mssql_operator.html
@@ -137,9 +137,23 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mssql_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">MsSqlHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.mssql_hook</span> <span class="kn">import</span> <span class="n">MsSqlHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/mssql_to_hive.html b/_modules/mssql_to_hive.html
index 451dc7f..590dfb8 100644
--- a/_modules/mssql_to_hive.html
+++ b/_modules/mssql_to_hive.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mssql_to_hive</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
 <span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">OrderedDict</span>
 <span class="kn">import</span> <span class="nn">unicodecsv</span> <span class="kn">as</span> <span class="nn">csv</span>
 <span class="kn">import</span> <span class="nn">logging</span>
@@ -145,7 +159,8 @@
 <span class="kn">import</span> <span class="nn">pymssql</span>
 
 
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span><span class="p">,</span> <span class="n">MsSqlHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.mssql_hook</span> <span class="kn">import</span> <span class="n">MsSqlHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/mysql_hook.html b/_modules/mysql_hook.html
index 23d3726..941737f 100644
--- a/_modules/mysql_hook.html
+++ b/_modules/mysql_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mysql_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">MySQLdb</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">MySQLdb</span>
 <span class="kn">import</span> <span class="nn">MySQLdb.cursors</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
diff --git a/_modules/mysql_operator.html b/_modules/mysql_operator.html
index 331f2b4..a1fc11a 100644
--- a/_modules/mysql_operator.html
+++ b/_modules/mysql_operator.html
@@ -137,9 +137,23 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mysql_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/mysql_to_hive.html b/_modules/mysql_to_hive.html
index fa6b20f..cc8496b 100644
--- a/_modules/mysql_to_hive.html
+++ b/_modules/mysql_to_hive.html
@@ -137,14 +137,29 @@
            <div itemprop="articleBody">
             
   <h1>Source code for mysql_to_hive</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
 <span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">OrderedDict</span>
 <span class="kn">import</span> <span class="nn">unicodecsv</span> <span class="kn">as</span> <span class="nn">csv</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
 <span class="kn">import</span> <span class="nn">MySQLdb</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span><span class="p">,</span> <span class="n">MySqlHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.mysql_hook</span> <span class="kn">import</span> <span class="n">MySqlHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/postgres_hook.html b/_modules/postgres_hook.html
index d8896ac..3ecfa69 100644
--- a/_modules/postgres_hook.html
+++ b/_modules/postgres_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for postgres_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">psycopg2</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">psycopg2</span>
 <span class="kn">import</span> <span class="nn">psycopg2.extensions</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
diff --git a/_modules/postgres_operator.html b/_modules/postgres_operator.html
index 4eb0e00..5ade37d 100644
--- a/_modules/postgres_operator.html
+++ b/_modules/postgres_operator.html
@@ -137,9 +137,23 @@
            <div itemprop="articleBody">
             
   <h1>Source code for postgres_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">PostgresHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.postgres_hook</span> <span class="kn">import</span> <span class="n">PostgresHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/presto_check_operator.html b/_modules/presto_check_operator.html
index 52dc0e6..e24b271 100644
--- a/_modules/presto_check_operator.html
+++ b/_modules/presto_check_operator.html
@@ -137,8 +137,22 @@
            <div itemprop="articleBody">
             
   <h1>Source code for presto_check_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">PrestoHook</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="kn">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.presto_hook</span> <span class="kn">import</span> <span class="n">PrestoHook</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.check_operator</span> <span class="kn">import</span> <span class="n">CheckOperator</span><span class="p">,</span> <span class="n">ValueCheckOperator</span><span class="p">,</span> <span class="n">IntervalCheckOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
 
diff --git a/_modules/presto_hook.html b/_modules/presto_hook.html
index 73e4cc0..49b93a9 100644
--- a/_modules/presto_hook.html
+++ b/_modules/presto_hook.html
@@ -137,13 +137,28 @@
            <div itemprop="articleBody">
             
   <h1>Source code for presto_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
 <span class="kn">from</span> <span class="nn">pyhive</span> <span class="kn">import</span> <span class="n">presto</span>
 <span class="kn">from</span> <span class="nn">pyhive.exc</span> <span class="kn">import</span> <span class="n">DatabaseError</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
 
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;pyhive&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
 
 
@@ -204,8 +219,7 @@
             <span class="k">return</span> <span class="nb">super</span><span class="p">(</span><span class="n">PrestoHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_first</span><span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_strip_sql</span><span class="p">(</span><span class="n">hql</span><span class="p">),</span> <span class="n">parameters</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">DatabaseError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-            <span class="n">obj</span> <span class="o">=</span> <span class="nb">eval</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
-            <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="n">obj</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">])</span></div>
+            <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="n">e</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;message&#39;</span><span class="p">])</span></div>
 
 <div class="viewcode-block" id="PrestoHook.get_pandas_df"><a class="viewcode-back" href="../code.html#airflow.hooks.PrestoHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -217,8 +231,7 @@
             <span class="n">cursor</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_strip_sql</span><span class="p">(</span><span class="n">hql</span><span class="p">),</span> <span class="n">parameters</span><span class="p">)</span>
             <span class="n">data</span> <span class="o">=</span> <span class="n">cursor</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()</span>
         <span class="k">except</span> <span class="n">DatabaseError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
-            <span class="n">obj</span> <span class="o">=</span> <span class="nb">eval</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
-            <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="n">obj</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">])</span>
+            <span class="k">raise</span> <span class="n">PrestoException</span><span class="p">(</span><span class="n">e</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;message&#39;</span><span class="p">])</span>
         <span class="n">column_descriptions</span> <span class="o">=</span> <span class="n">cursor</span><span class="o">.</span><span class="n">description</span>
         <span class="k">if</span> <span class="n">data</span><span class="p">:</span>
             <span class="n">df</span> <span class="o">=</span> <span class="n">pandas</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
diff --git a/_modules/python_operator.html b/_modules/python_operator.html
index 0f0de31..059ebb2 100644
--- a/_modules/python_operator.html
+++ b/_modules/python_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for python_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
diff --git a/_modules/qubole_operator.html b/_modules/qubole_operator.html
index 07ea626..fb33047 100644
--- a/_modules/qubole_operator.html
+++ b/_modules/qubole_operator.html
@@ -137,9 +137,23 @@
            <div itemprop="articleBody">
             
   <h1>Source code for qubole_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks</span> <span class="kn">import</span> <span class="n">QuboleHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.qubole_hook</span> <span class="kn">import</span> <span class="n">QuboleHook</span>
 
 
 <div class="viewcode-block" id="QuboleOperator"><a class="viewcode-back" href="../code.html#airflow.contrib.operators.QuboleOperator">[docs]</a><span class="k">class</span> <span class="nc">QuboleOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
@@ -220,7 +234,7 @@
 
     <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;sub_command&#39;</span><span class="p">,</span> <span class="s1">&#39;script&#39;</span><span class="p">,</span> <span class="s1">&#39;files&#39;</span><span class="p">,</span> <span class="s1">&#39;archives&#39;</span><span class="p">,</sp [...]
                        <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;where_clause&#39;</span><span class="p">,</span> <span class="s1">&#39;extract_query&#39;</span><span class="p">,</span> <span class="s1">&#39;boundary_query&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">,</span>  [...]
-    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.txt&#39;</span><span class="p">)</span>
+    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;.txt&#39;</span><span class="p">,)</span>
     <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#3064A1&#39;</span>
     <span class="n">ui_fgcolor</span> <span class="o">=</span> <span class="s1">&#39;#fff&#39;</span>
 
diff --git a/_modules/s3_to_hive_operator.html b/_modules/s3_to_hive_operator.html
index dc23eb5..ad7715e 100644
--- a/_modules/s3_to_hive_operator.html
+++ b/_modules/s3_to_hive_operator.html
@@ -137,13 +137,28 @@
            <div itemprop="articleBody">
             
   <h1>Source code for s3_to_hive_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">next</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">next</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">zip</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span><span class="p">,</span> <span class="n">S3Hook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.S3_hook</span> <span class="kn">import</span> <span class="n">S3Hook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/sensors.html b/_modules/sensors.html
index 19336b2..fab6313 100644
--- a/_modules/sensors.html
+++ b/_modules/sensors.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for sensors</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
 <span class="kn">from</span> <span class="nn">future</span> <span class="kn">import</span> <span class="n">standard_library</span>
 <span class="n">standard_library</span><span class="o">.</span><span class="n">install_aliases</span><span class="p">()</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">str</span>
@@ -146,10 +160,11 @@
 <span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urlparse</span>
 <span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">sleep</span>
 
+<span class="kn">import</span> <span class="nn">airflow</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">hooks</span><span class="p">,</span> <span class="n">settings</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span><span class="p">,</span> <span class="n">AirflowSensorTimeout</span><span class="p">,</span> <span class="n">AirflowSkipException</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span><span class="p">,</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">DB</span>
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="kn">import</span> <span class="n">State</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
@@ -193,12 +208,12 @@
     <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">started_at</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
         <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">poke</span><span class="p">(</span><span class="n">context</span><span class="p">):</span>
-            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span><span class="p">)</span>
-            <span class="k">if</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">started_at</span><span class="p">)</span><span class="o">.</span><span class="n">seconds</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">started_at</span><span class="p">)</span><span class="o">.</span><span class="n">total_seconds</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">soft_fail</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowSkipException</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="n">AirflowSensorTimeout</span><span class="p">(</span><span class="s1">&#39;Snap. Time is OUT.&#39;</span><span class="p">)</span>
+            <span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">poke_interval</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Success criteria met. Exiting.&quot;</span><span class="p">)</span>
 
 
@@ -303,8 +318,14 @@
 <span class="sd">    :type allowed_states: list</span>
 <span class="sd">    :param execution_delta: time difference with the previous execution to</span>
 <span class="sd">        look at, the default is the same execution_date as the current task.</span>
-<span class="sd">        For yesterday, use [positive!] datetime.timedelta(days=1)</span>
+<span class="sd">        For yesterday, use [positive!] datetime.timedelta(days=1). Either</span>
+<span class="sd">        execution_delta or execution_date_fn can be passed to</span>
+<span class="sd">        ExternalTaskSensor, but not both.</span>
 <span class="sd">    :type execution_delta: datetime.timedelta</span>
+<span class="sd">    :param execution_date_fn: function that receives the current execution date</span>
+<span class="sd">        and returns the desired execution date to query. Either execution_delta</span>
+<span class="sd">        or execution_date_fn can be passed to ExternalTaskSensor, but not both.</span>
+<span class="sd">    :type execution_date_fn: callable</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="nd">@apply_defaults</span>
@@ -314,16 +335,25 @@
             <span class="n">external_task_id</span><span class="p">,</span>
             <span class="n">allowed_states</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="n">execution_delta</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+            <span class="n">execution_date_fn</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
             <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">ExternalTaskSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">allowed_states</span> <span class="o">=</span> <span class="n">allowed_states</span> <span class="ow">or</span> <span class="p">[</span><span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">execution_delta</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">execution_date_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Only one of `execution_date` or `execution_date_fn` may&#39;</span>
+                <span class="s1">&#39;be provided to ExternalTaskSensor; not both.&#39;</span><span class="p">)</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span> <span class="o">=</span> <span class="n">execution_delta</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span> <span class="o">=</span> <span class="n">execution_date_fn</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">external_dag_id</span> <span class="o">=</span> <span class="n">external_dag_id</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">external_task_id</span> <span class="o">=</span> <span class="n">external_task_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span><span class="p">:</span>
             <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_delta</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span><span class="p">:</span>
+            <span class="n">dttm</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">execution_date_fn</span><span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">])</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">dttm</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;execution_date&#39;</span><span class="p">]</span>
 
@@ -346,15 +376,91 @@
         <span class="k">return</span> <span class="n">count</span></div>
 
 
+<span class="k">class</span> <span class="nc">NamedHivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Waits for a set of partitions to show up in Hive.</span>
+
+<span class="sd">    :param partition_names: List of fully qualified names of the</span>
+<span class="sd">        partitions to wait for. A fully qualified name is of the</span>
+<span class="sd">        form schema.table/pk1=pv1/pk2=pv2, for example,</span>
+<span class="sd">        default.users/ds=2016-01-01. This is passed as is to the metastore</span>
+<span class="sd">        Thrift client &quot;get_partitions_by_name&quot; method. Note that</span>
+<span class="sd">        you cannot use logical operators as in HivePartitionSensor.</span>
+<span class="sd">    :type partition_names: list of strings</span>
+<span class="sd">    :param metastore_conn_id: reference to the metastore thrift service</span>
+<span class="sd">        connection id</span>
+<span class="sd">    :type metastore_conn_id: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;partition_names&#39;</span><span class="p">,</span> <span class="p">)</span>
+
+    <span class="nd">@apply_defaults</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">partition_names</span><span class="p">,</span>
+            <span class="n">metastore_conn_id</span><span class="o">=</span><span class="s1">&#39;metastore_default&#39;</span><span class="p">,</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="mi">60</span><span class="o">*</span><span class="mi">3</span><span class="p">,</span>
+            <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">NamedHivePartitionSensor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
+            <span class="n">poke_interval</span><span class="o">=</span><span class="n">poke_interval</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">partition_names</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">&#39;partition_names must be an array of strings&#39;</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">partition_name</span> <span class="ow">in</span> <span class="n">partition_names</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition_name</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span> <span class="o">=</span> <span class="n">metastore_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span> <span class="o">=</span> <span class="n">partition_names</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">=</span> <span class="mi">0</span>
+
+    <span class="k">def</span> <span class="nf">parse_partition_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partition</span><span class="p">):</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table_partition</span> <span class="o">=</span> <span class="n">partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+            <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="n">table_partition</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span>
+        <span class="k">except</span> <span class="ne">ValueError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Could not parse &#39;</span> <span class="o">+</span> <span class="n">partition</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+                <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
+
+        <span class="k">def</span> <span class="nf">poke_partition</span><span class="p">(</span><span class="n">partition</span><span class="p">):</span>
+
+            <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_partition_name</span><span class="p">(</span><span class="n">partition</span><span class="p">)</span>
+
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Poking for {schema}.{table}/{partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+            <span class="p">)</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span>
+                <span class="n">schema</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">partition</span><span class="p">)</span>
+
+        <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">):</span>
+            <span class="k">if</span> <span class="n">poke_partition</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partition_names</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span><span class="p">]):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">next_poke_idx</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">return</span> <span class="bp">False</span>
+
+        <span class="k">return</span> <span class="bp">True</span>
+
+
 <div class="viewcode-block" id="HivePartitionSensor"><a class="viewcode-back" href="../code.html#airflow.operators.HivePartitionSensor">[docs]</a><span class="k">class</span> <span class="nc">HivePartitionSensor</span><span class="p">(</span><span class="n">BaseSensorOperator</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Waits for a partition to show up in Hive</span>
+<span class="sd">    Waits for a partition to show up in Hive.</span>
+
+<span class="sd">    Note: Because @partition supports general logical operators, it</span>
+<span class="sd">    can be inefficient. Consider using NamedHivePartitionSensor instead if</span>
+<span class="sd">    you don&#39;t need the full flexibility of HivePartitionSensor.</span>
 
 <span class="sd">    :param table: The name of the table to wait for, supports the dot</span>
 <span class="sd">        notation (my_database.my_table)</span>
 <span class="sd">    :type table: string</span>
 <span class="sd">    :param partition: The partition clause to wait for. This is passed as</span>
-<span class="sd">        is to the Metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
+<span class="sd">        is to the metastore Thrift client &quot;get_partitions_by_filter&quot; method,</span>
 <span class="sd">        and apparently supports SQL like notation as in `ds=&#39;2015-01-01&#39;</span>
 <span class="sd">        AND type=&#39;value&#39;` and &gt; &lt; sings as in &quot;ds&gt;=2015-01-01&quot;</span>
 <span class="sd">    :type partition: string</span>
@@ -388,7 +494,7 @@
             <span class="s1">&#39;Poking for table {self.schema}.{self.table}, &#39;</span>
             <span class="s1">&#39;partition {self.partition}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;hook&#39;</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hive_hooks</span><span class="o">.</span><span class="n">HiveMetastoreHook</span><span class="p">(</span>
                 <span class="n">metastore_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">metastore_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">table</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span></div>
@@ -411,7 +517,8 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span> <span class="o">=</span> <span class="n">hdfs_conn_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">sb</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.hdfs_hook</span>
+        <span class="n">sb</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">hdfs_hook</span><span class="o">.</span><span class="n">HDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hdfs_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">&quot;snakebite&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">WARNING</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
@@ -439,7 +546,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span> <span class="o">=</span> <span class="n">webhdfs_conn_id</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">c</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
+        <span class="n">c</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">webhdfs_hook</span><span class="o">.</span><span class="n">WebHDFSHook</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">webhdfs_conn_id</span><span class="p">)</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
             <span class="s1">&#39;Poking for file {self.filepath} &#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">return</span> <span class="n">c</span><span class="o">.</span><span class="n">check_for_path</span><span class="p">(</span><span class="n">hdfs_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">filepath</span><span class="p">)</span></div>
@@ -495,7 +602,8 @@
         <span class="n">session</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="n">full_url</span> <span class="o">=</span> <span class="s2">&quot;s3://&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_name</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">bucket_key</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for key : {full_url}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">wildcard_match</span><span class="p">:</span>
@@ -547,7 +655,8 @@
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking for prefix : {self.prefix}</span><span class="se">\n</span><span class="s1">&#39;</span>
                      <span class="s1">&#39;in bucket s3://{self.bucket_name}&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">()))</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
+        <span class="kn">import</span> <span class="nn">airflow.hooks.S3_hook</span>
+        <span class="n">hook</span> <span class="o">=</span> <span class="n">airflow</span><span class="o">.</span><span class="n">hooks</span><span class="o">.</span><span class="n">S3_hook</span><span class="o">.</span><span class="n">S3Hook</span><span class="p">(</span><span class="n">s3_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">s3_conn_id</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">hook</span><span class="o">.</span><span class="n">check_for_prefix</span><span class="p">(</span>
             <span class="n">prefix</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prefix</span><span class="p">,</span>
             <span class="n">delimiter</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">delimiter</span><span class="p">,</span>
@@ -639,7 +748,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">extra_options</span> <span class="o">=</span> <span class="n">extra_options</span> <span class="ow">or</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span> <span class="o">=</span> <span class="n">response_check</span>
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">HttpHook</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="n">http_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">hook</span> <span class="o">=</span> <span class="n">hooks</span><span class="o">.</span><span class="n">http_hook</span><span class="o">.</span><span class="n">HttpHook</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="o">=</span><span class="n">http_conn_id</span><span c [...]
 
     <span class="k">def</span> <span class="nf">poke</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
         <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Poking: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">endpoint</span><span class="p">)</span>
@@ -652,7 +761,7 @@
                 <span class="c1"># run content check on response</span>
                 <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">response_check</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">AirflowException</span> <span class="k">as</span> <span class="n">ae</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">ae</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">ae</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;404&quot;</span><span class="p">):</span>
                 <span class="k">return</span> <span class="bp">False</span>
 
             <span class="k">raise</span> <span class="n">ae</span>
diff --git a/_modules/slack_operator.html b/_modules/slack_operator.html
index f958c5b..152902b 100644
--- a/_modules/slack_operator.html
+++ b/_modules/slack_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for slack_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">slackclient</span> <span class="kn">import</span> <span class="n">SlackClient</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">slackclient</span> <span class="kn">import</span> <span class="n">SlackClient</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="kn">import</span> <span class="n">AirflowException</span>
diff --git a/_modules/sqlite_hook.html b/_modules/sqlite_hook.html
index 6ed5de8..70abb8c 100644
--- a/_modules/sqlite_hook.html
+++ b/_modules/sqlite_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for sqlite_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">sqlite3</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">sqlite3</span>
 
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
 
diff --git a/_modules/ssh_execute_operator.html b/_modules/ssh_execute_operator.html
index 4346f31..c4c952d 100644
--- a/_modules/ssh_execute_operator.html
+++ b/_modules/ssh_execute_operator.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for ssh_execute_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">bytes</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">from</span> <span class="nn">subprocess</span> <span class="kn">import</span> <span class="n">STDOUT</span>
diff --git a/_modules/vertica_operator.html b/_modules/vertica_operator.html
index 2ae2681..46f8a92 100644
--- a/_modules/vertica_operator.html
+++ b/_modules/vertica_operator.html
@@ -137,9 +137,23 @@
            <div itemprop="articleBody">
             
   <h1>Source code for vertica_operator</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">logging</span>
-
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/vertica_to_hive.html b/_modules/vertica_to_hive.html
index 57c83f1..a700374 100644
--- a/_modules/vertica_to_hive.html
+++ b/_modules/vertica_to_hive.html
@@ -137,14 +137,28 @@
            <div itemprop="articleBody">
             
   <h1>Source code for vertica_to_hive</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">builtins</span> <span class="kn">import</span> <span class="nb">chr</span>
 <span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">OrderedDict</span>
 <span class="kn">import</span> <span class="nn">unicodecsv</span> <span class="kn">as</span> <span class="nn">csv</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
 
-<span class="kn">from</span> <span class="nn">airflow.hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.hive_hooks</span> <span class="kn">import</span> <span class="n">HiveCliHook</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.vertica_hook</span> <span class="kn">import</span> <span class="n">VerticaHook</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">BaseOperator</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="kn">import</span> <span class="n">apply_defaults</span>
 
diff --git a/_modules/webhdfs_hook.html b/_modules/webhdfs_hook.html
index d54cb05..3a44028 100644
--- a/_modules/webhdfs_hook.html
+++ b/_modules/webhdfs_hook.html
@@ -137,7 +137,21 @@
            <div itemprop="articleBody">
             
   <h1>Source code for webhdfs_hook</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="kn">import</span> <span class="n">BaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">configuration</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 
diff --git a/_sources/code.txt b/_sources/code.txt
index 2876876..ba1cddb 100644
--- a/_sources/code.txt
+++ b/_sources/code.txt
@@ -133,6 +133,10 @@ Variable                            Description
 ``{{ latest_date }}``               same as ``{{ ds }}``
 ``{{ ti }}``                        same as ``{{ task_instance }}``
 ``{{ params }}``                    a reference to the user-defined params dictionary
+``{{ var.value.my_var }}``          global defined variables represented as a dictionary
+``{{ var.json.my_var.path }}``      global defined variables represented as a dictionary
+                                    with deserialized JSON object, append the path to the
+                                    key within the JSON object
 ``{{ task_instance_key_str }}``     a unique, human-readable key to the task instance
                                     formatted ``{dag_id}_{task_id}_{ds}``
 ``conf``                            the full configuration object located at
@@ -151,6 +155,11 @@ dot notation. Here are some examples of what is possible:
 Refer to the models documentation for more information on the objects'
 attributes and methods.
 
+The ``var`` template variable allows you to access variables defined in Airflow's
+UI. You can access them as either plain-text or JSON. If you use JSON, you are
+also able to walk nested structures, such as dictionaries like:
+``{{ var.json.my_dict_var.key1 }}``
+
 Macros
 ''''''
 Macros are a way to expose objects to your templates and live under the
diff --git a/_sources/concepts.txt b/_sources/concepts.txt
index 811130d..8cfc8ab 100644
--- a/_sources/concepts.txt
+++ b/_sources/concepts.txt
@@ -485,7 +485,7 @@ the main UI. For example:
 
   #dags/subdag.py
   from airflow.models import DAG
-  from airflow.operators import DummyOperator
+  from airflow.operators.dummy_operator import DummyOperator
 
 
   # Dag is returned by a factory method
@@ -510,7 +510,7 @@ This SubDAG can then be referenced in your main DAG file:
   # main_dag.py
   from datetime import datetime, timedelta
   from airflow.models import DAG
-  from airflow.operators import SubDagOperator
+  from airflow.operators.subdag_operator import SubDagOperator
   from dags.subdag import sub_dag
 
 
diff --git a/_sources/faq.txt b/_sources/faq.txt
index 21623fc..e61c1bf 100644
--- a/_sources/faq.txt
+++ b/_sources/faq.txt
@@ -78,12 +78,17 @@ We recommend against using dynamic values as ``start_date``, especially
 once the period closes, and in theory an ``@hourly`` DAG would never get to
 an hour after now as ``now()`` moves along.
 
-We also recommend using rounded ``start_date`` in relation to your
-``schedule_interval``. This means an ``@hourly`` would be at ``00:00``
+
+Previously we also recommended using rounded ``start_date`` in relation to your
+``schedule_interval``. This meant an ``@hourly`` would be at ``00:00``
 minutes:seconds, a ``@daily`` job at midnight, a ``@monthly`` job on the
-first of the month. You can use any sensor or a ``TimeDeltaSensor`` to delay
-the execution of tasks within that period. While ``schedule_interval``
-does allow specifying a ``datetime.timedelta``
+first of the month. This is no longer required. Airflow will not auto align
+the ``start_date`` and the ``schedule_interval``, by using the ``start_date``
+as the moment to start looking.
+
+You can use any sensor or a ``TimeDeltaSensor`` to delay
+the execution of tasks within the schedule interval.
+While ``schedule_interval`` does allow specifying a ``datetime.timedelta``
 object, we recommend using the macros or cron expressions instead, as
 it enforces this idea of rounded schedules.
 
diff --git a/_sources/index.txt b/_sources/index.txt
index c98d619..133d5ab 100644
--- a/_sources/index.txt
+++ b/_sources/index.txt
@@ -7,10 +7,10 @@
 Apache Airflow (incubating) Documentation
 =========================================
 
-.. note ::
+.. important::
 
-    Apache Airflow is an effort undergoing incubation at The Apache
-    Software Foundation (ASF), sponsored by Chris Riccomini.
+    **Disclaimer**: Apache Airflow is an effort undergoing incubation at The
+    Apache Software Foundation (ASF), sponsored by the Apache Incubator.
     Incubation is required of all newly accepted projects until a further
     review indicates that the infrastructure, communications, and
     decision making process have stabilized in a manner consistent with
@@ -19,6 +19,7 @@ Apache Airflow (incubating) Documentation
     the code, it does indicate that the project has yet to be fully
     endorsed by the ASF.
 
+
 Airflow is a platform to programmatically author, schedule and monitor
 workflows.
 
diff --git a/_sources/tutorial.txt b/_sources/tutorial.txt
index e9d382b..a93479c 100644
--- a/_sources/tutorial.txt
+++ b/_sources/tutorial.txt
@@ -18,7 +18,7 @@ complicated, a line by line explanation follows below.
     https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py
     """
     from airflow import DAG
-    from airflow.operators import BashOperator
+    from airflow.operators.bash_operator import BashOperator
     from datetime import datetime, timedelta
 
 
@@ -100,7 +100,7 @@ Airflow DAG object. Let's start by importing the libraries we will need.
     from airflow import DAG
 
     # Operators; we need this to operate!
-    from airflow.operators import BashOperator
+    from airflow.operators.bash_operator import BashOperator
 
 Default Arguments
 -----------------
@@ -270,7 +270,7 @@ something like this:
     http://airflow.readthedocs.org/en/latest/tutorial.html
     """
     from airflow import DAG
-    from airflow.operators import BashOperator
+    from airflow.operators.bash_operator import BashOperator
     from datetime import datetime, timedelta
 
 
diff --git a/code.html b/code.html
index 06a0aab..592ec27 100644
--- a/code.html
+++ b/code.html
@@ -322,6 +322,15 @@ between each tries</li>
 </div>
 <div class="section" id="module-airflow.operators">
 <span id="operator-api"></span><h3>Operator API<a class="headerlink" href="#module-airflow.operators" title="Permalink to this headline">¶</a></h3>
+<p>Importer that dynamically loads a class and module from its parent. This
+allows Airflow to support <cite>from airflow.operators.bash_operator import
+BashOperator</cite> even though BashOperator is actually in
+airflow.operators.bash_operator.</p>
+<p>The importer also takes over for the parent_module by wrapping it. This is
+required to support attribute-based usage:</p>
+<blockquote>
+<div>from airflow import operators
+operators.BashOperator(...)</div></blockquote>
 <dl class="class">
 <dt id="airflow.operators.BashOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">BashOperator</code><span class="sig-paren">(</span><em>bash_command</em>, <em>xcom_push=False</em>, <em>env=None</em>, <em>output_encoding='utf-8'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bash_operator.html#BashOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.oper [...]
@@ -431,7 +440,7 @@ is allowed</li>
 
 <dl class="class">
 <dt id="airflow.operators.ExternalTaskSensor">
-<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">ExternalTaskSensor</code><span class="sig-paren">(</span><em>external_dag_id</em>, <em>external_task_id</em>, <em>allowed_states=None</em>, <em>execution_delta=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/sensors.html#ExternalTaskSensor"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
+<em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">ExternalTaskSensor</code><span class="sig-paren">(</span><em>external_dag_id</em>, <em>external_task_id</em>, <em>allowed_states=None</em>, <em>execution_delta=None</em>, <em>execution_date_fn=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/sensors.html#ExternalTaskSensor"><span class="viewcode-link">[source]< [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.operators.sensors.BaseSensorOperator" title="airflow.operators.sensors.BaseSensorOperator"><code class="xref py py-class docutils literal"><span class="pre">sensors.BaseSensorOperator</span></code></a></p>
 <p>Waits for a task to complete in a different DAG</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -446,7 +455,12 @@ wait for</li>
 <li><strong>allowed_states</strong> (<em>list</em>) &#8211; list of allowed states, default is <code class="docutils literal"><span class="pre">['success']</span></code></li>
 <li><strong>execution_delta</strong> (<em>datetime.timedelta</em>) &#8211; time difference with the previous execution to
 look at, the default is the same execution_date as the current task.
-For yesterday, use [positive!] datetime.timedelta(days=1)</li>
+For yesterday, use [positive!] datetime.timedelta(days=1). Either
+execution_delta or execution_date_fn can be passed to
+ExternalTaskSensor, but not both.</li>
+<li><strong>execution_date_fn</strong> (<em>callable</em>) &#8211; function that receives the current execution date
+and returns the desired execution date to query. Either execution_delta
+or execution_date_fn can be passed to ExternalTaskSensor, but not both.</li>
 </ul>
 </td>
 </tr>
@@ -539,7 +553,10 @@ part of the script before the first occurrence of <cite>script_begin_tag</cite><
 <dt id="airflow.operators.HivePartitionSensor">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">HivePartitionSensor</code><span class="sig-paren">(</span><em>table</em>, <em>partition=&quot;ds='{{ ds }}'&quot;</em>, <em>metastore_conn_id='metastore_default'</em>, <em>schema='default'</em>, <em>poke_interval=180</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/sensors.html#HivePartitionSensor"><span class="view [...]
 <dd><p>Bases: <a class="reference internal" href="#airflow.operators.sensors.BaseSensorOperator" title="airflow.operators.sensors.BaseSensorOperator"><code class="xref py py-class docutils literal"><span class="pre">sensors.BaseSensorOperator</span></code></a></p>
-<p>Waits for a partition to show up in Hive</p>
+<p>Waits for a partition to show up in Hive.</p>
+<p>Note: Because &#64;partition supports general logical operators, it
+can be inefficient. Consider using NamedHivePartitionSensor instead if
+you don&#8217;t need the full flexibility of HivePartitionSensor.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
@@ -548,7 +565,7 @@ part of the script before the first occurrence of <cite>script_begin_tag</cite><
 <li><strong>table</strong> (<em>string</em>) &#8211; The name of the table to wait for, supports the dot
 notation (my_database.my_table)</li>
 <li><strong>partition</strong> (<em>string</em>) &#8211; The partition clause to wait for. This is passed as
-is to the Metastore Thrift client &#8220;get_partitions_by_filter&#8221; method,
+is to the metastore Thrift client &#8220;get_partitions_by_filter&#8221; method,
 and apparently supports SQL like notation as in <cite>ds=&#8216;2015-01-01&#8217;
 AND type=&#8217;value&#8217;</cite> and &gt; &lt; sings as in &#8220;ds&gt;=2015-01-01&#8221;</li>
 <li><strong>metastore_conn_id</strong> (<em>str</em>) &#8211; reference to the metastore thrift service
@@ -841,7 +858,7 @@ Template reference are recognized by str ending in '.sql'</em>) &#8211; the sql
 <dl class="class">
 <dt id="airflow.operators.PrestoCheckOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">PrestoCheckOperator</code><span class="sig-paren">(</span><em>sql</em>, <em>presto_conn_id='presto_default'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/presto_check_operator.html#PrestoCheckOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.operators.PrestoCheckOperato [...]
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">check_operator.CheckOperator</span></code></p>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.operators.check_operator.CheckOperator</span></code></p>
 <p>Performs checks against Presto. The <code class="docutils literal"><span class="pre">PrestoCheckOperator</span></code> expects
 a sql query that will return a single row. Each value on that
 first row is evaluated using python <code class="docutils literal"><span class="pre">bool</span></code> casting. If any of the
@@ -880,7 +897,7 @@ without stopping the progress of the DAG.</p>
 <dl class="class">
 <dt id="airflow.operators.PrestoIntervalCheckOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">PrestoIntervalCheckOperator</code><span class="sig-paren">(</span><em>table</em>, <em>metrics_thresholds</em>, <em>date_filter_column='ds'</em>, <em>days_back=-7</em>, <em>presto_conn_id='presto_default'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/presto_check_operator.html#PrestoIntervalCheckOperator"><span cl [...]
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">check_operator.IntervalCheckOperator</span></code></p>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.operators.check_operator.IntervalCheckOperator</span></code></p>
 <p>Checks that the values of metrics given as SQL expressions are within
 a certain tolerance of the ones from days_back before.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -903,7 +920,7 @@ against. Defaults to 7 days</li>
 <dl class="class">
 <dt id="airflow.operators.PrestoValueCheckOperator">
 <em class="property">class </em><code class="descclassname">airflow.operators.</code><code class="descname">PrestoValueCheckOperator</code><span class="sig-paren">(</span><em>sql</em>, <em>pass_value</em>, <em>tolerance=None</em>, <em>presto_conn_id='presto_default'</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/presto_check_operator.html#PrestoValueCheckOperator"><span class="viewcode-link">[source]</span></a><a class= [...]
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">check_operator.ValueCheckOperator</span></code></p>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.operators.check_operator.ValueCheckOperator</span></code></p>
 <p>Performs a simple value check using sql code.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
@@ -1188,6 +1205,15 @@ The default is False.</li>
 </div>
 <div class="section" id="module-airflow.contrib.operators">
 <span id="community-contributed-operators"></span><h3>Community-contributed Operators<a class="headerlink" href="#module-airflow.contrib.operators" title="Permalink to this headline">¶</a></h3>
+<p>Importer that dynamically loads a class and module from its parent. This
+allows Airflow to support <cite>from airflow.operators.bash_operator import
+BashOperator</cite> even though BashOperator is actually in
+airflow.operators.bash_operator.</p>
+<p>The importer also takes over for the parent_module by wrapping it. This is
+required to support attribute-based usage:</p>
+<blockquote>
+<div>from airflow import operators
+operators.BashOperator(...)</div></blockquote>
 <dl class="class">
 <dt id="airflow.contrib.operators.SSHExecuteOperator">
 <em class="property">class </em><code class="descclassname">airflow.contrib.operators.</code><code class="descname">SSHExecuteOperator</code><span class="sig-paren">(</span><em>ssh_hook</em>, <em>bash_command</em>, <em>xcom_push=False</em>, <em>env=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ssh_execute_operator.html#SSHExecuteOperator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="# [...]
@@ -1286,7 +1312,7 @@ specific database</li>
 
 <dl class="class">
 <dt id="airflow.contrib.operators.gcs_download_operator.GoogleCloudStorageDownloadOperator">
-<em class="property">class </em><code class="descclassname">airflow.contrib.operators.gcs_download_operator.</code><code class="descname">GoogleCloudStorageDownloadOperator</code><span class="sig-paren">(</span><em>bucket</em>, <em>object</em>, <em>filename</em>, <em>google_cloud_storage_conn_id='google_cloud_storage_default'</em>, <em>delegate_to=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/contrib/opera [...]
+<em class="property">class </em><code class="descclassname">airflow.contrib.operators.gcs_download_operator.</code><code class="descname">GoogleCloudStorageDownloadOperator</code><span class="sig-paren">(</span><em>bucket</em>, <em>object</em>, <em>filename=False</em>, <em>store_to_xcom_key=False</em>, <em>google_cloud_storage_conn_id='google_cloud_storage_default'</em>, <em>delegate_to=None</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference intern [...]
 <dd><p>Downloads a file from Google Cloud Storage.</p>
 </dd></dl>
 
@@ -1560,8 +1586,8 @@ More info: <a class="reference external" href="https://www.hipchat.com/docs/apiv
 in all templates</p>
 <table border="1" class="docutils">
 <colgroup>
-<col width="40%" />
-<col width="60%" />
+<col width="38%" />
+<col width="62%" />
 </colgroup>
 <thead valign="bottom">
 <tr class="row-odd"><th class="head">Variable</th>
@@ -1620,6 +1646,14 @@ in all templates</p>
 <tr class="row-even"><td><code class="docutils literal"><span class="pre">{{</span> <span class="pre">params</span> <span class="pre">}}</span></code></td>
 <td>a reference to the user-defined params dictionary</td>
 </tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">{{</span> <span class="pre">var.value.my_var</span> <span class="pre">}}</span></code></td>
+<td>global defined variables represented as a dictionary</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">{{</span> <span class="pre">var.json.my_var.path</span> <span class="pre">}}</span></code></td>
+<td>global defined variables represented as a dictionary
+with deserialized JSON object, append the path to the
+key within the JSON object</td>
+</tr>
 <tr class="row-odd"><td><code class="docutils literal"><span class="pre">{{</span> <span class="pre">task_instance_key_str</span> <span class="pre">}}</span></code></td>
 <td>a unique, human-readable key to the task instance
 formatted <code class="docutils literal"><span class="pre">{dag_id}_{task_id}_{ds}</span></code></td>
@@ -1647,6 +1681,10 @@ dot notation. Here are some examples of what is possible:
 <code class="docutils literal"><span class="pre">{{</span> <span class="pre">task.owner</span> <span class="pre">}}</span></code>, <code class="docutils literal"><span class="pre">{{</span> <span class="pre">task.task_id</span> <span class="pre">}}</span></code>, <code class="docutils literal"><span class="pre">{{</span> <span class="pre">ti.hostname</span> <span class="pre">}}</span></code>, ...
 Refer to the models documentation for more information on the objects&#8217;
 attributes and methods.</p>
+<p>The <code class="docutils literal"><span class="pre">var</span></code> template variable allows you to access variables defined in Airflow&#8217;s
+UI. You can access them as either plain-text or JSON. If you use JSON, you are
+also able to walk nested structures, such as dictionaries like:
+<code class="docutils literal"><span class="pre">{{</span> <span class="pre">var.json.my_dict_var.key1</span> <span class="pre">}}</span></code></p>
 </div>
 <div class="section" id="id2">
 <h3>Macros<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
@@ -1736,12 +1774,6 @@ as specified in the output format</p>
 </dd></dl>
 
 <dl class="function">
-<dt id="airflow.macros.integrate_plugins">
-<code class="descclassname">airflow.macros.</code><code class="descname">integrate_plugins</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/macros.html#integrate_plugins"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.macros.integrate_plugins" title="Permalink to this definition">¶</a></dt>
-<dd><p>Integrate plugins to the context</p>
-</dd></dl>
-
-<dl class="function">
 <dt id="airflow.macros.random">
 <code class="descclassname">airflow.macros.</code><code class="descname">random</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &rarr; x in the interval [0, 1).<a class="headerlink" href="#airflow.macros.random" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
@@ -1972,6 +2004,12 @@ template_searchpath and user_defined_macros</p>
 </dd></dl>
 
 <dl class="method">
+<dt id="airflow.models.DAG.normalize_schedule">
+<code class="descname">normalize_schedule</code><span class="sig-paren">(</span><em>dttm</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.normalize_schedule"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.DAG.normalize_schedule" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns dttm + interval unless dttm is first interval then it returns dttm</p>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.models.DAG.run">
 <code class="descname">run</code><span class="sig-paren">(</span><em>start_date=None</em>, <em>end_date=None</em>, <em>mark_success=False</em>, <em>include_adhoc=False</em>, <em>local=False</em>, <em>executor=None</em>, <em>donot_pickle=False</em>, <em>ignore_dependencies=False</em>, <em>ignore_first_depends_on_past=False</em>, <em>pool=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#DAG.run"><span class="viewcode-link">[source]</ [...]
 <dd><p>Runs the DAG.</p>
@@ -2465,6 +2503,24 @@ session is committed.</td>
 <dt id="airflow.models.TaskInstance.run">
 <code class="descname">run</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/airflow/models.html#TaskInstance.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.models.TaskInstance.run" title="Permalink to this definition">¶</a></dt>
 <dd><p>Runs the task instance.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>verbose</strong> (<em>boolean</em>) &#8211; whether to turn on more verbose loggin</li>
+<li><strong>ignore_dependencies</strong> (<em>boolean</em>) &#8211; Doesn&#8217;t check for deps, just runs</li>
+<li><strong>ignore_depends_on_past</strong> (<em>boolean</em>) &#8211; Ignore depends_on_past but respect
+other dependencies</li>
+<li><strong>force</strong> (<em>boolean</em>) &#8211; Forces a run regarless of previous success</li>
+<li><strong>mark_success</strong> (<em>boolean</em>) &#8211; Don&#8217;t run the task, mark its state as success</li>
+<li><strong>test_mode</strong> (<em>boolean</em>) &#8211; Doesn&#8217;t record success or failure in the DB</li>
+<li><strong>pool</strong> (<em>str</em>) &#8211; specifies the pool to use to run the task instance</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
 </dd></dl>
 
 <dl class="method">
@@ -2631,6 +2687,15 @@ passwords when using operators or hooks.</p>
 </div>
 <div class="section" id="module-airflow.hooks">
 <span id="hooks"></span><h2>Hooks<a class="headerlink" href="#module-airflow.hooks" title="Permalink to this headline">¶</a></h2>
+<p>Importer that dynamically loads a class and module from its parent. This
+allows Airflow to support <cite>from airflow.operators.bash_operator import
+BashOperator</cite> even though BashOperator is actually in
+airflow.operators.bash_operator.</p>
+<p>The importer also takes over for the parent_module by wrapping it. This is
+required to support attribute-based usage:</p>
+<blockquote>
+<div>from airflow import operators
+operators.BashOperator(...)</div></blockquote>
 <dl class="class">
 <dt id="airflow.hooks.DbApiHook">
 <em class="property">class </em><code class="descclassname">airflow.hooks.</code><code class="descname">DbApiHook</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/dbapi_hook.html#DbApiHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.DbApiHook" title="Permalink to this definition">¶</a></dt>
@@ -2799,7 +2864,8 @@ traditional CLI. To enable <code class="docutils literal"><span class="pre">beel
 extra field of your connection as in <code class="docutils literal"><span class="pre">{</span> <span class="pre">&quot;use_beeline&quot;:</span> <span class="pre">true</span> <span class="pre">}</span></code></p>
 <p>Note that you can also set default hive CLI parameters using the
 <code class="docutils literal"><span class="pre">hive_cli_params</span></code> to be used in your connection as in
-<code class="docutils literal"><span class="pre">{&quot;hive_cli_params&quot;:</span> <span class="pre">&quot;-hiveconf</span> <span class="pre">mapred.job.tracker=some.jobtracker:444&quot;}</span></code></p>
+<code class="docutils literal"><span class="pre">{&quot;hive_cli_params&quot;:</span> <span class="pre">&quot;-hiveconf</span> <span class="pre">mapred.job.tracker=some.jobtracker:444&quot;}</span></code>
+Parameters passed here can be overridden by run_cli&#8217;s hive_conf param</p>
 <p>The extra connection parameter <code class="docutils literal"><span class="pre">auth</span></code> gets passed as in the <code class="docutils literal"><span class="pre">jdbc</span></code>
 connection string as is.</p>
 <dl class="method">
@@ -2834,8 +2900,20 @@ and values</li>
 
 <dl class="method">
 <dt id="airflow.hooks.HiveCliHook.run_cli">
-<code class="descname">run_cli</code><span class="sig-paren">(</span><em>hql</em>, <em>schema=None</em>, <em>verbose=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook.run_cli"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveCliHook.run_cli" title="Permalink to this definition">¶</a></dt>
-<dd><p>Run an hql statement using the hive cli</p>
+<code class="descname">run_cli</code><span class="sig-paren">(</span><em>hql</em>, <em>schema=None</em>, <em>verbose=True</em>, <em>hive_conf=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveCliHook.run_cli"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveCliHook.run_cli" title="Permalink to this definition">¶</a></dt>
+<dd><p>Run an hql statement using the hive cli. If hive_conf is specified it should be a
+dict and the entries will be set as key/value pairs in HiveConf</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>hive_conf</strong> (<em>dict</em>) &#8211; if specified these key value pairs will be passed to hive as
+<code class="docutils literal"><span class="pre">-hiveconf</span> <span class="pre">&quot;key&quot;=&quot;value&quot;</span></code>. Note that they will be passed after the
+<code class="docutils literal"><span class="pre">hive_cli_params</span></code> and thus will override whatever values are specified in
+the database.</td>
+</tr>
+</tbody>
+</table>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveCliHook</span><span class="p">()</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">result</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">run_cli</span><span class="p">(</span><span class="s2">&quot;USE airflow;&quot;</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="s2">&quot;OK&quot;</span> <span class="ow">in</span> <span class="n">result</span><span class="p">)</span>
@@ -2858,9 +2936,60 @@ and values</li>
 <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></p>
 <p>Wrapper to interact with the Hive Metastore</p>
 <dl class="method">
+<dt id="airflow.hooks.HiveMetastoreHook.check_for_named_partition">
+<code class="descname">check_for_named_partition</code><span class="sig-paren">(</span><em>schema</em>, <em>table</em>, <em>partition_name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveMetastoreHook.check_for_named_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveMetastoreHook.check_for_named_partition" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks whether a partition with a given name exists</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>schema</strong> (<em>string</em>) &#8211; Name of hive schema (database) &#64;table belongs to</li>
+<li><strong>table</strong> &#8211; Name of hive table &#64;partition belongs to</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Partition:</th><td class="field-body"><p class="first">Name of the partitions to check for (eg <cite>a=b/c=d</cite>)</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">boolean</p>
+</td>
+</tr>
+</tbody>
+</table>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=2015-01-01&quot;</span><span class="p">)</span>
+<span class="go">True</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_named_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=xxx&quot;</span><span class="p">)</span>
+<span class="go">False</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
 <dt id="airflow.hooks.HiveMetastoreHook.check_for_partition">
 <code class="descname">check_for_partition</code><span class="sig-paren">(</span><em>schema</em>, <em>table</em>, <em>partition</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/hive_hooks.html#HiveMetastoreHook.check_for_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.hooks.HiveMetastoreHook.check_for_partition" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks whether a partition exists</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>schema</strong> (<em>string</em>) &#8211; Name of hive schema (database) &#64;table belongs to</li>
+<li><strong>table</strong> &#8211; Name of hive table &#64;partition belongs to</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Partition:</th><td class="field-body"><p class="first">Expression that matches the partitions to check for
+(eg <cite>a = &#8216;b&#8217; AND c = &#8216;d&#8217;</cite>)</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">boolean</p>
+</td>
+</tr>
+</tbody>
+</table>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span> <span class="o">=</span> <span class="n">HiveMetastoreHook</span><span class="p">()</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">hh</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
@@ -3377,6 +3506,15 @@ directory, files will be uploaded inside.</li>
 
 <div class="section" id="module-airflow.contrib.hooks">
 <span id="community-contributed-hooks"></span><h3>Community contributed hooks<a class="headerlink" href="#module-airflow.contrib.hooks" title="Permalink to this headline">¶</a></h3>
+<p>Importer that dynamically loads a class and module from its parent. This
+allows Airflow to support <cite>from airflow.operators.bash_operator import
+BashOperator</cite> even though BashOperator is actually in
+airflow.operators.bash_operator.</p>
+<p>The importer also takes over for the parent_module by wrapping it. This is
+required to support attribute-based usage:</p>
+<blockquote>
+<div>from airflow import operators
+operators.BashOperator(...)</div></blockquote>
 <dl class="class">
 <dt id="airflow.contrib.hooks.BigQueryHook">
 <em class="property">class </em><code class="descclassname">airflow.contrib.hooks.</code><code class="descname">BigQueryHook</code><span class="sig-paren">(</span><em>bigquery_conn_id='bigquery_default'</em>, <em>delegate_to=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/bigquery_hook.html#BigQueryHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.BigQueryHook" title="Permalink to this definition" [...]
@@ -3500,7 +3638,7 @@ downstream.</p>
 <dt id="airflow.contrib.hooks.FTPHook.close_conn">
 <code class="descname">close_conn</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/ftp_hook.html#FTPHook.close_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.FTPHook.close_conn" title="Permalink to this definition">¶</a></dt>
 <dd><p>Closes the connection. An error will occur if the
-connection wasnt ever opened.</p>
+connection wasn&#8217;t ever opened.</p>
 </dd></dl>
 
 <dl class="method">
@@ -3534,7 +3672,7 @@ connection wasnt ever opened.</p>
 <dl class="method">
 <dt id="airflow.contrib.hooks.FTPHook.delete_file">
 <code class="descname">delete_file</code><span class="sig-paren">(</span><em>path</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ftp_hook.html#FTPHook.delete_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.FTPHook.delete_file" title="Permalink to this definition">¶</a></dt>
-<dd><p>Removes a file on the FTP Server</p>
+<dd><p>Removes a file on the FTP Server.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
diff --git a/concepts.html b/concepts.html
index b41766f..15b2b4d 100644
--- a/concepts.html
+++ b/concepts.html
@@ -573,7 +573,7 @@ object. This will prevent the SubDAG from being treated like a separate DAG in
 the main UI. For example:</p>
 <div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="c1">#dags/subdag.py</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">DAG</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">DummyOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.dummy_operator</span> <span class="k">import</span> <span class="n">DummyOperator</span>
 
 
 <span class="c1"># Dag is returned by a factory method</span>
@@ -596,7 +596,7 @@ the main UI. For example:</p>
 <div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="c1"># main_dag.py</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">DAG</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">SubDagOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.subdag_operator</span> <span class="k">import</span> <span class="n">SubDagOperator</span>
 <span class="kn">from</span> <span class="nn">dags.subdag</span> <span class="k">import</span> <span class="n">sub_dag</span>
 
 
diff --git a/faq.html b/faq.html
index 050da7b..3d8cb5d 100644
--- a/faq.html
+++ b/faq.html
@@ -202,12 +202,15 @@ inactive DagRuns to get the new task to get onboarded properly.</p>
 <code class="docutils literal"><span class="pre">datetime.now()</span></code> as it can be quite confusing. The task is triggered
 once the period closes, and in theory an <code class="docutils literal"><span class="pre">&#64;hourly</span></code> DAG would never get to
 an hour after now as <code class="docutils literal"><span class="pre">now()</span></code> moves along.</p>
-<p>We also recommend using rounded <code class="docutils literal"><span class="pre">start_date</span></code> in relation to your
-<code class="docutils literal"><span class="pre">schedule_interval</span></code>. This means an <code class="docutils literal"><span class="pre">&#64;hourly</span></code> would be at <code class="docutils literal"><span class="pre">00:00</span></code>
+<p>Previously we also recommended using rounded <code class="docutils literal"><span class="pre">start_date</span></code> in relation to your
+<code class="docutils literal"><span class="pre">schedule_interval</span></code>. This meant an <code class="docutils literal"><span class="pre">&#64;hourly</span></code> would be at <code class="docutils literal"><span class="pre">00:00</span></code>
 minutes:seconds, a <code class="docutils literal"><span class="pre">&#64;daily</span></code> job at midnight, a <code class="docutils literal"><span class="pre">&#64;monthly</span></code> job on the
-first of the month. You can use any sensor or a <code class="docutils literal"><span class="pre">TimeDeltaSensor</span></code> to delay
-the execution of tasks within that period. While <code class="docutils literal"><span class="pre">schedule_interval</span></code>
-does allow specifying a <code class="docutils literal"><span class="pre">datetime.timedelta</span></code>
+first of the month. This is no longer required. Airflow will not auto align
+the <code class="docutils literal"><span class="pre">start_date</span></code> and the <code class="docutils literal"><span class="pre">schedule_interval</span></code>, by using the <code class="docutils literal"><span class="pre">start_date</span></code>
+as the moment to start looking.</p>
+<p>You can use any sensor or a <code class="docutils literal"><span class="pre">TimeDeltaSensor</span></code> to delay
+the execution of tasks within the schedule interval.
+While <code class="docutils literal"><span class="pre">schedule_interval</span></code> does allow specifying a <code class="docutils literal"><span class="pre">datetime.timedelta</span></code>
 object, we recommend using the macros or cron expressions instead, as
 it enforces this idea of rounded schedules.</p>
 <p>When using <code class="docutils literal"><span class="pre">depends_on_past=True</span></code> it&#8217;s important to pay special attention
diff --git a/genindex.html b/genindex.html
index ecba6b9..20b510f 100644
--- a/genindex.html
+++ b/genindex.html
@@ -150,6 +150,7 @@
  | <a href="#K"><strong>K</strong></a>
  | <a href="#L"><strong>L</strong></a>
  | <a href="#M"><strong>M</strong></a>
+ | <a href="#N"><strong>N</strong></a>
  | <a href="#O"><strong>O</strong></a>
  | <a href="#P"><strong>P</strong></a>
  | <a href="#Q"><strong>Q</strong></a>
@@ -288,6 +289,10 @@
   </dt>
 
       
+  <dt><a href="code.html#airflow.hooks.HiveMetastoreHook.check_for_named_partition">check_for_named_partition() (airflow.hooks.HiveMetastoreHook method)</a>
+  </dt>
+
+      
   <dt><a href="code.html#airflow.hooks.HiveMetastoreHook.check_for_partition">check_for_partition() (airflow.hooks.HiveMetastoreHook method)</a>
   </dt>
 
@@ -774,19 +779,15 @@
 
       </dl></dd>
       
-  <dt><a href="code.html#airflow.macros.integrate_plugins">integrate_plugins() (in module airflow.macros)</a>
-  </dt>
-
-      
   <dt><a href="code.html#airflow.models.DAG.is_paused">is_paused (airflow.models.DAG attribute)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.models.TaskInstance.is_premature">is_premature() (airflow.models.TaskInstance method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="code.html#airflow.models.TaskInstance.is_queueable">is_queueable() (airflow.models.TaskInstance method)</a>
   </dt>
@@ -914,6 +915,16 @@
   </dl></td>
 </tr></table>
 
+<h2 id="N">N</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="code.html#airflow.models.DAG.normalize_schedule">normalize_schedule() (airflow.models.DAG method)</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
 <h2 id="O">O</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
diff --git a/index.html b/index.html
index 383bab0..5ac4744 100644
--- a/index.html
+++ b/index.html
@@ -140,10 +140,10 @@
 <a class="reference internal image-reference" href="_images/incubator.jpg"><img alt="_images/incubator.jpg" src="_images/incubator.jpg" style="width: 150px;" /></a>
 <div class="section" id="apache-airflow-incubating-documentation">
 <h1>Apache Airflow (incubating) Documentation<a class="headerlink" href="#apache-airflow-incubating-documentation" title="Permalink to this headline">¶</a></h1>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Apache Airflow is an effort undergoing incubation at The Apache
-Software Foundation (ASF), sponsored by Chris Riccomini.
+<div class="admonition important">
+<p class="first admonition-title">Important</p>
+<p class="last"><strong>Disclaimer</strong>: Apache Airflow is an effort undergoing incubation at The
+Apache Software Foundation (ASF), sponsored by the Apache Incubator.
 Incubation is required of all newly accepted projects until a further
 review indicates that the infrastructure, communications, and
 decision making process have stabilized in a manner consistent with
diff --git a/objects.inv b/objects.inv
index 36f1543..56e566e 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index 901905a..97adc3c 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{hooks:[1,1,0,"-"],operators:[1,1,0,"-"]},"airflow.contrib.executors.mesos_executor":{MesosExecutor:[1,0,1,""]},"airflow.contrib.hooks":{BigQueryHook:[1,0,1,""],CloudantHook:[1,0,1,""],FTPHook:[1,0,1,""],GoogleCloudStorageHook:[1,0,1,""],SSHHook:[1,0,1,""],Vertica [...]
\ No newline at end of file
+Search.setIndex({envversion:47,filenames:["cli","code","concepts","configuration","faq","index","installation","license","plugins","profiling","project","scheduler","security","start","tutorial","ui"],objects:{"airflow.contrib":{hooks:[1,1,0,"-"],operators:[1,1,0,"-"]},"airflow.contrib.executors.mesos_executor":{MesosExecutor:[1,0,1,""]},"airflow.contrib.hooks":{BigQueryHook:[1,0,1,""],CloudantHook:[1,0,1,""],FTPHook:[1,0,1,""],GoogleCloudStorageHook:[1,0,1,""],SSHHook:[1,0,1,""],Vertica [...]
\ No newline at end of file
diff --git a/tutorial.html b/tutorial.html
index 2b379c9..abcbbc0 100644
--- a/tutorial.html
+++ b/tutorial.html
@@ -169,7 +169,7 @@ complicated, a line by line explanation follows below.</p>
 <span class="sd">https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">DAG</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">BashOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.bash_operator</span> <span class="k">import</span> <span class="n">BashOperator</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 
 
@@ -245,7 +245,7 @@ Airflow DAG object. Let&#8217;s start by importing the libraries we will need.</
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">DAG</span>
 
 <span class="c1"># Operators; we need this to operate!</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">BashOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.bash_operator</span> <span class="k">import</span> <span class="n">BashOperator</span>
 </pre></div>
 </div>
 </div>
@@ -397,7 +397,7 @@ something like this:</p>
 <span class="sd">http://airflow.readthedocs.org/en/latest/tutorial.html</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">DAG</span>
-<span class="kn">from</span> <span class="nn">airflow.operators</span> <span class="k">import</span> <span class="n">BashOperator</span>
+<span class="kn">from</span> <span class="nn">airflow.operators.bash_operator</span> <span class="k">import</span> <span class="n">BashOperator</span>
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 
 


[airflow-site] 23/30: Remove HTML comments from the beginning of the files

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 7ce94b08b1608b79c3c298cb63656a19e3858987
Author: Kamil Breguła <ka...@polidea.com>
AuthorDate: Tue Sep 10 12:41:47 2019 +0200

    Remove HTML comments from the beginning of the files
---
 1.10.3/_api/airflow/contrib/executors/index.html            | 12 +-----------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.3/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.3/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.3/_api/airflow/executors/index.html                    |  8 +-------
 1.10.3/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.3/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.3/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.3/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.3/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.3/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.3/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.3/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.3/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.3/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.3/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.3/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.3/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.3/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.3/_api/airflow/models/index.html                       |  8 +-------
 1.10.3/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.3/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.3/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.3/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.3/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.3/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.3/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.3/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.3/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/index.html                    |  8 +-------
 1.10.3/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.3/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.3/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.3/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.3/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.3/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.3/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.3/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.3/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.3/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.3/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.3/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.3/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.3/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.3/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.3/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.3/_api/index.html                                      |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.3/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 1.10.3/_modules/airflow/dag/base_dag.html                   |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.3/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.3/_modules/airflow/executors.html                      |  8 +-------
 1.10.3/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.3/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.3/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.3/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.3/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.3/_modules/airflow/hooks.html                          |  8 +-------
 1.10.3/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.3/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.3/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.3/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.3/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.3/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.3/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.3/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.3/_modules/airflow/lineage.html                        |  8 +-------
 1.10.3/_modules/airflow/macros.html                         |  8 +-------
 1.10.3/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.3/_modules/airflow/models.html                         |  8 +-------
 1.10.3/_modules/airflow/models/base.html                    |  8 +-------
 1.10.3/_modules/airflow/models/connection.html              |  8 +-------
 1.10.3/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.3/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.3/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.3/_modules/airflow/models/log.html                     |  8 +-------
 1.10.3/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.3/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.3/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.3/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.3/_modules/airflow/operators.html                      |  8 +-------
 1.10.3/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.3/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.3/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.3/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.3/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.3/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.3/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.3/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.3/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.3/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.3/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.3/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.3/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.3/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.3/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.3/_modules/airflow/sensors.html                        |  8 +-------
 1.10.3/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.3/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.3/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.3/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.3/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.3/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.3/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.3/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.3/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.3/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.3/_modules/airflow/ti_deps/dep_context.html            |  8 +-------
 .../airflow/ti_deps/deps/not_in_retry_period_dep.html       |  8 +-------
 1.10.3/_modules/airflow/ti_deps/deps/prev_dagrun_dep.html   |  8 +-------
 1.10.3/_modules/airflow/ti_deps/deps/trigger_rule_dep.html  |  8 +-------
 1.10.3/_modules/airflow/utils/dag_processing.html           |  8 +-------
 1.10.3/_modules/airflow/utils/dates.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/db.html                       |  8 +-------
 1.10.3/_modules/airflow/utils/decorators.html               |  8 +-------
 1.10.3/_modules/airflow/utils/email.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/helpers.html                  |  8 +-------
 1.10.3/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.3/_modules/airflow/utils/net.html                      |  8 +-------
 1.10.3/_modules/airflow/utils/operator_resources.html       |  8 +-------
 1.10.3/_modules/airflow/utils/sqlalchemy.html               |  8 +-------
 1.10.3/_modules/airflow/utils/state.html                    |  8 +-------
 1.10.3/_modules/airflow/utils/timeout.html                  |  8 +-------
 1.10.3/_modules/airflow/utils/trigger_rule.html             |  8 +-------
 1.10.3/_modules/airflow/utils/weight_rule.html              |  8 +-------
 1.10.3/_modules/index.html                                  |  8 +-------
 1.10.3/api.html                                             |  8 +-------
 1.10.3/changelog.html                                       |  8 +-------
 1.10.3/cli.html                                             |  8 +-------
 1.10.3/concepts.html                                        |  8 +-------
 1.10.3/faq.html                                             |  8 +-------
 1.10.3/genindex.html                                        |  8 +-------
 1.10.3/howto/check-health.html                              |  8 +-------
 1.10.3/howto/connection/aws.html                            |  8 +-------
 1.10.3/howto/connection/gcp.html                            |  8 +-------
 1.10.3/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.3/howto/connection/index.html                          |  8 +-------
 1.10.3/howto/connection/mysql.html                          |  8 +-------
 1.10.3/howto/connection/oracle.html                         |  8 +-------
 1.10.3/howto/connection/postgres.html                       |  8 +-------
 1.10.3/howto/connection/ssh.html                            |  8 +-------
 1.10.3/howto/executor/use-celery.html                       |  8 +-------
 1.10.3/howto/executor/use-dask.html                         |  8 +-------
 1.10.3/howto/executor/use-mesos.html                        |  8 +-------
 1.10.3/howto/index.html                                     |  8 +-------
 1.10.3/howto/initialize-database.html                       |  8 +-------
 1.10.3/howto/operator/bash.html                             |  8 +-------
 1.10.3/howto/operator/dingding.html                         |  8 +-------
 1.10.3/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.3/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.3/howto/operator/gcp/function.html                     |  8 +-------
 1.10.3/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.3/howto/operator/gcp/index.html                        |  8 +-------
 1.10.3/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.3/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.3/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.3/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.3/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.3/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.3/howto/operator/index.html                            |  8 +-------
 1.10.3/howto/operator/python.html                           |  8 +-------
 1.10.3/howto/run-behind-proxy.html                          |  8 +-------
 1.10.3/howto/run-with-systemd.html                          |  8 +-------
 1.10.3/howto/run-with-upstart.html                          |  8 +-------
 1.10.3/howto/secure-connections.html                        |  8 +-------
 1.10.3/howto/set-config.html                                |  8 +-------
 1.10.3/howto/use-test-config.html                           |  8 +-------
 1.10.3/howto/write-logs.html                                |  8 +-------
 1.10.3/http-routingtable.html                               |  8 +-------
 1.10.3/index.html                                           |  8 +-------
 1.10.3/installation.html                                    |  8 +-------
 1.10.3/integration.html                                     |  8 +-------
 1.10.3/kubernetes.html                                      |  8 +-------
 1.10.3/license.html                                         |  8 +-------
 1.10.3/lineage.html                                         |  8 +-------
 1.10.3/macros.html                                          |  8 +-------
 1.10.3/metrics.html                                         |  8 +-------
 1.10.3/plugins.html                                         |  8 +-------
 1.10.3/profiling.html                                       |  8 +-------
 1.10.3/project.html                                         |  8 +-------
 1.10.3/py-modindex.html                                     |  8 +-------
 1.10.3/scheduler.html                                       |  8 +-------
 1.10.3/search.html                                          |  8 +-------
 1.10.3/security.html                                        |  8 +-------
 1.10.3/start.html                                           |  8 +-------
 1.10.3/timezone.html                                        |  8 +-------
 1.10.3/tutorial.html                                        |  8 +-------
 1.10.3/ui.html                                              |  8 +-------
 1.10.4/_api/airflow/contrib/executors/index.html            |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/aws_sqs_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/grpc_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mssql_to_gcs/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/operators/sql_to_gcs/index.html |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/aws_sqs_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.4/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.4/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.4/_api/airflow/executors/index.html                    |  8 +-------
 1.10.4/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.4/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.4/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.4/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.4/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.4/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.4/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.4/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.4/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.4/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.4/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/baseoperator/index.html          |  8 +-------
 1.10.4/_api/airflow/models/chart/index.html                 |  8 +-------
 1.10.4/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.4/_api/airflow/models/crypto/index.html                |  8 +-------
 1.10.4/_api/airflow/models/dag/index.html                   |  8 +-------
 1.10.4/_api/airflow/models/dagbag/index.html                |  8 +-------
 1.10.4/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.4/_api/airflow/models/dagrun/index.html                |  8 +-------
 1.10.4/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.4/_api/airflow/models/index.html                       |  8 +-------
 1.10.4/_api/airflow/models/knownevent/index.html            |  8 +-------
 1.10.4/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.4/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.4/_api/airflow/models/pool/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.4/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.4/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.4/_api/airflow/models/taskinstance/index.html          |  8 +-------
 1.10.4/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.4/_api/airflow/models/user/index.html                  |  8 +-------
 1.10.4/_api/airflow/models/variable/index.html              |  8 +-------
 1.10.4/_api/airflow/models/xcom/index.html                  |  8 +-------
 1.10.4/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/branch_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.4/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.4/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/index.html                    |  8 +-------
 1.10.4/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.4/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.4/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.4/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.4/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.4/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.4/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.4/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.4/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.4/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.4/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.4/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.4/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.4/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.4/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.4/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.4/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.4/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.4/_api/index.html                                      |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/aws_sqs_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_dlp_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 .../airflow/contrib/hooks/gcp_speech_to_text_hook.html      |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../airflow/contrib/hooks/gcp_text_to_speech_hook.html      |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/grpc_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_delete_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mssql_to_gcs.html |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/sql_to_gcs.html   |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/aws_sqs_sensor.html |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.4/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.4/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.4/_modules/airflow/executors.html                      |  8 +-------
 1.10.4/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.4/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.4/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.4/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.4/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.4/_modules/airflow/hooks.html                          |  8 +-------
 1.10.4/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.4/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.4/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.4/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.4/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.4/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.4/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.4/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.4/_modules/airflow/macros.html                         |  8 +-------
 1.10.4/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.4/_modules/airflow/models.html                         |  8 +-------
 1.10.4/_modules/airflow/models/base.html                    |  8 +-------
 1.10.4/_modules/airflow/models/baseoperator.html            |  8 +-------
 1.10.4/_modules/airflow/models/chart.html                   |  8 +-------
 1.10.4/_modules/airflow/models/connection.html              |  8 +-------
 1.10.4/_modules/airflow/models/crypto.html                  |  8 +-------
 1.10.4/_modules/airflow/models/dag.html                     |  8 +-------
 1.10.4/_modules/airflow/models/dagbag.html                  |  8 +-------
 1.10.4/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.4/_modules/airflow/models/dagrun.html                  |  8 +-------
 1.10.4/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.4/_modules/airflow/models/knownevent.html              |  8 +-------
 1.10.4/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.4/_modules/airflow/models/log.html                     |  8 +-------
 1.10.4/_modules/airflow/models/pool.html                    |  8 +-------
 1.10.4/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.4/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.4/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.4/_modules/airflow/models/taskinstance.html            |  8 +-------
 1.10.4/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.4/_modules/airflow/models/user.html                    |  8 +-------
 1.10.4/_modules/airflow/models/variable.html                |  8 +-------
 1.10.4/_modules/airflow/models/xcom.html                    |  8 +-------
 1.10.4/_modules/airflow/operators.html                      |  8 +-------
 1.10.4/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/branch_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.4/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.4/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.4/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.4/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.4/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.4/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.4/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.4/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.4/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.4/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.4/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.4/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.4/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.4/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.4/_modules/airflow/sensors.html                        |  8 +-------
 1.10.4/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.4/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.4/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.4/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.4/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.4/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.4/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.4/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.4/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.4/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.4/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.4/_modules/index.html                                  |  8 +-------
 1.10.4/api.html                                             |  8 +-------
 1.10.4/changelog.html                                       |  8 +-------
 1.10.4/cli.html                                             |  8 +-------
 1.10.4/concepts.html                                        |  8 +-------
 1.10.4/faq.html                                             |  8 +-------
 1.10.4/genindex.html                                        |  8 +-------
 1.10.4/howto/check-health.html                              |  8 +-------
 1.10.4/howto/connection/aws.html                            |  8 +-------
 1.10.4/howto/connection/gcp.html                            |  8 +-------
 1.10.4/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.4/howto/connection/grpc.html                           |  8 +-------
 1.10.4/howto/connection/index.html                          |  8 +-------
 1.10.4/howto/connection/mysql.html                          |  8 +-------
 1.10.4/howto/connection/oracle.html                         |  8 +-------
 1.10.4/howto/connection/postgres.html                       |  8 +-------
 1.10.4/howto/connection/ssh.html                            |  8 +-------
 1.10.4/howto/define_extra_link.html                         |  8 +-------
 1.10.4/howto/executor/use-celery.html                       |  8 +-------
 1.10.4/howto/executor/use-dask.html                         |  8 +-------
 1.10.4/howto/executor/use-mesos.html                        |  8 +-------
 1.10.4/howto/index.html                                     |  8 +-------
 1.10.4/howto/initialize-database.html                       |  8 +-------
 1.10.4/howto/operator/bash.html                             |  8 +-------
 1.10.4/howto/operator/dingding.html                         |  8 +-------
 1.10.4/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.4/howto/operator/gcp/cloud_build.html                  |  8 +-------
 1.10.4/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.4/howto/operator/gcp/function.html                     |  8 +-------
 1.10.4/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.4/howto/operator/gcp/index.html                        |  8 +-------
 1.10.4/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.4/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.4/howto/operator/gcp/speech.html                       |  8 +-------
 1.10.4/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.4/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.4/howto/operator/gcp/translate-speech.html             |  8 +-------
 1.10.4/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.4/howto/operator/gcp/video.html                        |  8 +-------
 1.10.4/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.4/howto/operator/index.html                            |  8 +-------
 1.10.4/howto/operator/python.html                           |  8 +-------
 1.10.4/howto/run-behind-proxy.html                          |  8 +-------
 1.10.4/howto/run-with-systemd.html                          |  8 +-------
 1.10.4/howto/run-with-upstart.html                          |  8 +-------
 1.10.4/howto/secure-connections.html                        |  8 +-------
 1.10.4/howto/set-config.html                                |  8 +-------
 1.10.4/howto/use-test-config.html                           |  8 +-------
 1.10.4/howto/write-logs.html                                |  8 +-------
 1.10.4/http-routingtable.html                               |  8 +-------
 1.10.4/index.html                                           |  8 +-------
 1.10.4/installation.html                                    |  8 +-------
 1.10.4/integration.html                                     |  8 +-------
 1.10.4/kubernetes.html                                      |  8 +-------
 1.10.4/license.html                                         |  8 +-------
 1.10.4/lineage.html                                         |  8 +-------
 1.10.4/macros.html                                          |  8 +-------
 1.10.4/metrics.html                                         |  8 +-------
 1.10.4/plugins.html                                         |  8 +-------
 1.10.4/profiling.html                                       |  8 +-------
 1.10.4/project.html                                         |  8 +-------
 1.10.4/py-modindex.html                                     |  8 +-------
 1.10.4/scheduler.html                                       |  8 +-------
 1.10.4/search.html                                          |  8 +-------
 1.10.4/security.html                                        |  8 +-------
 1.10.4/start.html                                           |  8 +-------
 1.10.4/timezone.html                                        |  8 +-------
 1.10.4/tutorial.html                                        |  8 +-------
 1.10.4/ui.html                                              |  8 +-------
 1.10.5/_api/airflow/contrib/executors/index.html            |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 .../airflow/contrib/executors/mesos_executor/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/aws_athena_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/aws_firehose_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/aws_lambda_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html   |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/azure_cosmos_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook/index.html   |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html  |  8 +-------
 .../_api/airflow/contrib/hooks/databricks_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html        |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html       |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_api_base_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_compute_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_container_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_function_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_spanner_hook/index.html  |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html   |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_transfer_hook/index.html |  8 +-------
 .../airflow/contrib/hooks/gcp_translate_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 .../_api/airflow/contrib/hooks/gcp_vision_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/index.html                |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html  |  8 +-------
 .../airflow/contrib/hooks/opsgenie_alert_hook/index.html    |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html     |  8 +-------
 .../_api/airflow/contrib/hooks/qubole_check_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html    |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/salesforce_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html      |  8 +-------
 .../airflow/contrib/hooks/slack_webhook_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_hook/index.html   |  8 +-------
 .../_api/airflow/contrib/hooks/spark_jdbc_script/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html |  8 +-------
 .../_api/airflow/contrib/hooks/spark_submit_hook/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html     |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 .../_api/airflow/contrib/operators/adls_to_gcs/index.html   |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator/index.html  |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data/index.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_operator/index.html  |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 .../airflow/contrib/operators/bigquery_to_gcs/index.html    |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs/index.html   |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/dataflow_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dataproc_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/dingding_operator/index.html  |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/druid_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ecs_operator/index.html  |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 .../_api/airflow/contrib/operators/file_to_gcs/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/file_to_wasb/index.html  |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator/index.html   |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator/index.html   |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/gcs_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html  |  8 +-------
 .../airflow/contrib/operators/hipchat_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb/index.html   |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/contrib/operators/index.html            |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/jira_operator/index.html |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 .../airflow/contrib/operators/mlengine_operator/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mongo_to_s3/index.html   |  8 +-------
 .../_api/airflow/contrib/operators/mssql_to_gcs/index.html  |  8 +-------
 .../_api/airflow/contrib/operators/mysql_to_gcs/index.html  |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/pubsub_operator/index.html    |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      |  8 +-------
 .../airflow/contrib/operators/qubole_operator/index.html    |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 .../airflow/contrib/operators/s3_list_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 .../_api/airflow/contrib/operators/sftp_operator/index.html |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html |  8 +-------
 .../airflow/contrib/operators/sqoop_operator/index.html     |  8 +-------
 .../_api/airflow/contrib/operators/ssh_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/vertica_operator/index.html   |  8 +-------
 .../airflow/contrib/operators/vertica_to_hive/index.html    |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql/index.html   |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/winrm_operator/index.html     |  8 +-------
 .../airflow/contrib/sensors/aws_athena_sensor/index.html    |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/aws_sqs_sensor/index.html  |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/bigquery_sensor/index.html |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 .../_api/airflow/contrib/sensors/datadog_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_base_sensor/index.html |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/emr_step_sensor/index.html |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html   |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html  |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/index.html              |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html |  8 +-------
 .../_api/airflow/contrib/sensors/pubsub_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/python_sensor/index.html   |  8 +-------
 .../_api/airflow/contrib/sensors/qubole_sensor/index.html   |  8 +-------
 .../airflow/contrib/sensors/redis_key_sensor/index.html     |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html  |  8 +-------
 .../_api/airflow/contrib/sensors/weekday_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/executors/base_executor/index.html      |  8 +-------
 1.10.5/_api/airflow/executors/celery_executor/index.html    |  8 +-------
 1.10.5/_api/airflow/executors/dask_executor/index.html      |  8 +-------
 1.10.5/_api/airflow/executors/index.html                    |  8 +-------
 1.10.5/_api/airflow/executors/local_executor/index.html     |  8 +-------
 .../_api/airflow/executors/sequential_executor/index.html   |  8 +-------
 1.10.5/_api/airflow/hooks/S3_hook/index.html                |  8 +-------
 1.10.5/_api/airflow/hooks/base_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/dbapi_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/docker_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/druid_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/hdfs_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/hive_hooks/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/http_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/index.html                        |  8 +-------
 1.10.5/_api/airflow/hooks/jdbc_hook/index.html              |  8 +-------
 1.10.5/_api/airflow/hooks/mssql_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/mysql_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/oracle_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/pig_hook/index.html               |  8 +-------
 1.10.5/_api/airflow/hooks/postgres_hook/index.html          |  8 +-------
 1.10.5/_api/airflow/hooks/presto_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/samba_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/slack_hook/index.html             |  8 +-------
 1.10.5/_api/airflow/hooks/sqlite_hook/index.html            |  8 +-------
 1.10.5/_api/airflow/hooks/webhdfs_hook/index.html           |  8 +-------
 1.10.5/_api/airflow/hooks/zendesk_hook/index.html           |  8 +-------
 1.10.5/_api/airflow/models/base/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/baseoperator/index.html          |  8 +-------
 1.10.5/_api/airflow/models/chart/index.html                 |  8 +-------
 1.10.5/_api/airflow/models/connection/index.html            |  8 +-------
 1.10.5/_api/airflow/models/crypto/index.html                |  8 +-------
 1.10.5/_api/airflow/models/dag/index.html                   |  8 +-------
 1.10.5/_api/airflow/models/dagbag/index.html                |  8 +-------
 1.10.5/_api/airflow/models/dagpickle/index.html             |  8 +-------
 1.10.5/_api/airflow/models/dagrun/index.html                |  8 +-------
 1.10.5/_api/airflow/models/errors/index.html                |  8 +-------
 1.10.5/_api/airflow/models/index.html                       |  8 +-------
 1.10.5/_api/airflow/models/knownevent/index.html            |  8 +-------
 1.10.5/_api/airflow/models/kubernetes/index.html            |  8 +-------
 1.10.5/_api/airflow/models/log/index.html                   |  8 +-------
 1.10.5/_api/airflow/models/pool/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/skipmixin/index.html             |  8 +-------
 1.10.5/_api/airflow/models/slamiss/index.html               |  8 +-------
 1.10.5/_api/airflow/models/taskfail/index.html              |  8 +-------
 1.10.5/_api/airflow/models/taskinstance/index.html          |  8 +-------
 1.10.5/_api/airflow/models/taskreschedule/index.html        |  8 +-------
 1.10.5/_api/airflow/models/user/index.html                  |  8 +-------
 1.10.5/_api/airflow/models/variable/index.html              |  8 +-------
 1.10.5/_api/airflow/models/xcom/index.html                  |  8 +-------
 1.10.5/_api/airflow/operators/bash_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/branch_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/check_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/dagrun_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/docker_operator/index.html    |  8 +-------
 .../_api/airflow/operators/druid_check_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/operators/dummy_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/email_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/generic_transfer/index.html   |  8 +-------
 1.10.5/_api/airflow/operators/hive_operator/index.html      |  8 +-------
 .../_api/airflow/operators/hive_stats_operator/index.html   |  8 +-------
 1.10.5/_api/airflow/operators/hive_to_druid/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/hive_to_mysql/index.html      |  8 +-------
 .../airflow/operators/hive_to_samba_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/http_operator/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/index.html                    |  8 +-------
 1.10.5/_api/airflow/operators/jdbc_operator/index.html      |  8 +-------
 .../_api/airflow/operators/latest_only_operator/index.html  |  8 +-------
 1.10.5/_api/airflow/operators/mssql_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/mssql_to_hive/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/mysql_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/mysql_to_hive/index.html      |  8 +-------
 1.10.5/_api/airflow/operators/oracle_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/pig_operator/index.html       |  8 +-------
 1.10.5/_api/airflow/operators/postgres_operator/index.html  |  8 +-------
 .../_api/airflow/operators/presto_check_operator/index.html |  8 +-------
 1.10.5/_api/airflow/operators/presto_to_mysql/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/python_operator/index.html    |  8 +-------
 .../airflow/operators/redshift_to_s3_operator/index.html    |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 .../_api/airflow/operators/s3_to_hive_operator/index.html   |  8 +-------
 .../airflow/operators/s3_to_redshift_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/sensors/index.html            |  8 +-------
 1.10.5/_api/airflow/operators/slack_operator/index.html     |  8 +-------
 1.10.5/_api/airflow/operators/sqlite_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/operators/subdag_operator/index.html    |  8 +-------
 1.10.5/_api/airflow/sensors/base_sensor_operator/index.html |  8 +-------
 1.10.5/_api/airflow/sensors/external_task_sensor/index.html |  8 +-------
 1.10.5/_api/airflow/sensors/hdfs_sensor/index.html          |  8 +-------
 .../_api/airflow/sensors/hive_partition_sensor/index.html   |  8 +-------
 1.10.5/_api/airflow/sensors/http_sensor/index.html          |  8 +-------
 1.10.5/_api/airflow/sensors/index.html                      |  8 +-------
 .../airflow/sensors/metastore_partition_sensor/index.html   |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor/index.html  |  8 +-------
 1.10.5/_api/airflow/sensors/s3_key_sensor/index.html        |  8 +-------
 1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html     |  8 +-------
 1.10.5/_api/airflow/sensors/sql_sensor/index.html           |  8 +-------
 1.10.5/_api/airflow/sensors/time_delta_sensor/index.html    |  8 +-------
 1.10.5/_api/airflow/sensors/time_sensor/index.html          |  8 +-------
 1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html      |  8 +-------
 1.10.5/_api/index.html                                      |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 .../airflow/contrib/example_dags/example_gcs_acl.html       |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 .../airflow/contrib/executors/kubernetes_executor.html      |  8 +-------
 .../_modules/airflow/contrib/executors/mesos_executor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks.html                  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/aws_firehose_hook.html   |  8 +-------
 .../airflow/contrib/hooks/aws_glue_catalog_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html     |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/azure_cosmos_hook.html   |  8 +-------
 .../airflow/contrib/hooks/azure_data_lake_hook.html         |  8 +-------
 .../airflow/contrib/hooks/azure_fileshare_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html    |  8 +-------
 .../airflow/contrib/hooks/discord_webhook_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/emr_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/fs_hook.html          |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html         |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_api_base_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_bigtable_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_cloud_build_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_container_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataflow_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_dataproc_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_function_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html     |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_mlengine_hook.html   |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html |  8 +-------
 .../airflow/contrib/hooks/gcp_speech_to_text_hook.html      |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html     |  8 +-------
 .../airflow/contrib/hooks/gcp_text_to_speech_hook.html      |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_transfer_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/gcp_translate_hook.html  |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/imap_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/jira_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html    |  8 +-------
 .../_modules/airflow/contrib/hooks/opsgenie_alert_hook.html |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html       |  8 +-------
 .../_modules/airflow/contrib/hooks/qubole_check_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html      |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/redis_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/segment_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html        |  8 +-------
 .../_modules/airflow/contrib/hooks/slack_webhook_hook.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html  |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_jdbc_script.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html   |  8 +-------
 .../_modules/airflow/contrib/hooks/spark_submit_hook.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html         |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/operators.html              |  8 +-------
 .../airflow/contrib/operators/adls_list_operator.html       |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html  |  8 +-------
 .../airflow/contrib/operators/aws_athena_operator.html      |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 .../airflow/contrib/operators/awsbatch_operator.html        |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 .../airflow/contrib/operators/bigquery_get_data.html        |  8 +-------
 .../airflow/contrib/operators/bigquery_operator.html        |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 .../_modules/airflow/contrib/operators/bigquery_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/cassandra_to_gcs.html         |  8 +-------
 .../airflow/contrib/operators/databricks_operator.html      |  8 +-------
 .../airflow/contrib/operators/dataflow_operator.html        |  8 +-------
 .../airflow/contrib/operators/dataproc_operator.html        |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 .../airflow/contrib/operators/dingding_operator.html        |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/druid_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/ecs_operator.html |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/file_to_gcs.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/file_to_wasb.html |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 .../airflow/contrib/operators/gcp_dlp_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_sql_operator.html         |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 .../airflow/contrib/operators/gcp_vision_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_acl_operator.html         |  8 +-------
 .../airflow/contrib/operators/gcs_delete_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcs_list_operator.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_operator.html |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_bq.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_gcs.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/gcs_to_s3.html    |  8 +-------
 .../airflow/contrib/operators/hipchat_operator.html         |  8 +-------
 .../airflow/contrib/operators/hive_to_dynamodb.html         |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/jira_operator.html   |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 .../airflow/contrib/operators/mlengine_operator.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mongo_to_s3.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mssql_to_gcs.html |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/mysql_to_gcs.html |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 .../_modules/airflow/contrib/operators/pubsub_operator.html |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 .../_modules/airflow/contrib/operators/qubole_operator.html |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_list_operator.html         |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator.html       |  8 +-------
 .../airflow/contrib/operators/s3_to_sftp_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 .../_modules/airflow/contrib/operators/sftp_operator.html   |  8 +-------
 .../airflow/contrib/operators/sftp_to_s3_operator.html      |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 .../airflow/contrib/operators/snowflake_operator.html       |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 .../airflow/contrib/operators/spark_jdbc_operator.html      |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator.html       |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/sql_to_gcs.html   |  8 +-------
 .../_modules/airflow/contrib/operators/sqoop_operator.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/operators/ssh_operator.html |  8 +-------
 .../airflow/contrib/operators/vertica_operator.html         |  8 +-------
 .../_modules/airflow/contrib/operators/vertica_to_hive.html |  8 +-------
 .../airflow/contrib/operators/vertica_to_mysql.html         |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 .../_modules/airflow/contrib/operators/winrm_operator.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/aws_athena_sensor.html |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/aws_sqs_sensor.html |  8 +-------
 .../airflow/contrib/sensors/azure_cosmos_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/bash_sensor.html    |  8 +-------
 .../_modules/airflow/contrib/sensors/bigquery_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/datadog_sensor.html |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_base_sensor.html   |  8 +-------
 .../airflow/contrib/sensors/emr_job_flow_sensor.html        |  8 +-------
 .../_modules/airflow/contrib/sensors/emr_step_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/file_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/ftp_sensor.html     |  8 +-------
 .../airflow/contrib/sensors/gcp_transfer_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/gcs_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/hdfs_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/jira_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/mongo_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/pubsub_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/python_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/qubole_sensor.html  |  8 +-------
 .../_modules/airflow/contrib/sensors/redis_key_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/sagemaker_base_sensor.html      |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/sftp_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/wasb_sensor.html    |  8 +-------
 1.10.5/_modules/airflow/contrib/sensors/weekday_sensor.html |  8 +-------
 .../airflow/example_dags/example_bash_operator.html         |  8 +-------
 .../airflow/example_dags/example_python_operator.html       |  8 +-------
 1.10.5/_modules/airflow/exceptions.html                     |  8 +-------
 1.10.5/_modules/airflow/executors.html                      |  8 +-------
 1.10.5/_modules/airflow/executors/base_executor.html        |  8 +-------
 1.10.5/_modules/airflow/executors/celery_executor.html      |  8 +-------
 1.10.5/_modules/airflow/executors/dask_executor.html        |  8 +-------
 1.10.5/_modules/airflow/executors/local_executor.html       |  8 +-------
 1.10.5/_modules/airflow/executors/sequential_executor.html  |  8 +-------
 1.10.5/_modules/airflow/hooks.html                          |  8 +-------
 1.10.5/_modules/airflow/hooks/S3_hook.html                  |  8 +-------
 1.10.5/_modules/airflow/hooks/base_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/dbapi_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/docker_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/druid_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/hdfs_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/hive_hooks.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/http_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/jdbc_hook.html                |  8 +-------
 1.10.5/_modules/airflow/hooks/mssql_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/mysql_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/oracle_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/pig_hook.html                 |  8 +-------
 1.10.5/_modules/airflow/hooks/postgres_hook.html            |  8 +-------
 1.10.5/_modules/airflow/hooks/presto_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/samba_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/slack_hook.html               |  8 +-------
 1.10.5/_modules/airflow/hooks/sqlite_hook.html              |  8 +-------
 1.10.5/_modules/airflow/hooks/webhdfs_hook.html             |  8 +-------
 1.10.5/_modules/airflow/hooks/zendesk_hook.html             |  8 +-------
 1.10.5/_modules/airflow/macros.html                         |  8 +-------
 1.10.5/_modules/airflow/macros/hive.html                    |  8 +-------
 1.10.5/_modules/airflow/models.html                         |  8 +-------
 1.10.5/_modules/airflow/models/base.html                    |  8 +-------
 1.10.5/_modules/airflow/models/baseoperator.html            |  8 +-------
 1.10.5/_modules/airflow/models/chart.html                   |  8 +-------
 1.10.5/_modules/airflow/models/connection.html              |  8 +-------
 1.10.5/_modules/airflow/models/crypto.html                  |  8 +-------
 1.10.5/_modules/airflow/models/dag.html                     |  8 +-------
 1.10.5/_modules/airflow/models/dagbag.html                  |  8 +-------
 1.10.5/_modules/airflow/models/dagpickle.html               |  8 +-------
 1.10.5/_modules/airflow/models/dagrun.html                  |  8 +-------
 1.10.5/_modules/airflow/models/errors.html                  |  8 +-------
 1.10.5/_modules/airflow/models/knownevent.html              |  8 +-------
 1.10.5/_modules/airflow/models/kubernetes.html              |  8 +-------
 1.10.5/_modules/airflow/models/log.html                     |  8 +-------
 1.10.5/_modules/airflow/models/pool.html                    |  8 +-------
 1.10.5/_modules/airflow/models/skipmixin.html               |  8 +-------
 1.10.5/_modules/airflow/models/slamiss.html                 |  8 +-------
 1.10.5/_modules/airflow/models/taskfail.html                |  8 +-------
 1.10.5/_modules/airflow/models/taskinstance.html            |  8 +-------
 1.10.5/_modules/airflow/models/taskreschedule.html          |  8 +-------
 1.10.5/_modules/airflow/models/user.html                    |  8 +-------
 1.10.5/_modules/airflow/models/variable.html                |  8 +-------
 1.10.5/_modules/airflow/models/xcom.html                    |  8 +-------
 1.10.5/_modules/airflow/operators.html                      |  8 +-------
 1.10.5/_modules/airflow/operators/bash_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/branch_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/check_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/dagrun_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/docker_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/druid_check_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/dummy_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/email_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/generic_transfer.html     |  8 +-------
 1.10.5/_modules/airflow/operators/hive_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/hive_stats_operator.html  |  8 +-------
 1.10.5/_modules/airflow/operators/hive_to_druid.html        |  8 +-------
 1.10.5/_modules/airflow/operators/hive_to_mysql.html        |  8 +-------
 .../_modules/airflow/operators/hive_to_samba_operator.html  |  8 +-------
 1.10.5/_modules/airflow/operators/http_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/jdbc_operator.html        |  8 +-------
 1.10.5/_modules/airflow/operators/latest_only_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/mssql_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/mssql_to_hive.html        |  8 +-------
 1.10.5/_modules/airflow/operators/mysql_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/mysql_to_hive.html        |  8 +-------
 1.10.5/_modules/airflow/operators/oracle_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/pig_operator.html         |  8 +-------
 1.10.5/_modules/airflow/operators/postgres_operator.html    |  8 +-------
 .../_modules/airflow/operators/presto_check_operator.html   |  8 +-------
 1.10.5/_modules/airflow/operators/presto_to_mysql.html      |  8 +-------
 1.10.5/_modules/airflow/operators/python_operator.html      |  8 +-------
 .../_modules/airflow/operators/redshift_to_s3_operator.html |  8 +-------
 .../airflow/operators/s3_file_transform_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/s3_to_hive_operator.html  |  8 +-------
 .../_modules/airflow/operators/s3_to_redshift_operator.html |  8 +-------
 1.10.5/_modules/airflow/operators/sensors.html              |  8 +-------
 1.10.5/_modules/airflow/operators/slack_operator.html       |  8 +-------
 1.10.5/_modules/airflow/operators/sqlite_operator.html      |  8 +-------
 1.10.5/_modules/airflow/operators/subdag_operator.html      |  8 +-------
 1.10.5/_modules/airflow/sensors.html                        |  8 +-------
 1.10.5/_modules/airflow/sensors/base_sensor_operator.html   |  8 +-------
 1.10.5/_modules/airflow/sensors/external_task_sensor.html   |  8 +-------
 1.10.5/_modules/airflow/sensors/hdfs_sensor.html            |  8 +-------
 1.10.5/_modules/airflow/sensors/hive_partition_sensor.html  |  8 +-------
 1.10.5/_modules/airflow/sensors/http_sensor.html            |  8 +-------
 .../airflow/sensors/metastore_partition_sensor.html         |  8 +-------
 .../airflow/sensors/named_hive_partition_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/sensors/s3_key_sensor.html          |  8 +-------
 1.10.5/_modules/airflow/sensors/s3_prefix_sensor.html       |  8 +-------
 1.10.5/_modules/airflow/sensors/sql_sensor.html             |  8 +-------
 1.10.5/_modules/airflow/sensors/time_delta_sensor.html      |  8 +-------
 1.10.5/_modules/airflow/sensors/time_sensor.html            |  8 +-------
 1.10.5/_modules/airflow/sensors/web_hdfs_sensor.html        |  8 +-------
 1.10.5/_modules/airflow/utils/log/logging_mixin.html        |  8 +-------
 1.10.5/_modules/index.html                                  |  8 +-------
 1.10.5/api.html                                             |  8 +-------
 1.10.5/changelog.html                                       |  8 +-------
 1.10.5/cli.html                                             |  8 +-------
 1.10.5/concepts.html                                        |  8 +-------
 1.10.5/faq.html                                             |  8 +-------
 1.10.5/genindex.html                                        |  8 +-------
 1.10.5/howto/check-health.html                              |  8 +-------
 1.10.5/howto/connection/aws.html                            |  8 +-------
 1.10.5/howto/connection/gcp.html                            |  8 +-------
 1.10.5/howto/connection/gcp_sql.html                        |  8 +-------
 1.10.5/howto/connection/grpc.html                           |  8 +-------
 1.10.5/howto/connection/index.html                          |  8 +-------
 1.10.5/howto/connection/mysql.html                          |  8 +-------
 1.10.5/howto/connection/oracle.html                         |  8 +-------
 1.10.5/howto/connection/postgres.html                       |  8 +-------
 1.10.5/howto/connection/ssh.html                            |  8 +-------
 1.10.5/howto/define_extra_link.html                         |  8 +-------
 1.10.5/howto/executor/use-celery.html                       |  8 +-------
 1.10.5/howto/executor/use-dask.html                         |  8 +-------
 1.10.5/howto/executor/use-mesos.html                        |  8 +-------
 1.10.5/howto/index.html                                     |  8 +-------
 1.10.5/howto/initialize-database.html                       |  8 +-------
 1.10.5/howto/operator/bash.html                             |  8 +-------
 1.10.5/howto/operator/dingding.html                         |  8 +-------
 1.10.5/howto/operator/gcp/bigtable.html                     |  8 +-------
 1.10.5/howto/operator/gcp/cloud_build.html                  |  8 +-------
 1.10.5/howto/operator/gcp/compute.html                      |  8 +-------
 1.10.5/howto/operator/gcp/function.html                     |  8 +-------
 1.10.5/howto/operator/gcp/gcs.html                          |  8 +-------
 1.10.5/howto/operator/gcp/index.html                        |  8 +-------
 1.10.5/howto/operator/gcp/natural_language.html             |  8 +-------
 1.10.5/howto/operator/gcp/spanner.html                      |  8 +-------
 1.10.5/howto/operator/gcp/speech.html                       |  8 +-------
 1.10.5/howto/operator/gcp/sql.html                          |  8 +-------
 1.10.5/howto/operator/gcp/transfer.html                     |  8 +-------
 1.10.5/howto/operator/gcp/translate-speech.html             |  8 +-------
 1.10.5/howto/operator/gcp/translate.html                    |  8 +-------
 1.10.5/howto/operator/gcp/video.html                        |  8 +-------
 1.10.5/howto/operator/gcp/vision.html                       |  8 +-------
 1.10.5/howto/operator/index.html                            |  8 +-------
 1.10.5/howto/operator/python.html                           |  8 +-------
 1.10.5/howto/run-behind-proxy.html                          |  8 +-------
 1.10.5/howto/run-with-systemd.html                          |  8 +-------
 1.10.5/howto/run-with-upstart.html                          |  8 +-------
 1.10.5/howto/secure-connections.html                        |  8 +-------
 1.10.5/howto/set-config.html                                |  8 +-------
 1.10.5/howto/tracking-user-activity.html                    |  8 +-------
 1.10.5/howto/use-test-config.html                           |  8 +-------
 1.10.5/howto/write-logs.html                                |  8 +-------
 1.10.5/http-routingtable.html                               |  8 +-------
 1.10.5/index.html                                           |  8 +-------
 1.10.5/installation.html                                    |  8 +-------
 1.10.5/integration.html                                     |  8 +-------
 1.10.5/kubernetes.html                                      |  8 +-------
 1.10.5/license.html                                         |  8 +-------
 1.10.5/lineage.html                                         |  8 +-------
 1.10.5/macros.html                                          |  8 +-------
 1.10.5/metrics.html                                         |  8 +-------
 1.10.5/plugins.html                                         |  8 +-------
 1.10.5/privacy_notice.html                                  |  8 +-------
 1.10.5/profiling.html                                       |  8 +-------
 1.10.5/project.html                                         |  8 +-------
 1.10.5/py-modindex.html                                     |  8 +-------
 1.10.5/scheduler.html                                       |  8 +-------
 1.10.5/search.html                                          |  8 +-------
 1.10.5/security.html                                        |  8 +-------
 1.10.5/start.html                                           |  8 +-------
 1.10.5/timezone.html                                        |  8 +-------
 1.10.5/tutorial.html                                        |  8 +-------
 1.10.5/ui.html                                              |  8 +-------
 _api/airflow/contrib/executors/index.html                   |  8 +-------
 .../contrib/executors/kubernetes_executor/index.html        |  8 +-------
 _api/airflow/contrib/executors/mesos_executor/index.html    |  8 +-------
 _api/airflow/contrib/hooks/aws_athena_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/aws_dynamodb_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/aws_firehose_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html |  8 +-------
 _api/airflow/contrib/hooks/aws_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/aws_lambda_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/aws_logs_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/aws_sns_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html          |  8 +-------
 .../contrib/hooks/azure_container_instance_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_registry_hook/index.html  |  8 +-------
 .../contrib/hooks/azure_container_volume_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/azure_cosmos_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/azure_data_lake_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/azure_fileshare_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/bigquery_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/cassandra_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/cloudant_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/databricks_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/datadog_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/datastore_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/dingding_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/discord_webhook_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/emr_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/fs_hook/index.html               |  8 +-------
 _api/airflow/contrib/hooks/ftp_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/gcp_api_base_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_bigtable_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html  |  8 +-------
 _api/airflow/contrib/hooks/gcp_compute_hook/index.html      |  8 +-------
 _api/airflow/contrib/hooks/gcp_container_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/gcp_dataflow_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_dataproc_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/gcp_function_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/gcp_mlengine_hook/index.html     |  8 +-------
 .../contrib/hooks/gcp_natural_language_hook/index.html      |  8 +-------
 _api/airflow/contrib/hooks/gcp_pubsub_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/gcp_spanner_hook/index.html      |  8 +-------
 .../contrib/hooks/gcp_speech_to_text_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html          |  8 +-------
 .../contrib/hooks/gcp_text_to_speech_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/gcp_transfer_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/gcp_translate_hook/index.html    |  8 +-------
 .../contrib/hooks/gcp_video_intelligence_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/gcp_vision_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/gcs_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/grpc_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/imap_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/index.html                       |  8 +-------
 _api/airflow/contrib/hooks/jenkins_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/jira_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/mongo_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/openfaas_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/opsgenie_alert_hook/index.html   |  8 +-------
 _api/airflow/contrib/hooks/pinot_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/qubole_check_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/qubole_hook/index.html           |  8 +-------
 _api/airflow/contrib/hooks/redis_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/redshift_hook/index.html         |  8 +-------
 _api/airflow/contrib/hooks/sagemaker_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/salesforce_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/segment_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/sftp_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/slack_webhook_hook/index.html    |  8 +-------
 _api/airflow/contrib/hooks/snowflake_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/spark_jdbc_hook/index.html       |  8 +-------
 _api/airflow/contrib/hooks/spark_jdbc_script/index.html     |  8 +-------
 _api/airflow/contrib/hooks/spark_sql_hook/index.html        |  8 +-------
 _api/airflow/contrib/hooks/spark_submit_hook/index.html     |  8 +-------
 _api/airflow/contrib/hooks/sqoop_hook/index.html            |  8 +-------
 _api/airflow/contrib/hooks/ssh_hook/index.html              |  8 +-------
 _api/airflow/contrib/hooks/vertica_hook/index.html          |  8 +-------
 _api/airflow/contrib/hooks/wasb_hook/index.html             |  8 +-------
 _api/airflow/contrib/hooks/winrm_hook/index.html            |  8 +-------
 .../airflow/contrib/operators/adls_list_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/adls_to_gcs/index.html       |  8 +-------
 .../contrib/operators/aws_athena_operator/index.html        |  8 +-------
 .../contrib/operators/aws_sqs_publish_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/awsbatch_operator/index.html |  8 +-------
 .../operators/azure_container_instances_operator/index.html |  8 +-------
 .../contrib/operators/azure_cosmos_operator/index.html      |  8 +-------
 .../contrib/operators/bigquery_check_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/bigquery_get_data/index.html |  8 +-------
 _api/airflow/contrib/operators/bigquery_operator/index.html |  8 +-------
 .../operators/bigquery_table_delete_operator/index.html     |  8 +-------
 .../contrib/operators/bigquery_to_bigquery/index.html       |  8 +-------
 _api/airflow/contrib/operators/bigquery_to_gcs/index.html   |  8 +-------
 _api/airflow/contrib/operators/cassandra_to_gcs/index.html  |  8 +-------
 .../contrib/operators/databricks_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/dataflow_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/dataproc_operator/index.html |  8 +-------
 .../contrib/operators/datastore_export_operator/index.html  |  8 +-------
 .../contrib/operators/datastore_import_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/dingding_operator/index.html |  8 +-------
 .../contrib/operators/discord_webhook_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/druid_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/ecs_operator/index.html      |  8 +-------
 .../contrib/operators/emr_add_steps_operator/index.html     |  8 +-------
 .../operators/emr_create_job_flow_operator/index.html       |  8 +-------
 .../operators/emr_terminate_job_flow_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/file_to_gcs/index.html       |  8 +-------
 _api/airflow/contrib/operators/file_to_wasb/index.html      |  8 +-------
 .../contrib/operators/gcp_bigtable_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_cloud_build_operator/index.html   |  8 +-------
 .../contrib/operators/gcp_compute_operator/index.html       |  8 +-------
 .../contrib/operators/gcp_container_operator/index.html     |  8 +-------
 _api/airflow/contrib/operators/gcp_dlp_operator/index.html  |  8 +-------
 .../contrib/operators/gcp_function_operator/index.html      |  8 +-------
 .../operators/gcp_natural_language_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_spanner_operator/index.html       |  8 +-------
 .../operators/gcp_speech_to_text_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcp_sql_operator/index.html  |  8 +-------
 .../operators/gcp_text_to_speech_operator/index.html        |  8 +-------
 .../contrib/operators/gcp_transfer_operator/index.html      |  8 +-------
 .../contrib/operators/gcp_translate_operator/index.html     |  8 +-------
 .../operators/gcp_translate_speech_operator/index.html      |  8 +-------
 .../operators/gcp_video_intelligence_operator/index.html    |  8 +-------
 .../contrib/operators/gcp_vision_operator/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcs_acl_operator/index.html  |  8 +-------
 .../contrib/operators/gcs_delete_operator/index.html        |  8 +-------
 .../contrib/operators/gcs_download_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/gcs_list_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/gcs_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/gcs_to_bq/index.html         |  8 +-------
 _api/airflow/contrib/operators/gcs_to_gcs/index.html        |  8 +-------
 _api/airflow/contrib/operators/gcs_to_s3/index.html         |  8 +-------
 _api/airflow/contrib/operators/hipchat_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/hive_to_dynamodb/index.html  |  8 +-------
 .../operators/imap_attachment_to_s3_operator/index.html     |  8 +-------
 _api/airflow/contrib/operators/index.html                   |  8 +-------
 .../operators/jenkins_job_trigger_operator/index.html       |  8 +-------
 _api/airflow/contrib/operators/jira_operator/index.html     |  8 +-------
 .../contrib/operators/kubernetes_pod_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/mlengine_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/mongo_to_s3/index.html       |  8 +-------
 _api/airflow/contrib/operators/mssql_to_gcs/index.html      |  8 +-------
 _api/airflow/contrib/operators/mysql_to_gcs/index.html      |  8 +-------
 .../contrib/operators/opsgenie_alert_operator/index.html    |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer/index.html |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer/index.html  |  8 +-------
 .../contrib/operators/postgres_to_gcs_operator/index.html   |  8 +-------
 _api/airflow/contrib/operators/pubsub_operator/index.html   |  8 +-------
 .../contrib/operators/qubole_check_operator/index.html      | 10 ++--------
 _api/airflow/contrib/operators/qubole_operator/index.html   |  8 +-------
 .../contrib/operators/redis_publish_operator/index.html     |  8 +-------
 .../contrib/operators/s3_copy_object_operator/index.html    |  8 +-------
 .../contrib/operators/s3_delete_objects_operator/index.html |  8 +-------
 _api/airflow/contrib/operators/s3_list_operator/index.html  |  8 +-------
 .../airflow/contrib/operators/s3_to_gcs_operator/index.html |  8 +-------
 .../contrib/operators/s3_to_sftp_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_base_operator/index.html    |  8 +-------
 .../operators/sagemaker_endpoint_config_operator/index.html |  8 +-------
 .../operators/sagemaker_endpoint_operator/index.html        |  8 +-------
 .../contrib/operators/sagemaker_model_operator/index.html   |  8 +-------
 .../operators/sagemaker_training_operator/index.html        |  8 +-------
 .../operators/sagemaker_transform_operator/index.html       |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator/index.html  |  8 +-------
 .../operators/segment_track_event_operator/index.html       |  8 +-------
 _api/airflow/contrib/operators/sftp_operator/index.html     |  8 +-------
 .../contrib/operators/sftp_to_s3_operator/index.html        |  8 +-------
 .../contrib/operators/slack_webhook_operator/index.html     |  8 +-------
 .../airflow/contrib/operators/snowflake_operator/index.html |  8 +-------
 .../contrib/operators/sns_publish_operator/index.html       |  8 +-------
 .../contrib/operators/spark_jdbc_operator/index.html        |  8 +-------
 .../airflow/contrib/operators/spark_sql_operator/index.html |  8 +-------
 .../contrib/operators/spark_submit_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/sql_to_gcs/index.html        |  8 +-------
 _api/airflow/contrib/operators/sqoop_operator/index.html    |  8 +-------
 _api/airflow/contrib/operators/ssh_operator/index.html      |  8 +-------
 _api/airflow/contrib/operators/vertica_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/vertica_to_hive/index.html   |  8 +-------
 _api/airflow/contrib/operators/vertica_to_mysql/index.html  |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator/index.html  |  8 +-------
 _api/airflow/contrib/operators/winrm_operator/index.html    |  8 +-------
 _api/airflow/contrib/sensors/aws_athena_sensor/index.html   |  8 +-------
 .../sensors/aws_glue_catalog_partition_sensor/index.html    |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html  |  8 +-------
 _api/airflow/contrib/sensors/aws_sqs_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/azure_cosmos_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/bash_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/bigquery_sensor/index.html     |  8 +-------
 .../contrib/sensors/cassandra_record_sensor/index.html      |  8 +-------
 .../contrib/sensors/cassandra_table_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/datadog_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/emr_base_sensor/index.html     |  8 +-------
 _api/airflow/contrib/sensors/emr_job_flow_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/emr_step_sensor/index.html     |  8 +-------
 _api/airflow/contrib/sensors/file_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/ftp_sensor/index.html          |  8 +-------
 _api/airflow/contrib/sensors/gcp_transfer_sensor/index.html |  8 +-------
 _api/airflow/contrib/sensors/gcs_sensor/index.html          |  8 +-------
 _api/airflow/contrib/sensors/hdfs_sensor/index.html         |  8 +-------
 .../contrib/sensors/imap_attachment_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/index.html                     |  8 +-------
 _api/airflow/contrib/sensors/jira_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/mongo_sensor/index.html        |  8 +-------
 _api/airflow/contrib/sensors/pubsub_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/python_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/qubole_sensor/index.html       |  8 +-------
 _api/airflow/contrib/sensors/redis_key_sensor/index.html    |  8 +-------
 .../airflow/contrib/sensors/redis_pub_sub_sensor/index.html |  8 +-------
 .../contrib/sensors/sagemaker_base_sensor/index.html        |  8 +-------
 .../contrib/sensors/sagemaker_endpoint_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_training_sensor/index.html    |  8 +-------
 .../contrib/sensors/sagemaker_transform_sensor/index.html   |  8 +-------
 .../contrib/sensors/sagemaker_tuning_sensor/index.html      |  8 +-------
 _api/airflow/contrib/sensors/sftp_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/wasb_sensor/index.html         |  8 +-------
 _api/airflow/contrib/sensors/weekday_sensor/index.html      |  8 +-------
 _api/airflow/executors/base_executor/index.html             |  8 +-------
 _api/airflow/executors/celery_executor/index.html           |  8 +-------
 _api/airflow/executors/dask_executor/index.html             |  8 +-------
 _api/airflow/executors/index.html                           |  8 +-------
 _api/airflow/executors/local_executor/index.html            |  8 +-------
 _api/airflow/executors/sequential_executor/index.html       |  8 +-------
 _api/airflow/hooks/S3_hook/index.html                       |  8 +-------
 _api/airflow/hooks/base_hook/index.html                     |  8 +-------
 _api/airflow/hooks/dbapi_hook/index.html                    |  8 +-------
 _api/airflow/hooks/docker_hook/index.html                   |  8 +-------
 _api/airflow/hooks/druid_hook/index.html                    |  8 +-------
 _api/airflow/hooks/hdfs_hook/index.html                     |  8 +-------
 _api/airflow/hooks/hive_hooks/index.html                    |  8 +-------
 _api/airflow/hooks/http_hook/index.html                     |  8 +-------
 _api/airflow/hooks/index.html                               |  8 +-------
 _api/airflow/hooks/jdbc_hook/index.html                     |  8 +-------
 _api/airflow/hooks/mssql_hook/index.html                    |  8 +-------
 _api/airflow/hooks/mysql_hook/index.html                    |  8 +-------
 _api/airflow/hooks/oracle_hook/index.html                   |  8 +-------
 _api/airflow/hooks/pig_hook/index.html                      |  8 +-------
 _api/airflow/hooks/postgres_hook/index.html                 |  8 +-------
 _api/airflow/hooks/presto_hook/index.html                   |  8 +-------
 _api/airflow/hooks/samba_hook/index.html                    |  8 +-------
 _api/airflow/hooks/slack_hook/index.html                    |  8 +-------
 _api/airflow/hooks/sqlite_hook/index.html                   |  8 +-------
 _api/airflow/hooks/webhdfs_hook/index.html                  |  8 +-------
 _api/airflow/hooks/zendesk_hook/index.html                  |  8 +-------
 _api/airflow/models/base/index.html                         |  8 +-------
 _api/airflow/models/baseoperator/index.html                 |  8 +-------
 _api/airflow/models/chart/index.html                        |  8 +-------
 _api/airflow/models/connection/index.html                   |  8 +-------
 _api/airflow/models/crypto/index.html                       |  8 +-------
 _api/airflow/models/dag/index.html                          |  8 +-------
 _api/airflow/models/dagbag/index.html                       |  8 +-------
 _api/airflow/models/dagpickle/index.html                    |  8 +-------
 _api/airflow/models/dagrun/index.html                       |  8 +-------
 _api/airflow/models/errors/index.html                       |  8 +-------
 _api/airflow/models/index.html                              |  8 +-------
 _api/airflow/models/knownevent/index.html                   |  8 +-------
 _api/airflow/models/kubernetes/index.html                   |  8 +-------
 _api/airflow/models/log/index.html                          |  8 +-------
 _api/airflow/models/pool/index.html                         |  8 +-------
 _api/airflow/models/skipmixin/index.html                    |  8 +-------
 _api/airflow/models/slamiss/index.html                      |  8 +-------
 _api/airflow/models/taskfail/index.html                     |  8 +-------
 _api/airflow/models/taskinstance/index.html                 |  8 +-------
 _api/airflow/models/taskreschedule/index.html               |  8 +-------
 _api/airflow/models/user/index.html                         |  8 +-------
 _api/airflow/models/variable/index.html                     |  8 +-------
 _api/airflow/models/xcom/index.html                         |  8 +-------
 _api/airflow/operators/bash_operator/index.html             |  8 +-------
 _api/airflow/operators/branch_operator/index.html           |  8 +-------
 _api/airflow/operators/check_operator/index.html            |  8 +-------
 _api/airflow/operators/dagrun_operator/index.html           |  8 +-------
 _api/airflow/operators/docker_operator/index.html           |  8 +-------
 _api/airflow/operators/druid_check_operator/index.html      |  8 +-------
 _api/airflow/operators/dummy_operator/index.html            |  8 +-------
 _api/airflow/operators/email_operator/index.html            |  8 +-------
 _api/airflow/operators/generic_transfer/index.html          |  8 +-------
 _api/airflow/operators/hive_operator/index.html             |  8 +-------
 _api/airflow/operators/hive_stats_operator/index.html       |  8 +-------
 _api/airflow/operators/hive_to_druid/index.html             |  8 +-------
 _api/airflow/operators/hive_to_mysql/index.html             |  8 +-------
 _api/airflow/operators/hive_to_samba_operator/index.html    |  8 +-------
 _api/airflow/operators/http_operator/index.html             |  8 +-------
 _api/airflow/operators/index.html                           |  8 +-------
 _api/airflow/operators/jdbc_operator/index.html             |  8 +-------
 _api/airflow/operators/latest_only_operator/index.html      |  8 +-------
 _api/airflow/operators/mssql_operator/index.html            |  8 +-------
 _api/airflow/operators/mssql_to_hive/index.html             |  8 +-------
 _api/airflow/operators/mysql_operator/index.html            |  8 +-------
 _api/airflow/operators/mysql_to_hive/index.html             |  8 +-------
 _api/airflow/operators/oracle_operator/index.html           |  8 +-------
 _api/airflow/operators/pig_operator/index.html              |  8 +-------
 _api/airflow/operators/postgres_operator/index.html         |  8 +-------
 _api/airflow/operators/presto_check_operator/index.html     |  8 +-------
 _api/airflow/operators/presto_to_mysql/index.html           |  8 +-------
 _api/airflow/operators/python_operator/index.html           |  8 +-------
 _api/airflow/operators/redshift_to_s3_operator/index.html   |  8 +-------
 .../airflow/operators/s3_file_transform_operator/index.html |  8 +-------
 _api/airflow/operators/s3_to_hive_operator/index.html       |  8 +-------
 _api/airflow/operators/s3_to_redshift_operator/index.html   |  8 +-------
 _api/airflow/operators/sensors/index.html                   |  8 +-------
 _api/airflow/operators/slack_operator/index.html            |  8 +-------
 _api/airflow/operators/sqlite_operator/index.html           |  8 +-------
 _api/airflow/operators/subdag_operator/index.html           |  8 +-------
 _api/airflow/sensors/base_sensor_operator/index.html        |  8 +-------
 _api/airflow/sensors/external_task_sensor/index.html        |  8 +-------
 _api/airflow/sensors/hdfs_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/hive_partition_sensor/index.html       |  8 +-------
 _api/airflow/sensors/http_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/index.html                             |  8 +-------
 _api/airflow/sensors/metastore_partition_sensor/index.html  |  8 +-------
 _api/airflow/sensors/named_hive_partition_sensor/index.html |  8 +-------
 _api/airflow/sensors/s3_key_sensor/index.html               |  8 +-------
 _api/airflow/sensors/s3_prefix_sensor/index.html            |  8 +-------
 _api/airflow/sensors/sql_sensor/index.html                  |  8 +-------
 _api/airflow/sensors/time_delta_sensor/index.html           |  8 +-------
 _api/airflow/sensors/time_sensor/index.html                 |  8 +-------
 _api/airflow/sensors/web_hdfs_sensor/index.html             |  8 +-------
 _api/index.html                                             |  8 +-------
 .../contrib/example_dags/example_dingding_operator.html     |  8 +-------
 .../example_dags/example_gcp_bigtable_operators.html        |  8 +-------
 .../contrib/example_dags/example_gcp_cloud_build.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_compute.html   |  8 +-------
 .../contrib/example_dags/example_gcp_compute_igm.html       |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_function.html  |  8 +-------
 .../contrib/example_dags/example_gcp_natural_language.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_spanner.html   |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_speech.html    |  8 +-------
 _modules/airflow/contrib/example_dags/example_gcp_sql.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_sql_query.html |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_transfer.html  |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_translate.html |  8 +-------
 .../example_dags/example_gcp_video_intelligence.html        |  8 +-------
 .../airflow/contrib/example_dags/example_gcp_vision.html    |  8 +-------
 _modules/airflow/contrib/example_dags/example_gcs_acl.html  |  8 +-------
 .../contrib/example_dags/example_gcs_to_bq_operator.html    |  8 +-------
 _modules/airflow/contrib/executors/kubernetes_executor.html |  8 +-------
 _modules/airflow/contrib/executors/mesos_executor.html      |  8 +-------
 _modules/airflow/contrib/hooks.html                         |  8 +-------
 _modules/airflow/contrib/hooks/aws_athena_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/aws_dynamodb_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/aws_firehose_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/aws_glue_catalog_hook.html   |  8 +-------
 _modules/airflow/contrib/hooks/aws_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/aws_lambda_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/aws_logs_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/aws_sns_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/aws_sqs_hook.html            |  8 +-------
 .../contrib/hooks/azure_container_instance_hook.html        |  8 +-------
 .../contrib/hooks/azure_container_registry_hook.html        |  8 +-------
 .../airflow/contrib/hooks/azure_container_volume_hook.html  |  8 +-------
 _modules/airflow/contrib/hooks/azure_cosmos_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/azure_data_lake_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/azure_fileshare_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/bigquery_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/cassandra_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/cloudant_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/databricks_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/datadog_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/datastore_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/dingding_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/discord_webhook_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/emr_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/fs_hook.html                 |  8 +-------
 _modules/airflow/contrib/hooks/ftp_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/gcp_api_base_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_bigtable_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_cloud_build_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/gcp_compute_hook.html        |  8 +-------
 _modules/airflow/contrib/hooks/gcp_container_hook.html      |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dataflow_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dataproc_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_function_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_kms_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_mlengine_hook.html       |  8 +-------
 .../airflow/contrib/hooks/gcp_natural_language_hook.html    |  8 +-------
 _modules/airflow/contrib/hooks/gcp_pubsub_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/gcp_spanner_hook.html        |  8 +-------
 _modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html |  8 +-------
 _modules/airflow/contrib/hooks/gcp_sql_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html |  8 +-------
 _modules/airflow/contrib/hooks/gcp_transfer_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/gcp_translate_hook.html      |  8 +-------
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html  |  8 +-------
 _modules/airflow/contrib/hooks/gcp_vision_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/gcs_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/grpc_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/imap_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/jenkins_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/jira_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/mongo_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/openfaas_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/opsgenie_alert_hook.html     |  8 +-------
 _modules/airflow/contrib/hooks/pinot_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/qubole_check_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/qubole_hook.html             |  8 +-------
 _modules/airflow/contrib/hooks/redis_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/redshift_hook.html           |  8 +-------
 _modules/airflow/contrib/hooks/sagemaker_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/salesforce_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/segment_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/sftp_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/slack_webhook_hook.html      |  8 +-------
 _modules/airflow/contrib/hooks/snowflake_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/spark_jdbc_hook.html         |  8 +-------
 _modules/airflow/contrib/hooks/spark_jdbc_script.html       |  8 +-------
 _modules/airflow/contrib/hooks/spark_sql_hook.html          |  8 +-------
 _modules/airflow/contrib/hooks/spark_submit_hook.html       |  8 +-------
 _modules/airflow/contrib/hooks/sqoop_hook.html              |  8 +-------
 _modules/airflow/contrib/hooks/ssh_hook.html                |  8 +-------
 _modules/airflow/contrib/hooks/vertica_hook.html            |  8 +-------
 _modules/airflow/contrib/hooks/wasb_hook.html               |  8 +-------
 _modules/airflow/contrib/hooks/winrm_hook.html              |  8 +-------
 _modules/airflow/contrib/operators.html                     |  8 +-------
 _modules/airflow/contrib/operators/adls_list_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/adls_to_gcs.html         |  8 +-------
 _modules/airflow/contrib/operators/aws_athena_operator.html |  8 +-------
 .../airflow/contrib/operators/aws_sqs_publish_operator.html |  8 +-------
 _modules/airflow/contrib/operators/awsbatch_operator.html   |  8 +-------
 .../operators/azure_container_instances_operator.html       |  8 +-------
 .../airflow/contrib/operators/azure_cosmos_operator.html    |  8 +-------
 .../airflow/contrib/operators/bigquery_check_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/bigquery_get_data.html   |  8 +-------
 _modules/airflow/contrib/operators/bigquery_operator.html   |  8 +-------
 .../contrib/operators/bigquery_table_delete_operator.html   |  8 +-------
 .../airflow/contrib/operators/bigquery_to_bigquery.html     |  8 +-------
 _modules/airflow/contrib/operators/bigquery_to_gcs.html     |  8 +-------
 _modules/airflow/contrib/operators/cassandra_to_gcs.html    |  8 +-------
 _modules/airflow/contrib/operators/databricks_operator.html |  8 +-------
 _modules/airflow/contrib/operators/dataflow_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/dataproc_operator.html   |  8 +-------
 .../contrib/operators/datastore_export_operator.html        |  8 +-------
 .../contrib/operators/datastore_import_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/dingding_operator.html   |  8 +-------
 .../airflow/contrib/operators/discord_webhook_operator.html |  8 +-------
 _modules/airflow/contrib/operators/druid_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/ecs_operator.html        |  8 +-------
 .../airflow/contrib/operators/emr_add_steps_operator.html   |  8 +-------
 .../contrib/operators/emr_create_job_flow_operator.html     |  8 +-------
 .../contrib/operators/emr_terminate_job_flow_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/file_to_gcs.html         |  8 +-------
 _modules/airflow/contrib/operators/file_to_wasb.html        |  8 +-------
 .../airflow/contrib/operators/gcp_bigtable_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_cloud_build_operator.html |  8 +-------
 .../airflow/contrib/operators/gcp_compute_operator.html     |  8 +-------
 .../airflow/contrib/operators/gcp_container_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/gcp_dlp_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_function_operator.html    |  8 +-------
 .../contrib/operators/gcp_natural_language_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_spanner_operator.html     |  8 +-------
 .../contrib/operators/gcp_speech_to_text_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/gcp_sql_operator.html    |  8 +-------
 .../contrib/operators/gcp_text_to_speech_operator.html      |  8 +-------
 .../airflow/contrib/operators/gcp_transfer_operator.html    |  8 +-------
 .../airflow/contrib/operators/gcp_translate_operator.html   |  8 +-------
 .../contrib/operators/gcp_translate_speech_operator.html    |  8 +-------
 .../contrib/operators/gcp_video_intelligence_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/gcp_vision_operator.html |  8 +-------
 _modules/airflow/contrib/operators/gcs_acl_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/gcs_delete_operator.html |  8 +-------
 .../airflow/contrib/operators/gcs_download_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/gcs_list_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/gcs_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_bq.html           |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_gcs.html          |  8 +-------
 _modules/airflow/contrib/operators/gcs_to_s3.html           |  8 +-------
 _modules/airflow/contrib/operators/hipchat_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/hive_to_dynamodb.html    |  8 +-------
 .../contrib/operators/imap_attachment_to_s3_operator.html   |  8 +-------
 .../contrib/operators/jenkins_job_trigger_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/jira_operator.html       |  8 +-------
 .../airflow/contrib/operators/kubernetes_pod_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/mlengine_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/mongo_to_s3.html         |  8 +-------
 _modules/airflow/contrib/operators/mssql_to_gcs.html        |  8 +-------
 _modules/airflow/contrib/operators/mysql_to_gcs.html        |  8 +-------
 .../airflow/contrib/operators/opsgenie_alert_operator.html  |  8 +-------
 .../operators/oracle_to_azure_data_lake_transfer.html       |  8 +-------
 .../contrib/operators/oracle_to_oracle_transfer.html        |  8 +-------
 .../airflow/contrib/operators/postgres_to_gcs_operator.html |  8 +-------
 _modules/airflow/contrib/operators/pubsub_operator.html     |  8 +-------
 .../airflow/contrib/operators/qubole_check_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/qubole_operator.html     |  8 +-------
 .../airflow/contrib/operators/redis_publish_operator.html   |  8 +-------
 .../airflow/contrib/operators/s3_copy_object_operator.html  |  8 +-------
 .../contrib/operators/s3_delete_objects_operator.html       |  8 +-------
 _modules/airflow/contrib/operators/s3_list_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/s3_to_gcs_operator.html  |  8 +-------
 _modules/airflow/contrib/operators/s3_to_sftp_operator.html |  8 +-------
 .../airflow/contrib/operators/sagemaker_base_operator.html  |  8 +-------
 .../operators/sagemaker_endpoint_config_operator.html       |  8 +-------
 .../contrib/operators/sagemaker_endpoint_operator.html      |  8 +-------
 .../airflow/contrib/operators/sagemaker_model_operator.html |  8 +-------
 .../contrib/operators/sagemaker_training_operator.html      |  8 +-------
 .../contrib/operators/sagemaker_transform_operator.html     |  8 +-------
 .../contrib/operators/sagemaker_tuning_operator.html        |  8 +-------
 .../contrib/operators/segment_track_event_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/sftp_operator.html       |  8 +-------
 _modules/airflow/contrib/operators/sftp_to_s3_operator.html |  8 +-------
 .../airflow/contrib/operators/slack_webhook_operator.html   |  8 +-------
 _modules/airflow/contrib/operators/snowflake_operator.html  |  8 +-------
 .../airflow/contrib/operators/sns_publish_operator.html     |  8 +-------
 _modules/airflow/contrib/operators/spark_jdbc_operator.html |  8 +-------
 _modules/airflow/contrib/operators/spark_sql_operator.html  |  8 +-------
 .../airflow/contrib/operators/spark_submit_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/sql_to_gcs.html          |  8 +-------
 _modules/airflow/contrib/operators/sqoop_operator.html      |  8 +-------
 _modules/airflow/contrib/operators/ssh_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/vertica_operator.html    |  8 +-------
 _modules/airflow/contrib/operators/vertica_to_hive.html     |  8 +-------
 _modules/airflow/contrib/operators/vertica_to_mysql.html    |  8 +-------
 .../contrib/operators/wasb_delete_blob_operator.html        |  8 +-------
 _modules/airflow/contrib/operators/winrm_operator.html      |  8 +-------
 _modules/airflow/contrib/sensors/aws_athena_sensor.html     |  8 +-------
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html  |  8 +-------
 .../contrib/sensors/aws_redshift_cluster_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/aws_sqs_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/azure_cosmos_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/bash_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/bigquery_sensor.html       |  8 +-------
 .../airflow/contrib/sensors/cassandra_record_sensor.html    |  8 +-------
 .../airflow/contrib/sensors/cassandra_table_sensor.html     |  8 +-------
 _modules/airflow/contrib/sensors/datadog_sensor.html        |  8 +-------
 _modules/airflow/contrib/sensors/emr_base_sensor.html       |  8 +-------
 _modules/airflow/contrib/sensors/emr_job_flow_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/emr_step_sensor.html       |  8 +-------
 _modules/airflow/contrib/sensors/file_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/ftp_sensor.html            |  8 +-------
 _modules/airflow/contrib/sensors/gcp_transfer_sensor.html   |  8 +-------
 _modules/airflow/contrib/sensors/gcs_sensor.html            |  8 +-------
 _modules/airflow/contrib/sensors/hdfs_sensor.html           |  8 +-------
 .../airflow/contrib/sensors/imap_attachment_sensor.html     |  8 +-------
 _modules/airflow/contrib/sensors/jira_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/mongo_sensor.html          |  8 +-------
 _modules/airflow/contrib/sensors/pubsub_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/python_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/qubole_sensor.html         |  8 +-------
 _modules/airflow/contrib/sensors/redis_key_sensor.html      |  8 +-------
 _modules/airflow/contrib/sensors/redis_pub_sub_sensor.html  |  8 +-------
 _modules/airflow/contrib/sensors/sagemaker_base_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_training_sensor.html  |  8 +-------
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html |  8 +-------
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html    |  8 +-------
 _modules/airflow/contrib/sensors/sftp_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/wasb_sensor.html           |  8 +-------
 _modules/airflow/contrib/sensors/weekday_sensor.html        |  8 +-------
 _modules/airflow/example_dags/example_bash_operator.html    |  8 +-------
 _modules/airflow/example_dags/example_python_operator.html  |  8 +-------
 _modules/airflow/exceptions.html                            |  8 +-------
 _modules/airflow/executors.html                             |  8 +-------
 _modules/airflow/executors/base_executor.html               |  8 +-------
 _modules/airflow/executors/celery_executor.html             |  8 +-------
 _modules/airflow/executors/dask_executor.html               |  8 +-------
 _modules/airflow/executors/local_executor.html              |  8 +-------
 _modules/airflow/executors/sequential_executor.html         |  8 +-------
 _modules/airflow/hooks.html                                 |  8 +-------
 _modules/airflow/hooks/S3_hook.html                         |  8 +-------
 _modules/airflow/hooks/base_hook.html                       |  8 +-------
 _modules/airflow/hooks/dbapi_hook.html                      |  8 +-------
 _modules/airflow/hooks/docker_hook.html                     |  8 +-------
 _modules/airflow/hooks/druid_hook.html                      |  8 +-------
 _modules/airflow/hooks/hdfs_hook.html                       |  8 +-------
 _modules/airflow/hooks/hive_hooks.html                      |  8 +-------
 _modules/airflow/hooks/http_hook.html                       |  8 +-------
 _modules/airflow/hooks/jdbc_hook.html                       |  8 +-------
 _modules/airflow/hooks/mssql_hook.html                      |  8 +-------
 _modules/airflow/hooks/mysql_hook.html                      |  8 +-------
 _modules/airflow/hooks/oracle_hook.html                     |  8 +-------
 _modules/airflow/hooks/pig_hook.html                        |  8 +-------
 _modules/airflow/hooks/postgres_hook.html                   |  8 +-------
 _modules/airflow/hooks/presto_hook.html                     |  8 +-------
 _modules/airflow/hooks/samba_hook.html                      |  8 +-------
 _modules/airflow/hooks/slack_hook.html                      |  8 +-------
 _modules/airflow/hooks/sqlite_hook.html                     |  8 +-------
 _modules/airflow/hooks/webhdfs_hook.html                    |  8 +-------
 _modules/airflow/hooks/zendesk_hook.html                    |  8 +-------
 _modules/airflow/macros.html                                |  8 +-------
 _modules/airflow/macros/hive.html                           |  8 +-------
 _modules/airflow/models.html                                |  8 +-------
 _modules/airflow/models/base.html                           |  8 +-------
 _modules/airflow/models/baseoperator.html                   |  8 +-------
 _modules/airflow/models/chart.html                          |  8 +-------
 _modules/airflow/models/connection.html                     |  8 +-------
 _modules/airflow/models/crypto.html                         |  8 +-------
 _modules/airflow/models/dag.html                            |  8 +-------
 _modules/airflow/models/dagbag.html                         |  8 +-------
 _modules/airflow/models/dagpickle.html                      |  8 +-------
 _modules/airflow/models/dagrun.html                         |  8 +-------
 _modules/airflow/models/errors.html                         |  8 +-------
 _modules/airflow/models/knownevent.html                     |  8 +-------
 _modules/airflow/models/kubernetes.html                     |  8 +-------
 _modules/airflow/models/log.html                            |  8 +-------
 _modules/airflow/models/pool.html                           |  8 +-------
 _modules/airflow/models/skipmixin.html                      |  8 +-------
 _modules/airflow/models/slamiss.html                        |  8 +-------
 _modules/airflow/models/taskfail.html                       |  8 +-------
 _modules/airflow/models/taskinstance.html                   |  8 +-------
 _modules/airflow/models/taskreschedule.html                 |  8 +-------
 _modules/airflow/models/user.html                           |  8 +-------
 _modules/airflow/models/variable.html                       |  8 +-------
 _modules/airflow/models/xcom.html                           |  8 +-------
 _modules/airflow/operators.html                             |  8 +-------
 _modules/airflow/operators/bash_operator.html               |  8 +-------
 _modules/airflow/operators/branch_operator.html             |  8 +-------
 _modules/airflow/operators/check_operator.html              |  8 +-------
 _modules/airflow/operators/dagrun_operator.html             |  8 +-------
 _modules/airflow/operators/docker_operator.html             |  8 +-------
 _modules/airflow/operators/druid_check_operator.html        |  8 +-------
 _modules/airflow/operators/dummy_operator.html              |  8 +-------
 _modules/airflow/operators/email_operator.html              |  8 +-------
 _modules/airflow/operators/generic_transfer.html            |  8 +-------
 _modules/airflow/operators/hive_operator.html               |  8 +-------
 _modules/airflow/operators/hive_stats_operator.html         |  8 +-------
 _modules/airflow/operators/hive_to_druid.html               |  8 +-------
 _modules/airflow/operators/hive_to_mysql.html               |  8 +-------
 _modules/airflow/operators/hive_to_samba_operator.html      |  8 +-------
 _modules/airflow/operators/http_operator.html               |  8 +-------
 _modules/airflow/operators/jdbc_operator.html               |  8 +-------
 _modules/airflow/operators/latest_only_operator.html        |  8 +-------
 _modules/airflow/operators/mssql_operator.html              |  8 +-------
 _modules/airflow/operators/mssql_to_hive.html               |  8 +-------
 _modules/airflow/operators/mysql_operator.html              |  8 +-------
 _modules/airflow/operators/mysql_to_hive.html               |  8 +-------
 _modules/airflow/operators/oracle_operator.html             |  8 +-------
 _modules/airflow/operators/pig_operator.html                |  8 +-------
 _modules/airflow/operators/postgres_operator.html           |  8 +-------
 _modules/airflow/operators/presto_check_operator.html       |  8 +-------
 _modules/airflow/operators/presto_to_mysql.html             |  8 +-------
 _modules/airflow/operators/python_operator.html             |  8 +-------
 _modules/airflow/operators/redshift_to_s3_operator.html     |  8 +-------
 _modules/airflow/operators/s3_file_transform_operator.html  |  8 +-------
 _modules/airflow/operators/s3_to_hive_operator.html         |  8 +-------
 _modules/airflow/operators/s3_to_redshift_operator.html     |  8 +-------
 _modules/airflow/operators/sensors.html                     |  8 +-------
 _modules/airflow/operators/slack_operator.html              |  8 +-------
 _modules/airflow/operators/sqlite_operator.html             |  8 +-------
 _modules/airflow/operators/subdag_operator.html             |  8 +-------
 _modules/airflow/sensors.html                               |  8 +-------
 _modules/airflow/sensors/base_sensor_operator.html          |  8 +-------
 _modules/airflow/sensors/external_task_sensor.html          |  8 +-------
 _modules/airflow/sensors/hdfs_sensor.html                   |  8 +-------
 _modules/airflow/sensors/hive_partition_sensor.html         |  8 +-------
 _modules/airflow/sensors/http_sensor.html                   |  8 +-------
 _modules/airflow/sensors/metastore_partition_sensor.html    |  8 +-------
 _modules/airflow/sensors/named_hive_partition_sensor.html   |  8 +-------
 _modules/airflow/sensors/s3_key_sensor.html                 |  8 +-------
 _modules/airflow/sensors/s3_prefix_sensor.html              |  8 +-------
 _modules/airflow/sensors/sql_sensor.html                    |  8 +-------
 _modules/airflow/sensors/time_delta_sensor.html             |  8 +-------
 _modules/airflow/sensors/time_sensor.html                   |  8 +-------
 _modules/airflow/sensors/web_hdfs_sensor.html               |  8 +-------
 _modules/airflow/utils/log/logging_mixin.html               |  8 +-------
 _modules/index.html                                         |  8 +-------
 api.html                                                    | 13 +------------
 changelog.html                                              |  8 +-------
 cli.html                                                    |  8 +-------
 concepts.html                                               |  8 +-------
 faq.html                                                    |  8 +-------
 genindex.html                                               |  8 +-------
 howto/check-health.html                                     |  8 +-------
 howto/connection/aws.html                                   |  8 +-------
 howto/connection/gcp.html                                   |  8 +-------
 howto/connection/gcp_sql.html                               |  8 +-------
 howto/connection/grpc.html                                  |  8 +-------
 howto/connection/index.html                                 |  8 +-------
 howto/connection/mysql.html                                 |  8 +-------
 howto/connection/oracle.html                                |  8 +-------
 howto/connection/postgres.html                              |  8 +-------
 howto/connection/ssh.html                                   |  8 +-------
 howto/define_extra_link.html                                |  8 +-------
 howto/executor/use-celery.html                              |  8 +-------
 howto/executor/use-dask.html                                |  8 +-------
 howto/executor/use-mesos.html                               |  8 +-------
 howto/index.html                                            |  8 +-------
 howto/initialize-database.html                              |  8 +-------
 howto/operator/bash.html                                    |  8 +-------
 howto/operator/dingding.html                                |  8 +-------
 howto/operator/gcp/bigtable.html                            |  8 +-------
 howto/operator/gcp/cloud_build.html                         |  8 +-------
 howto/operator/gcp/compute.html                             |  8 +-------
 howto/operator/gcp/function.html                            |  8 +-------
 howto/operator/gcp/gcs.html                                 |  8 +-------
 howto/operator/gcp/index.html                               |  8 +-------
 howto/operator/gcp/natural_language.html                    |  8 +-------
 howto/operator/gcp/spanner.html                             |  8 +-------
 howto/operator/gcp/speech.html                              |  8 +-------
 howto/operator/gcp/sql.html                                 |  8 +-------
 howto/operator/gcp/transfer.html                            |  8 +-------
 howto/operator/gcp/translate-speech.html                    |  8 +-------
 howto/operator/gcp/translate.html                           |  8 +-------
 howto/operator/gcp/video.html                               |  8 +-------
 howto/operator/gcp/vision.html                              |  8 +-------
 howto/operator/index.html                                   |  8 +-------
 howto/operator/python.html                                  |  8 +-------
 howto/run-behind-proxy.html                                 |  8 +-------
 howto/run-with-systemd.html                                 |  8 +-------
 howto/run-with-upstart.html                                 |  8 +-------
 howto/secure-connections.html                               |  8 +-------
 howto/set-config.html                                       |  8 +-------
 howto/tracking-user-activity.html                           |  8 +-------
 howto/use-test-config.html                                  |  8 +-------
 howto/write-logs.html                                       |  8 +-------
 http-routingtable.html                                      |  8 +-------
 index.html                                                  |  8 +-------
 installation.html                                           |  8 +-------
 integration.html                                            |  8 +-------
 kubernetes.html                                             |  8 +-------
 license.html                                                |  8 +-------
 lineage.html                                                |  8 +-------
 macros.html                                                 |  8 +-------
 metrics.html                                                |  8 +-------
 plugins.html                                                |  8 +-------
 privacy_notice.html                                         |  8 +-------
 profiling.html                                              |  8 +-------
 project.html                                                |  8 +-------
 py-modindex.html                                            |  8 +-------
 scheduler.html                                              |  8 +-------
 search.html                                                 |  8 +-------
 security.html                                               |  8 +-------
 start.html                                                  |  8 +-------
 timezone.html                                               |  8 +-------
 tutorial.html                                               |  8 +-------
 ui.html                                                     |  8 +-------
 2821 files changed, 2822 insertions(+), 19757 deletions(-)

diff --git a/1.10.3/_api/airflow/contrib/executors/index.html b/1.10.3/_api/airflow/contrib/executors/index.html
index 3f9c446..fee0080 100644
--- a/1.10.3/_api/airflow/contrib/executors/index.html
+++ b/1.10.3/_api/airflow/contrib/executors/index.html
@@ -1,13 +1,3 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
-
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
-
-
-
 <!DOCTYPE html>
 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
@@ -338,4 +328,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html
index 59bfa69..73cc825 100644
--- a/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html
+++ b/1.10.3/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -586,4 +580,4 @@ for State.LAUNCHED</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html
index a26bb2e..fbe297a 100644
--- a/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html
+++ b/1.10.3/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -443,4 +437,4 @@ See <a class="reference external" href="http://mesos.apache.org/">http://mesos.a
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html
index cfa6a0e..d8780af 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -455,4 +449,4 @@ Returns one of the final states</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
index 4a5c79c..bb39539 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -361,4 +355,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
index 88b1f83..20a329a 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
index b79af88..e38b79a 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -446,4 +440,4 @@ a partition may be composed of multiple columns. For example:
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html
index 06678f2..a3b76bb 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -402,4 +396,4 @@ If IAM role is already an IAM role ARN, no change is made.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
index bc91884..e1aae57 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -363,4 +357,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html
index 8332f58..3713718 100644
--- a/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -362,4 +356,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
index de4b156..5c3bb9d 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -467,4 +461,4 @@ If the exitcode is unknown 0 is returned.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
index d3f278d..6fa06a7 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -352,4 +346,4 @@ to start the container instance</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
index 0dd45ec..7f1c10c 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ which file shares should be mounted</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
index 6b07db4..ee0ee0d 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -447,4 +441,4 @@ collection in the CosmosDB database.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
index b7e9ea7..1447fdd 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -429,4 +423,4 @@ block for each API call. This block cannot be bigger than a chunk.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
index bbbefa6..c4becfa 100644
--- a/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -534,4 +528,4 @@ passed to the <cite>FileService()</cite> constructor.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html
index 431d499..35bd391 100644
--- a/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -1226,4 +1220,4 @@ error if type is not correct</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html
index 78cce8b..815c530 100644
--- a/1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/cassandra_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -430,4 +424,4 @@ Use dot notation to target a specific keyspace.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html
index 49fbdc9..4707449 100644
--- a/1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/cloudant_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -356,4 +350,4 @@ documentation <a class="reference external" href="https://github.com/cloudant-la
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/databricks_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/databricks_hook/index.html
index 549dbc7..2b49fa2 100644
--- a/1.10.3/_api/airflow/contrib/hooks/databricks_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/databricks_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -539,4 +533,4 @@ magic function.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html
index 5bba9bc..d857966 100644
--- a/1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/datadog_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -420,4 +414,4 @@ to submit.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html
index 178202c..4db09c3 100644
--- a/1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/datastore_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -496,4 +490,4 @@ Cannot be used with a transaction.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html
index 8ce752e..9c0558c 100644
--- a/1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/dingding_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -389,4 +383,4 @@ not don’t need generic params</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/discord_webhook_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
index 8815b27..70dbf50 100644
--- a/1.10.3/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -399,4 +393,4 @@ to a valid Discord JSON payload.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html
index ecbdfde..e4c01de 100644
--- a/1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/emr_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -356,4 +350,4 @@ Overrides for this config may be passed as the job_flow_overrides.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html
index 0fd7219..66010d4 100644
--- a/1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/fs_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ Extra: {“path”: “/tmp”}</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html
index befcfdc..3c95fe1 100644
--- a/1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/ftp_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -551,4 +545,4 @@ file-like buffer</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
index 2c8d709..ba4be5d 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -452,4 +446,4 @@ the service account that is authorized.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
index 30a4c5c..958f714 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -504,4 +498,4 @@ from.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_compute_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
index 6450575..871b6c2 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -592,4 +586,4 @@ the default project_id from the GCP connection is used.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_container_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_container_hook/index.html
index d5825b8..bfc508a 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_container_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_container_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -507,4 +501,4 @@ individual attempt.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
index 294791f..5030399 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -438,4 +432,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
index 2b3887a..e038b16 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -481,4 +475,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_function_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_function_hook/index.html
index 5e674f7..05bfbb6 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_function_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_function_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -498,4 +492,4 @@ asynchronous call.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
index 3b09a93..96b9ada 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -412,4 +406,4 @@ provided when encrypting the message.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
index a30d554..2cedeea 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -460,4 +454,4 @@ raises an error otherwise.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
index 955c78c..20078b4 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -513,4 +507,4 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
index 6b7c177..34c86d0 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -516,4 +510,4 @@ response</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
index 28fbed1..07add78 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -587,4 +581,4 @@ database. If set to None or missing, the default project_id from the GCP connect
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
index af6f9b0..be710d8 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -913,4 +907,4 @@ that uses proxy or connects directly to the Google Cloud SQL database.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
index 4250e83..0d73cfc 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -863,4 +857,4 @@ with a state in the list,</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_translate_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
index c1e31e5..b99005f 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -406,4 +400,4 @@ values and translations differ.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcp_vision_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
index 878e6fb..2c0dff6 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -506,4 +500,4 @@ provided:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html
index 1bf99af..0eda566 100644
--- a/1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/gcs_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -664,4 +658,4 @@ tuple containing the corresponding bucket and blob.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html
index 6696cce..2d8d404 100644
--- a/1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/imap_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -600,4 +594,4 @@ where the attachments name matches the given name.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/index.html b/1.10.3/_api/airflow/contrib/hooks/index.html
index dbd3d99..54752b7 100644
--- a/1.10.3/_api/airflow/contrib/hooks/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -416,4 +410,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html
index 2e528df..207108e 100644
--- a/1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/jenkins_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -346,4 +340,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html
index ee4a57d..7b6da05 100644
--- a/1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/jira_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -351,4 +345,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html
index 56b1cc3..5f2f1be 100644
--- a/1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/mongo_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -533,4 +527,4 @@ Can be omitted; then the database from the connection string is used.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html
index a18d387..3b80431 100644
--- a/1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/openfaas_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -400,4 +394,4 @@ for example host : <a class="reference external" href="http://openfaas.faas.com"
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
index b2673e2..a5add52 100644
--- a/1.10.3/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ See <a class="reference external" href="https://docs.opsgenie.com/docs/alert-api
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html
index 8403af7..cfc7337 100644
--- a/1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/pinot_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -408,4 +402,4 @@ sql statements to execute</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/qubole_check_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/qubole_check_hook/index.html
index 59ff513..996e0d6 100644
--- a/1.10.3/_api/airflow/contrib/hooks/qubole_check_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/qubole_check_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -385,4 +379,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html
index d7103b1..a1e8972 100644
--- a/1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/qubole_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -411,4 +405,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html
index 4a4e521..7a28467 100644
--- a/1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/redis_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -349,4 +343,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html
index 623352d..3e0a4fe 100644
--- a/1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/redshift_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -411,4 +405,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html
index 7001dd6..c73cf79 100644
--- a/1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/sagemaker_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -859,4 +853,4 @@ None implies no timeout for any SageMaker job.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/salesforce_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/salesforce_hook/index.html
index fa3d961..6d0edd4 100644
--- a/1.10.3/_api/airflow/contrib/hooks/salesforce_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/salesforce_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -477,4 +471,4 @@ was fetched from Salesforce.
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html
index 47e2f95..8161b8b 100644
--- a/1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/segment_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -359,4 +353,4 @@ retrieve data from it or write to that file.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html
index c24e24f..c34c093 100644
--- a/1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/sftp_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -438,4 +432,4 @@ from that location
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/slack_webhook_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
index 476a6bd..67ea214 100644
--- a/1.10.3/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ Slack json message
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html
index 0a32fcc..ca1e0ee 100644
--- a/1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/snowflake_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -389,4 +383,4 @@ from extra</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
index 1cd8837..a482427 100644
--- a/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -422,4 +416,4 @@ types.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_script/index.html b/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
index 429178f..6da4cd8 100644
--- a/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -354,4 +348,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html
index 046ba28..f884c54 100644
--- a/1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/spark_sql_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -401,4 +395,4 @@ as default.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/spark_submit_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/spark_submit_hook/index.html
index 5b48782..d76c9c6 100644
--- a/1.10.3/_api/airflow/contrib/hooks/spark_submit_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/spark_submit_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -510,4 +504,4 @@ master failure recovery</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html
index bad7b0f..4cea50d 100644
--- a/1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/sqoop_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -500,4 +494,4 @@ Don’t include prefix of – for sqoop options.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html
index b08930e..d3207f5 100644
--- a/1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/ssh_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -404,4 +398,4 @@ keepalive_interval seconds</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html
index ecbce1a..7beb1d4 100644
--- a/1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/vertica_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -362,4 +356,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html
index dc7da38..5f3999a 100644
--- a/1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/wasb_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -485,4 +479,4 @@ blob does not exist.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html b/1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html
index 2c774c9..ac645b5 100644
--- a/1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html
+++ b/1.10.3/_api/airflow/contrib/hooks/winrm_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ protocols like TLSv1.0, default is False</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/adls_list_operator/index.html b/1.10.3/_api/airflow/contrib/operators/adls_list_operator/index.html
index 4b0756a..24225a1 100644
--- a/1.10.3/_api/airflow/contrib/operators/adls_list_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/adls_list_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -386,4 +380,4 @@ folder in the specified ADLS account</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/adls_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/adls_to_gcs/index.html
index e659e72..d26150f 100644
--- a/1.10.3/_api/airflow/contrib/operators/adls_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/adls_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -417,4 +411,4 @@ path ``/hello/world``to the GCS bucket ``mybucket``. ::
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/aws_athena_operator/index.html b/1.10.3/_api/airflow/contrib/operators/aws_athena_operator/index.html
index 20d568c..9ec57f9 100644
--- a/1.10.3/_api/airflow/contrib/operators/aws_athena_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/aws_athena_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/awsbatch_operator/index.html b/1.10.3/_api/airflow/contrib/operators/awsbatch_operator/index.html
index ea3931a..7c47a7e 100644
--- a/1.10.3/_api/airflow/contrib/operators/awsbatch_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/awsbatch_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -421,4 +415,4 @@ Override the region_name in connection (if provided)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/azure_container_instances_operator/index.html b/1.10.3/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
index 53488f4..2abce16 100644
--- a/1.10.3/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -435,4 +429,4 @@ Currently only Azure Fileshares are supported.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/azure_cosmos_operator/index.html b/1.10.3/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
index 076eaad..9101c65 100644
--- a/1.10.3/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -371,4 +365,4 @@ It will create both the database and collection if they do not already exist</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_check_operator/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_check_operator/index.html
index 41e4709..40ca2d1 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_check_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_check_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -435,4 +429,4 @@ or standard SQL (false).</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_get_data/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_get_data/index.html
index becb298..28691d3 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_get_data/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_get_data/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -400,4 +394,4 @@ delegation enabled.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_operator/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_operator/index.html
index 9778af1..8bd3d12 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -690,4 +684,4 @@ More info:
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
index 73a5ee7..f7c0679 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ requested table does not exist.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
index f36fa64..8aba6c4 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ passed to BigQuery</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/bigquery_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
index 524cee5..ad22888 100644
--- a/1.10.3/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -394,4 +388,4 @@ passed to BigQuery</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/cassandra_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
index 19d3a7b..76d2ce0 100644
--- a/1.10.3/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -482,4 +476,4 @@ each will be converted to its corresponding data type in BQ.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/databricks_operator/index.html b/1.10.3/_api/airflow/contrib/operators/databricks_operator/index.html
index 1d969e2..914df3c 100644
--- a/1.10.3/_api/airflow/contrib/operators/databricks_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/databricks_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -693,4 +687,4 @@ unreachable. Its value must be greater than or equal to 1.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/dataflow_operator/index.html b/1.10.3/_api/airflow/contrib/operators/dataflow_operator/index.html
index e415e45..8344c22 100644
--- a/1.10.3/_api/airflow/contrib/operators/dataflow_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/dataflow_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -626,4 +620,4 @@ will be returned immediately.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/dataproc_operator/index.html b/1.10.3/_api/airflow/contrib/operators/dataproc_operator/index.html
index 3906c93..0c401fe 100644
--- a/1.10.3/_api/airflow/contrib/operators/dataproc_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/dataproc_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -1064,4 +1058,4 @@ delegation enabled.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/datastore_export_operator/index.html b/1.10.3/_api/airflow/contrib/operators/datastore_export_operator/index.html
index 99a5818..7ba2a32 100644
--- a/1.10.3/_api/airflow/contrib/operators/datastore_export_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/datastore_export_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -374,4 +368,4 @@ emptied prior to exports. This enables overwriting existing backups.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/datastore_import_operator/index.html b/1.10.3/_api/airflow/contrib/operators/datastore_import_operator/index.html
index 186a086..a4e54cb 100644
--- a/1.10.3/_api/airflow/contrib/operators/datastore_import_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/datastore_import_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ execution status again</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/dingding_operator/index.html b/1.10.3/_api/airflow/contrib/operators/dingding_operator/index.html
index a2092db..f999c13 100644
--- a/1.10.3/_api/airflow/contrib/operators/dingding_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/dingding_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -376,4 +370,4 @@ including text, link, markdown, actionCard, feedCard</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/discord_webhook_operator/index.html b/1.10.3/_api/airflow/contrib/operators/discord_webhook_operator/index.html
index 3f0833d..87f20e4 100644
--- a/1.10.3/_api/airflow/contrib/operators/discord_webhook_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/discord_webhook_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ default webhook endpoint in the extra field in the form of
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/druid_operator/index.html b/1.10.3/_api/airflow/contrib/operators/druid_operator/index.html
index f24e586..c651578 100644
--- a/1.10.3/_api/airflow/contrib/operators/druid_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/druid_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -369,4 +363,4 @@ accepts index jobs</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/ecs_operator/index.html b/1.10.3/_api/airflow/contrib/operators/ecs_operator/index.html
index 9d23fb0..9f4bec1 100644
--- a/1.10.3/_api/airflow/contrib/operators/ecs_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/ecs_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -411,4 +405,4 @@ the task</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/emr_add_steps_operator/index.html b/1.10.3/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
index 37a11cb..9806ec5 100644
--- a/1.10.3/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -374,4 +368,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html b/1.10.3/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
index 9168592..f3aa8d8 100644
--- a/1.10.3/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -377,4 +371,4 @@ emr_connection extra. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html b/1.10.3/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
index 92ea9f5..28cf721 100644
--- a/1.10.3/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -373,4 +367,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/file_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/file_to_gcs/index.html
index 93eb4c0..9bc5d70 100644
--- a/1.10.3/_api/airflow/contrib/operators/file_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/file_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -370,4 +364,4 @@ Optionally can compress the file for upload.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/file_to_wasb/index.html b/1.10.3/_api/airflow/contrib/operators/file_to_wasb/index.html
index f34e411..2af4de9 100644
--- a/1.10.3/_api/airflow/contrib/operators/file_to_wasb/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/file_to_wasb/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -368,4 +362,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
index 48f02a6..8a995b5 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -619,4 +613,4 @@ No exception will be raised if the instance or the table does not exist.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_compute_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_compute_operator/index.html
index 64c7359..b620845 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_compute_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_compute_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -603,4 +597,4 @@ Defaults to False.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_container_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_container_operator/index.html
index c87ebaa..70b84ca 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_container_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_container_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -538,4 +532,4 @@ key_path, etc. They get formatted as shown below.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_function_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_function_operator/index.html
index b7ea568..b222ba3 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_function_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_function_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -558,4 +552,4 @@ the pattern: <cite>^projects/[^/]+/locations/[^/]+/functions/[^/]+$</cite></p></
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
index 2683e64..1fae1f6 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -493,4 +487,4 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_spanner_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
index b1875d3..8603711 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -596,4 +590,4 @@ Database.  If set to None or missing, the default project_id from the GCP connec
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_sql_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_sql_operator/index.html
index 2cb201d..52bb0d0 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_sql_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_sql_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -830,4 +824,4 @@ details on how to define gcpcloudsql:// connection.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_transfer_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
index 900640d..f486e5b 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -893,4 +887,4 @@ With two additional improvements:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_translate_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_translate_operator/index.html
index 276c6b9..ae4694c 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_translate_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_translate_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ as <code class="docutils literal notranslate"><span class="pre">'base'</span></c
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcp_vision_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcp_vision_operator/index.html
index 59d1c61..e69ed8a 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcp_vision_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcp_vision_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -914,4 +908,4 @@ attempt.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_acl_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_acl_operator/index.html
index a1215c4..eea8b72 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_acl_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_acl_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -419,4 +413,4 @@ connecting to Google Cloud Storage.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_download_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_download_operator/index.html
index 463b7c9..c2e8488 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_download_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_download_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ domain-wide delegation enabled.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_list_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_list_operator/index.html
index 7d9b3bb..5e37b96 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_list_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_list_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -395,4 +389,4 @@ folder in <code class="docutils literal notranslate"><span class="pre">data</spa
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_operator/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_operator/index.html
index a82268c..c2734c5 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -418,4 +412,4 @@ with <code class="docutils literal notranslate"><span class="pre">MULTI_REGIONAL
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html
index 04c9221..310bf97 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_to_bq/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -443,4 +437,4 @@ options and schema for CSV and JSON sources. (Default: <code class="docutils lit
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html
index 5c5d10f..0f68ae5 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -439,4 +433,4 @@ process.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html b/1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html
index 3b6e56e..ab5fe82 100644
--- a/1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/gcs_to_s3/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -397,4 +391,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/hipchat_operator/index.html b/1.10.3/_api/airflow/contrib/operators/hipchat_operator/index.html
index 1ffce59..8e1067c 100644
--- a/1.10.3/_api/airflow/contrib/operators/hipchat_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/hipchat_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -408,4 +402,4 @@ More info: <a class="reference external" href="https://www.hipchat.com/docs/apiv
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/hive_to_dynamodb/index.html b/1.10.3/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
index 6c467ca..319bc3d 100644
--- a/1.10.3/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ be used for smallish amount of data.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html b/1.10.3/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
index 160d03a..a4ae149 100644
--- a/1.10.3/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -374,4 +368,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/index.html b/1.10.3/_api/airflow/contrib/operators/index.html
index 8175e9e..7c34e16 100644
--- a/1.10.3/_api/airflow/contrib/operators/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -441,4 +435,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html b/1.10.3/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
index 240da16..320f4c1 100644
--- a/1.10.3/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -449,4 +443,4 @@ and the field ‘number’ then contains the build number.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/jira_operator/index.html b/1.10.3/_api/airflow/contrib/operators/jira_operator/index.html
index e22df8d..5f1f178 100644
--- a/1.10.3/_api/airflow/contrib/operators/jira_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/jira_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -368,4 +362,4 @@ on which the provided jira_method will be executed</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html b/1.10.3/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
index 6448e50..3b09edc 100644
--- a/1.10.3/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -398,4 +392,4 @@ want mount as env variables</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/mlengine_operator/index.html b/1.10.3/_api/airflow/contrib/operators/mlengine_operator/index.html
index d00670c..8930e10 100644
--- a/1.10.3/_api/airflow/contrib/operators/mlengine_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/mlengine_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -590,4 +584,4 @@ creation request will be issued.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/mongo_to_s3/index.html b/1.10.3/_api/airflow/contrib/operators/mongo_to_s3/index.html
index 95f980e..a15c3e4 100644
--- a/1.10.3/_api/airflow/contrib/operators/mongo_to_s3/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/mongo_to_s3/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -384,4 +378,4 @@ needs to be passed through</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/mysql_to_gcs/index.html b/1.10.3/_api/airflow/contrib/operators/mysql_to_gcs/index.html
index 188ea78..93b95d9 100644
--- a/1.10.3/_api/airflow/contrib/operators/mysql_to_gcs/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/mysql_to_gcs/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -476,4 +470,4 @@ when a schema_filename is set.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html b/1.10.3/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
index 3b4b36b..85302eb 100644
--- a/1.10.3/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -397,4 +391,4 @@ to a valid Opsgenie JSON payload.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html b/1.10.3/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
index 78e2acc..b5d4b17 100644
--- a/1.10.3/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -382,4 +376,4 @@ Oracle and stores the file locally before loading it into Azure Data Lake.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html b/1.10.3/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
index 6e49311..d72b845 100644
--- a/1.10.3/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ database. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html b/1.10.3/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
index d781ef5..de1f6f5 100644
--- a/1.10.3/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -425,4 +419,4 @@ when a schema_filename is set.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/pubsub_operator/index.html b/1.10.3/_api/airflow/contrib/operators/pubsub_operator/index.html
index 11334d6..de2f8c1 100644
--- a/1.10.3/_api/airflow/contrib/operators/pubsub_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/pubsub_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -579,4 +573,4 @@ variables in them.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/qubole_check_operator/index.html b/1.10.3/_api/airflow/contrib/operators/qubole_check_operator/index.html
index 88ca21a..d105dca 100644
--- a/1.10.3/_api/airflow/contrib/operators/qubole_check_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/qubole_check_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -525,4 +519,4 @@ QuboleOperator and ValueCheckOperator are template-supported.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/qubole_operator/index.html b/1.10.3/_api/airflow/contrib/operators/qubole_operator/index.html
index 39a582d..0e71f38 100644
--- a/1.10.3/_api/airflow/contrib/operators/qubole_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/qubole_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -607,4 +601,4 @@ of the where clause.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/s3_copy_object_operator/index.html b/1.10.3/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
index 1330c61..a7a0105 100644
--- a/1.10.3/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -396,4 +390,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html b/1.10.3/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
index 06c027d..95b6d79 100644
--- a/1.10.3/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -390,4 +384,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/s3_list_operator/index.html b/1.10.3/_api/airflow/contrib/operators/s3_list_operator/index.html
index b2ac081..bb4a00c 100644
--- a/1.10.3/_api/airflow/contrib/operators/s3_list_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/s3_list_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -406,4 +400,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html b/1.10.3/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
index 1460eee..0f2a669 100644
--- a/1.10.3/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -417,4 +411,4 @@ templated, so you can use variables in them if you wish.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html b/1.10.3/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
index 85e6c41..65b2507 100644
--- a/1.10.3/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ regardless of how the S3 url is passed.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_base_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
index 07cf7d5..8cada11 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -398,4 +392,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
index 69a4ca8..51e8cea 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -366,4 +360,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
index adb9c93..a8e40d5 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -395,4 +389,4 @@ finish within max_ingestion_time seconds. If you set this parameter to None it n
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_model_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
index cc88137..a740f8d 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -366,4 +360,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_training_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
index a227135..1ba9533 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ the operation does not timeout.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
index 59925a5..92258d3 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ set this parameter to None, the operation does not timeout.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
index 719ca8e..f1bf3b8 100644
--- a/1.10.3/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ set this parameter to None, the operation does not timeout.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/segment_track_event_operator/index.html b/1.10.3/_api/airflow/contrib/operators/segment_track_event_operator/index.html
index b41a519..27ec36b 100644
--- a/1.10.3/_api/airflow/contrib/operators/segment_track_event_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/segment_track_event_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ Defaults to False</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sftp_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sftp_operator/index.html
index 67fc1ba..84c7df5 100644
--- a/1.10.3/_api/airflow/contrib/operators/sftp_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sftp_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -425,4 +419,4 @@ does not exist.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
index 51d4edb..de21e0b 100644
--- a/1.10.3/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ regardless of how the S3 url is passed.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/slack_webhook_operator/index.html b/1.10.3/_api/airflow/contrib/operators/slack_webhook_operator/index.html
index d4e0a72..e51f9bb 100644
--- a/1.10.3/_api/airflow/contrib/operators/slack_webhook_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/slack_webhook_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ message</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/snowflake_operator/index.html b/1.10.3/_api/airflow/contrib/operators/snowflake_operator/index.html
index caa2ea0..d53496c 100644
--- a/1.10.3/_api/airflow/contrib/operators/snowflake_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/snowflake_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ one in connection</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sns_publish_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sns_publish_operator/index.html
index dff6132..b14e0ee 100644
--- a/1.10.3/_api/airflow/contrib/operators/sns_publish_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sns_publish_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -369,4 +363,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/spark_jdbc_operator/index.html b/1.10.3/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
index 5269b5e..505d076 100644
--- a/1.10.3/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -419,4 +413,4 @@ types.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/spark_sql_operator/index.html b/1.10.3/_api/airflow/contrib/operators/spark_sql_operator/index.html
index 03edd28..803ce3b 100644
--- a/1.10.3/_api/airflow/contrib/operators/spark_sql_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/spark_sql_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -386,4 +380,4 @@ executor (Default: 2)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/spark_submit_operator/index.html b/1.10.3/_api/airflow/contrib/operators/spark_submit_operator/index.html
index b33b7c8..225459d 100644
--- a/1.10.3/_api/airflow/contrib/operators/spark_submit_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/spark_submit_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -405,4 +399,4 @@ Some distros may use spark2-submit.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/sqoop_operator/index.html b/1.10.3/_api/airflow/contrib/operators/sqoop_operator/index.html
index 8c46b50..0917b68 100644
--- a/1.10.3/_api/airflow/contrib/operators/sqoop_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/sqoop_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -370,4 +364,4 @@ Documentation for Apache Sqoop can be found here:
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/ssh_operator/index.html b/1.10.3/_api/airflow/contrib/operators/ssh_operator/index.html
index a86c76c..822ad24 100644
--- a/1.10.3/_api/airflow/contrib/operators/ssh_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/ssh_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ defined in <cite>ssh_hook</cite> or predefined in the connection of <cite>ssh_co
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/vertica_operator/index.html b/1.10.3/_api/airflow/contrib/operators/vertica_operator/index.html
index db0584b..6f23a9b 100644
--- a/1.10.3/_api/airflow/contrib/operators/vertica_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/vertica_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/vertica_to_hive/index.html b/1.10.3/_api/airflow/contrib/operators/vertica_to_hive/index.html
index 34682b0..4bd0a94 100644
--- a/1.10.3/_api/airflow/contrib/operators/vertica_to_hive/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/vertica_to_hive/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -397,4 +391,4 @@ and values. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/vertica_to_mysql/index.html b/1.10.3/_api/airflow/contrib/operators/vertica_to_mysql/index.html
index 32157dc..664c548 100644
--- a/1.10.3/_api/airflow/contrib/operators/vertica_to_mysql/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/vertica_to_mysql/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ destination MySQL connection: {‘local_infile’: true}.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html b/1.10.3/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
index 0a77282..30d4b81 100644
--- a/1.10.3/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -369,4 +363,4 @@ blob does not exist.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/operators/winrm_operator/index.html b/1.10.3/_api/airflow/contrib/operators/winrm_operator/index.html
index 177e874..585fac0 100644
--- a/1.10.3/_api/airflow/contrib/operators/winrm_operator/index.html
+++ b/1.10.3/_api/airflow/contrib/operators/winrm_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -367,4 +361,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/aws_athena_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
index b48a91e..4156871 100644
--- a/1.10.3/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -398,4 +392,4 @@ check query status on athena, defaults to 10</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
index d9583e9..805a483 100644
--- a/1.10.3/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -388,4 +382,4 @@ between each tries</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
index 08568e5..187633c 100644
--- a/1.10.3/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -363,4 +357,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
index 7139b85..6291d05 100644
--- a/1.10.3/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -363,4 +357,4 @@ matches the given query in CosmosDB. Example:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html
index 2ff49c8..eeb2877 100644
--- a/1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/bash_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -371,4 +365,4 @@ which will be cleaned afterwards</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/bigquery_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/bigquery_sensor/index.html
index c58764c..84d219e 100644
--- a/1.10.3/_api/airflow/contrib/sensors/bigquery_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/bigquery_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -377,4 +371,4 @@ have domain-wide delegation enabled.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
index 6004fa3..13d93b8 100644
--- a/1.10.3/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -364,4 +358,4 @@ instantiate it as follows:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
index c9ee049..488cfa4 100644
--- a/1.10.3/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -362,4 +356,4 @@ in a keyspace ‘k’, instantiate it as follows:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/datadog_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/datadog_sensor/index.html
index 5d61821..9655088 100644
--- a/1.10.3/_api/airflow/contrib/sensors/datadog_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/datadog_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -366,4 +360,4 @@ Airflow runs.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/emr_base_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/emr_base_sensor/index.html
index ea5503f..b212ba5 100644
--- a/1.10.3/_api/airflow/contrib/sensors/emr_base_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/emr_base_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ Subclasses should also implement NON_TERMINAL_STATES and FAILED_STATE constants.
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
index 7c4521f..bc19382 100644
--- a/1.10.3/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ If it fails the sensor errors, failing the task.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/emr_step_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/emr_step_sensor/index.html
index 603cc4c..c948967 100644
--- a/1.10.3/_api/airflow/contrib/sensors/emr_step_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/emr_step_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -384,4 +378,4 @@ If it fails the sensor errors, failing the task.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html
index ceef3dc..4e05c5b 100644
--- a/1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/file_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ the base path set within the connection)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html
index e254610..f920344 100644
--- a/1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/ftp_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
index f870b51..eb4e054 100644
--- a/1.10.3/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -371,4 +365,4 @@ Platform.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html
index c0ac815..8deefce 100644
--- a/1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/gcs_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -524,4 +518,4 @@ domain-wide delegation enabled.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html
index 3345b38..47a510e 100644
--- a/1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/hdfs_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
index 4fc69de..61c8dda 100644
--- a/1.10.3/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -382,4 +376,4 @@ The default value is ‘imap_default’.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/index.html b/1.10.3/_api/airflow/contrib/sensors/index.html
index 52e161a..1767e0e 100644
--- a/1.10.3/_api/airflow/contrib/sensors/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -373,4 +367,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html
index 0ce009a..b82d4ed 100644
--- a/1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/jira_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -393,4 +387,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html
index dc3101c..7ab8584 100644
--- a/1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/mongo_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -362,4 +356,4 @@ matches the given query in MongoDB. Example:</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/pubsub_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/pubsub_sensor/index.html
index d6a101d..8dd9e02 100644
--- a/1.10.3/_api/airflow/contrib/sensors/pubsub_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/pubsub_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ variables in them.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/python_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/python_sensor/index.html
index 4012bcf..fe27a78 100644
--- a/1.10.3/_api/airflow/contrib/sensors/python_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/python_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ in your callable’s context after the template has been applied.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/qubole_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/qubole_sensor/index.html
index 65b1789..263493e 100644
--- a/1.10.3/_api/airflow/contrib/sensors/qubole_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/qubole_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -407,4 +401,4 @@ also use <code class="docutils literal notranslate"><span class="pre">.txt</span
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/redis_key_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/redis_key_sensor/index.html
index 1492fde..691a3e6 100644
--- a/1.10.3/_api/airflow/contrib/sensors/redis_key_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/redis_key_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -360,4 +354,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
index e47bb03..07f92e3 100644
--- a/1.10.3/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -370,4 +364,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
index 3d63b1d..84c83e4 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ Subclasses should also implement NON_TERMINAL_STATES and FAILED_STATE methods.</
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
index 2ab330b..ca1efdb 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -386,4 +380,4 @@ If it fails the sensor errors, the task fails.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
index ca03e32..c95470f 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -394,4 +388,4 @@ If it fails the sensor errors, failing the task.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
index 6db06b3..50d32ea 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ containing the failure reason.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
index e6ceec4..914a82e 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ containing the failure reason.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html
index f224677..db482bf 100644
--- a/1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/sftp_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -363,4 +357,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html
index 471fc02..a6d691a 100644
--- a/1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/wasb_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -394,4 +388,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/contrib/sensors/weekday_sensor/index.html b/1.10.3/_api/airflow/contrib/sensors/weekday_sensor/index.html
index 4d3ab7b..fcadfa0 100644
--- a/1.10.3/_api/airflow/contrib/sensors/weekday_sensor/index.html
+++ b/1.10.3/_api/airflow/contrib/sensors/weekday_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -401,4 +395,4 @@ don’t want to run anything on weekdays on the system.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/base_executor/index.html b/1.10.3/_api/airflow/executors/base_executor/index.html
index eb1f1f6..60e3bb0 100644
--- a/1.10.3/_api/airflow/executors/base_executor/index.html
+++ b/1.10.3/_api/airflow/executors/base_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -439,4 +433,4 @@ all done.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/celery_executor/index.html b/1.10.3/_api/airflow/executors/celery_executor/index.html
index f0a4ec7..e82e963 100644
--- a/1.10.3/_api/airflow/executors/celery_executor/index.html
+++ b/1.10.3/_api/airflow/executors/celery_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -459,4 +453,4 @@ required to maintain such a system.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/dask_executor/index.html b/1.10.3/_api/airflow/executors/dask_executor/index.html
index 5fb965c..098ac28 100644
--- a/1.10.3/_api/airflow/executors/dask_executor/index.html
+++ b/1.10.3/_api/airflow/executors/dask_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -371,4 +365,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/index.html b/1.10.3/_api/airflow/executors/index.html
index 3aa6007..c376e9c 100644
--- a/1.10.3/_api/airflow/executors/index.html
+++ b/1.10.3/_api/airflow/executors/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -666,4 +660,4 @@ look for it in the plugins</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/local_executor/index.html b/1.10.3/_api/airflow/executors/local_executor/index.html
index 39ef217..1f99334 100644
--- a/1.10.3/_api/airflow/executors/local_executor/index.html
+++ b/1.10.3/_api/airflow/executors/local_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -495,4 +489,4 @@ coordinate work distribution.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/executors/sequential_executor/index.html b/1.10.3/_api/airflow/executors/sequential_executor/index.html
index 6b6219f..060b3e1 100644
--- a/1.10.3/_api/airflow/executors/sequential_executor/index.html
+++ b/1.10.3/_api/airflow/executors/sequential_executor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -360,4 +354,4 @@ SequentialExecutor alongside sqlite as you first install it.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/S3_hook/index.html b/1.10.3/_api/airflow/hooks/S3_hook/index.html
index 30eed20..ea562bd 100644
--- a/1.10.3/_api/airflow/hooks/S3_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/S3_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -665,4 +659,4 @@ keys to delete.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/base_hook/index.html b/1.10.3/_api/airflow/hooks/base_hook/index.html
index 3f1a68a..e8eb9bd 100644
--- a/1.10.3/_api/airflow/hooks/base_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/base_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -395,4 +389,4 @@ with them.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/dbapi_hook/index.html b/1.10.3/_api/airflow/hooks/dbapi_hook/index.html
index 5e51e7a..4aa8114 100644
--- a/1.10.3/_api/airflow/hooks/dbapi_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/dbapi_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -540,4 +534,4 @@ transaction. Set to 0 to insert all rows in one transaction.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/docker_hook/index.html b/1.10.3/_api/airflow/hooks/docker_hook/index.html
index 6c22bb9..bb4bb49 100644
--- a/1.10.3/_api/airflow/hooks/docker_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/docker_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ credentials and extra configuration are stored</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/druid_hook/index.html b/1.10.3/_api/airflow/hooks/druid_hook/index.html
index 9dea75d..f26a601 100644
--- a/1.10.3/_api/airflow/hooks/druid_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/druid_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -415,4 +409,4 @@ For ingestion, please use druidHook.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/hdfs_hook/index.html b/1.10.3/_api/airflow/hooks/hdfs_hook/index.html
index 8a10da8..f034f14 100644
--- a/1.10.3/_api/airflow/hooks/hdfs_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/hdfs_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -367,4 +361,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/hive_hooks/index.html b/1.10.3/_api/airflow/hooks/hive_hooks/index.html
index 1de4507..49eeb4b 100644
--- a/1.10.3/_api/airflow/hooks/hive_hooks/index.html
+++ b/1.10.3/_api/airflow/hooks/hive_hooks/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -802,4 +796,4 @@ can specify it in the <code class="docutils literal notranslate"><span class="pr
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/http_hook/index.html b/1.10.3/_api/airflow/hooks/http_hook/index.html
index 2aed0ae..cf9dd68 100644
--- a/1.10.3/_api/airflow/hooks/http_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/http_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -437,4 +431,4 @@ See Tenacity documentation at <a class="reference external" href="https://github
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/index.html b/1.10.3/_api/airflow/hooks/index.html
index 16956d9..dc3a12e 100644
--- a/1.10.3/_api/airflow/hooks/index.html
+++ b/1.10.3/_api/airflow/hooks/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/jdbc_hook/index.html b/1.10.3/_api/airflow/hooks/jdbc_hook/index.html
index 75730b3..b6c94d0 100644
--- a/1.10.3/_api/airflow/hooks/jdbc_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/jdbc_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ Raises an airflow error if the given connection id doesn’t exist.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/mssql_hook/index.html b/1.10.3/_api/airflow/hooks/mssql_hook/index.html
index 3e945cd..5da24e6 100644
--- a/1.10.3/_api/airflow/hooks/mssql_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/mssql_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/mysql_hook/index.html b/1.10.3/_api/airflow/hooks/mysql_hook/index.html
index 38300bc..89da583 100644
--- a/1.10.3/_api/airflow/hooks/mysql_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/mysql_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -421,4 +415,4 @@ when passing those separately to execute. Hence, this method does nothing.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/oracle_hook/index.html b/1.10.3/_api/airflow/hooks/oracle_hook/index.html
index 3b18102..4dd252e 100644
--- a/1.10.3/_api/airflow/hooks/oracle_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/oracle_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -428,4 +422,4 @@ Default 5000. Set greater than 0. Set 1 to insert each row in each transaction</
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/pig_hook/index.html b/1.10.3/_api/airflow/hooks/pig_hook/index.html
index 76af601..9e788e9 100644
--- a/1.10.3/_api/airflow/hooks/pig_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/pig_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -361,4 +355,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/postgres_hook/index.html b/1.10.3/_api/airflow/hooks/postgres_hook/index.html
index 14a84ba..53c4d4b 100644
--- a/1.10.3/_api/airflow/hooks/postgres_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/postgres_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -412,4 +406,4 @@ more information.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/presto_hook/index.html b/1.10.3/_api/airflow/hooks/presto_hook/index.html
index b8a8e7d..08fab7a 100644
--- a/1.10.3/_api/airflow/hooks/presto_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/presto_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -420,4 +414,4 @@ returns.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/samba_hook/index.html b/1.10.3/_api/airflow/hooks/samba_hook/index.html
index 5a3d3e7..5ace1c9 100644
--- a/1.10.3/_api/airflow/hooks/samba_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/samba_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -351,4 +345,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/slack_hook/index.html b/1.10.3/_api/airflow/hooks/slack_hook/index.html
index 17db482..7937492 100644
--- a/1.10.3/_api/airflow/hooks/slack_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/slack_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -351,4 +345,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/sqlite_hook/index.html b/1.10.3/_api/airflow/hooks/sqlite_hook/index.html
index c0e1813..226def2 100644
--- a/1.10.3/_api/airflow/hooks/sqlite_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/sqlite_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -362,4 +356,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/webhdfs_hook/index.html b/1.10.3/_api/airflow/hooks/webhdfs_hook/index.html
index a183b42..ad4723d 100644
--- a/1.10.3/_api/airflow/hooks/webhdfs_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/webhdfs_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -390,4 +384,4 @@ directory, files will be uploaded inside.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/hooks/zendesk_hook/index.html b/1.10.3/_api/airflow/hooks/zendesk_hook/index.html
index de97c14..4a812b1 100644
--- a/1.10.3/_api/airflow/hooks/zendesk_hook/index.html
+++ b/1.10.3/_api/airflow/hooks/zendesk_hook/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ to load. For more information on side-loading see
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/base/index.html b/1.10.3/_api/airflow/models/base/index.html
index f191899..3e9cf5a 100644
--- a/1.10.3/_api/airflow/models/base/index.html
+++ b/1.10.3/_api/airflow/models/base/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -354,4 +348,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/connection/index.html b/1.10.3/_api/airflow/models/connection/index.html
index bbe5560..e24f7e3 100644
--- a/1.10.3/_api/airflow/models/connection/index.html
+++ b/1.10.3/_api/airflow/models/connection/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -475,4 +469,4 @@ passwords when using operators or hooks.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/dagpickle/index.html b/1.10.3/_api/airflow/models/dagpickle/index.html
index 0ee2564..8150198 100644
--- a/1.10.3/_api/airflow/models/dagpickle/index.html
+++ b/1.10.3/_api/airflow/models/dagpickle/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ the database.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/errors/index.html b/1.10.3/_api/airflow/models/errors/index.html
index 0fd91f8..0dd9d16 100644
--- a/1.10.3/_api/airflow/models/errors/index.html
+++ b/1.10.3/_api/airflow/models/errors/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -365,4 +359,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/index.html b/1.10.3/_api/airflow/models/index.html
index a6b9ba1..79f9209 100644
--- a/1.10.3/_api/airflow/models/index.html
+++ b/1.10.3/_api/airflow/models/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -4414,4 +4408,4 @@ passwords when using operators or hooks.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/kubernetes/index.html b/1.10.3/_api/airflow/models/kubernetes/index.html
index 6bcc425..410f747 100644
--- a/1.10.3/_api/airflow/models/kubernetes/index.html
+++ b/1.10.3/_api/airflow/models/kubernetes/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -401,4 +395,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/log/index.html b/1.10.3/_api/airflow/models/log/index.html
index b6445e0..217d39f 100644
--- a/1.10.3/_api/airflow/models/log/index.html
+++ b/1.10.3/_api/airflow/models/log/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -391,4 +385,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/skipmixin/index.html b/1.10.3/_api/airflow/models/skipmixin/index.html
index 07801e1..26e9968 100644
--- a/1.10.3/_api/airflow/models/skipmixin/index.html
+++ b/1.10.3/_api/airflow/models/skipmixin/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -356,4 +350,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/slamiss/index.html b/1.10.3/_api/airflow/models/slamiss/index.html
index 6d1eee9..582aab8 100644
--- a/1.10.3/_api/airflow/models/slamiss/index.html
+++ b/1.10.3/_api/airflow/models/slamiss/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -393,4 +387,4 @@ triggering alert emails.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/taskfail/index.html b/1.10.3/_api/airflow/models/taskfail/index.html
index 2390394..516ec29 100644
--- a/1.10.3/_api/airflow/models/taskfail/index.html
+++ b/1.10.3/_api/airflow/models/taskfail/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -386,4 +380,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/models/taskreschedule/index.html b/1.10.3/_api/airflow/models/taskreschedule/index.html
index 658c451..06d4daa 100644
--- a/1.10.3/_api/airflow/models/taskreschedule/index.html
+++ b/1.10.3/_api/airflow/models/taskreschedule/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -405,4 +399,4 @@ in ascending order.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/bash_operator/index.html b/1.10.3/_api/airflow/operators/bash_operator/index.html
index 046d4d5..f083266 100644
--- a/1.10.3/_api/airflow/operators/bash_operator/index.html
+++ b/1.10.3/_api/airflow/operators/bash_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -392,4 +386,4 @@ which will be cleaned afterwards</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/check_operator/index.html b/1.10.3/_api/airflow/operators/check_operator/index.html
index 518ca72..ef63171 100644
--- a/1.10.3/_api/airflow/operators/check_operator/index.html
+++ b/1.10.3/_api/airflow/operators/check_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -508,4 +502,4 @@ against. Defaults to 7 days</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/dagrun_operator/index.html b/1.10.3/_api/airflow/operators/dagrun_operator/index.html
index 0ad1daa..e835bc4 100644
--- a/1.10.3/_api/airflow/operators/dagrun_operator/index.html
+++ b/1.10.3/_api/airflow/operators/dagrun_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ should look like <code class="docutils literal notranslate"><span class="pre">de
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/docker_operator/index.html b/1.10.3/_api/airflow/operators/docker_operator/index.html
index 7bad6e2..4ded8c1 100644
--- a/1.10.3/_api/airflow/operators/docker_operator/index.html
+++ b/1.10.3/_api/airflow/operators/docker_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -439,4 +433,4 @@ greater than 0. If omitted uses system default.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/druid_check_operator/index.html b/1.10.3/_api/airflow/operators/druid_check_operator/index.html
index 984d910..2752b84 100644
--- a/1.10.3/_api/airflow/operators/druid_check_operator/index.html
+++ b/1.10.3/_api/airflow/operators/druid_check_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -397,4 +391,4 @@ without stopping the progress of the DAG.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/dummy_operator/index.html b/1.10.3/_api/airflow/operators/dummy_operator/index.html
index 786d2ce..2dccd46 100644
--- a/1.10.3/_api/airflow/operators/dummy_operator/index.html
+++ b/1.10.3/_api/airflow/operators/dummy_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -356,4 +350,4 @@ DAG.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/email_operator/index.html b/1.10.3/_api/airflow/operators/email_operator/index.html
index bcab642..0e29047 100644
--- a/1.10.3/_api/airflow/operators/email_operator/index.html
+++ b/1.10.3/_api/airflow/operators/email_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ header.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/generic_transfer/index.html b/1.10.3/_api/airflow/operators/generic_transfer/index.html
index 423d71c..5e8709d 100644
--- a/1.10.3/_api/airflow/operators/generic_transfer/index.html
+++ b/1.10.3/_api/airflow/operators/generic_transfer/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -381,4 +375,4 @@ executed prior to loading the data. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/hive_operator/index.html b/1.10.3/_api/airflow/operators/hive_operator/index.html
index ac3ce94..5927908 100644
--- a/1.10.3/_api/airflow/operators/hive_operator/index.html
+++ b/1.10.3/_api/airflow/operators/hive_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -410,4 +404,4 @@ This can make monitoring easier.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/hive_stats_operator/index.html b/1.10.3/_api/airflow/operators/hive_stats_operator/index.html
index 8415825..79906e5 100644
--- a/1.10.3/_api/airflow/operators/hive_stats_operator/index.html
+++ b/1.10.3/_api/airflow/operators/hive_stats_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -392,4 +386,4 @@ column.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/hive_to_druid/index.html b/1.10.3/_api/airflow/operators/hive_to_druid/index.html
index 3ec6f1d..fccb691 100644
--- a/1.10.3/_api/airflow/operators/hive_to_druid/index.html
+++ b/1.10.3/_api/airflow/operators/hive_to_druid/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -406,4 +400,4 @@ hive for the staging table</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/hive_to_mysql/index.html b/1.10.3/_api/airflow/operators/hive_to_mysql/index.html
index 9f91283..6e34add 100644
--- a/1.10.3/_api/airflow/operators/hive_to_mysql/index.html
+++ b/1.10.3/_api/airflow/operators/hive_to_mysql/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -389,4 +383,4 @@ destination MySQL connection: {‘local_infile’: true}.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/hive_to_samba_operator/index.html b/1.10.3/_api/airflow/operators/hive_to_samba_operator/index.html
index b565c35..ef82b67 100644
--- a/1.10.3/_api/airflow/operators/hive_to_samba_operator/index.html
+++ b/1.10.3/_api/airflow/operators/hive_to_samba_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -370,4 +364,4 @@ results of the query as a csv to a Samba location.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/http_operator/index.html b/1.10.3/_api/airflow/operators/http_operator/index.html
index 75035db..1787a23 100644
--- a/1.10.3/_api/airflow/operators/http_operator/index.html
+++ b/1.10.3/_api/airflow/operators/http_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ be pushed to an XCom.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/index.html b/1.10.3/_api/airflow/operators/index.html
index bec9abc..f65f7f0 100644
--- a/1.10.3/_api/airflow/operators/index.html
+++ b/1.10.3/_api/airflow/operators/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -852,4 +846,4 @@ task.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/jdbc_operator/index.html b/1.10.3/_api/airflow/operators/jdbc_operator/index.html
index 883fd91..2d51502 100644
--- a/1.10.3/_api/airflow/operators/jdbc_operator/index.html
+++ b/1.10.3/_api/airflow/operators/jdbc_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/latest_only_operator/index.html b/1.10.3/_api/airflow/operators/latest_only_operator/index.html
index 43d4e6e..447e1ab 100644
--- a/1.10.3/_api/airflow/operators/latest_only_operator/index.html
+++ b/1.10.3/_api/airflow/operators/latest_only_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -358,4 +352,4 @@ directly downstream tasks will be skipped.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/mssql_operator/index.html b/1.10.3/_api/airflow/operators/mssql_operator/index.html
index fa858b0..16dfb8e 100644
--- a/1.10.3/_api/airflow/operators/mssql_operator/index.html
+++ b/1.10.3/_api/airflow/operators/mssql_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -378,4 +372,4 @@ extension.</em><em> (</em><em>templated</em><em>)</em>) – the sql code to be e
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/mssql_to_hive/index.html b/1.10.3/_api/airflow/operators/mssql_to_hive/index.html
index 3bba15d..46c8894 100644
--- a/1.10.3/_api/airflow/operators/mssql_to_hive/index.html
+++ b/1.10.3/_api/airflow/operators/mssql_to_hive/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -399,4 +393,4 @@ values. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/mysql_operator/index.html b/1.10.3/_api/airflow/operators/mysql_operator/index.html
index c3e1da8..f9fb7e3 100644
--- a/1.10.3/_api/airflow/operators/mysql_operator/index.html
+++ b/1.10.3/_api/airflow/operators/mysql_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -380,4 +374,4 @@ Template reference are recognized by str ending in ‘.sql’
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/mysql_to_hive/index.html b/1.10.3/_api/airflow/operators/mysql_to_hive/index.html
index 4e6cbb7..f460a72 100644
--- a/1.10.3/_api/airflow/operators/mysql_to_hive/index.html
+++ b/1.10.3/_api/airflow/operators/mysql_to_hive/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -398,4 +392,4 @@ and values. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/oracle_operator/index.html b/1.10.3/_api/airflow/operators/oracle_operator/index.html
index e637d33..6404ca6 100644
--- a/1.10.3/_api/airflow/operators/oracle_operator/index.html
+++ b/1.10.3/_api/airflow/operators/oracle_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ Template reference are recognized by str ending in ‘.sql’
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/pig_operator/index.html b/1.10.3/_api/airflow/operators/pig_operator/index.html
index a874873..413765a 100644
--- a/1.10.3/_api/airflow/operators/pig_operator/index.html
+++ b/1.10.3/_api/airflow/operators/pig_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -393,4 +387,4 @@ object documentation for more details.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/postgres_operator/index.html b/1.10.3/_api/airflow/operators/postgres_operator/index.html
index c73cbc0..27c6e51 100644
--- a/1.10.3/_api/airflow/operators/postgres_operator/index.html
+++ b/1.10.3/_api/airflow/operators/postgres_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -379,4 +373,4 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/presto_check_operator/index.html b/1.10.3/_api/airflow/operators/presto_check_operator/index.html
index bba9f38..2df73d7 100644
--- a/1.10.3/_api/airflow/operators/presto_check_operator/index.html
+++ b/1.10.3/_api/airflow/operators/presto_check_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -424,4 +418,4 @@ against. Defaults to 7 days</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/presto_to_mysql/index.html b/1.10.3/_api/airflow/operators/presto_to_mysql/index.html
index 04d45c5..b46c204 100644
--- a/1.10.3/_api/airflow/operators/presto_to_mysql/index.html
+++ b/1.10.3/_api/airflow/operators/presto_to_mysql/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -382,4 +376,4 @@ the task twice won’t double load data). (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/python_operator/index.html b/1.10.3/_api/airflow/operators/python_operator/index.html
index 1b974a8..bbfc379 100644
--- a/1.10.3/_api/airflow/operators/python_operator/index.html
+++ b/1.10.3/_api/airflow/operators/python_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -544,4 +538,4 @@ processing templated fields, for examples <code class="docutils literal notransl
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/redshift_to_s3_operator/index.html b/1.10.3/_api/airflow/operators/redshift_to_s3_operator/index.html
index c29976b..f25cd61 100644
--- a/1.10.3/_api/airflow/operators/redshift_to_s3_operator/index.html
+++ b/1.10.3/_api/airflow/operators/redshift_to_s3_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -396,4 +390,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/s3_file_transform_operator/index.html b/1.10.3/_api/airflow/operators/s3_file_transform_operator/index.html
index 9512838..40f8e82 100644
--- a/1.10.3/_api/airflow/operators/s3_file_transform_operator/index.html
+++ b/1.10.3/_api/airflow/operators/s3_file_transform_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -408,4 +402,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/s3_to_hive_operator/index.html b/1.10.3/_api/airflow/operators/s3_to_hive_operator/index.html
index 57cae83..cff6bd1 100644
--- a/1.10.3/_api/airflow/operators/s3_to_hive_operator/index.html
+++ b/1.10.3/_api/airflow/operators/s3_to_hive_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -437,4 +431,4 @@ required to process headers</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/s3_to_redshift_operator/index.html b/1.10.3/_api/airflow/operators/s3_to_redshift_operator/index.html
index a26c01c..756ab79 100644
--- a/1.10.3/_api/airflow/operators/s3_to_redshift_operator/index.html
+++ b/1.10.3/_api/airflow/operators/s3_to_redshift_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -396,4 +390,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/sensors/index.html b/1.10.3/_api/airflow/operators/sensors/index.html
index 1d2fe8a..a4a4393 100644
--- a/1.10.3/_api/airflow/operators/sensors/index.html
+++ b/1.10.3/_api/airflow/operators/sensors/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -410,4 +404,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/slack_operator/index.html b/1.10.3/_api/airflow/operators/slack_operator/index.html
index 2366a25..01ae412 100644
--- a/1.10.3/_api/airflow/operators/slack_operator/index.html
+++ b/1.10.3/_api/airflow/operators/slack_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -411,4 +405,4 @@ ID (C12318391). (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/sqlite_operator/index.html b/1.10.3/_api/airflow/operators/sqlite_operator/index.html
index ae2cbb2..974ce1e 100644
--- a/1.10.3/_api/airflow/operators/sqlite_operator/index.html
+++ b/1.10.3/_api/airflow/operators/sqlite_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -375,4 +369,4 @@ a '.sql' extensions.</em>) – the sql code to be executed. (templated)</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/operators/subdag_operator/index.html b/1.10.3/_api/airflow/operators/subdag_operator/index.html
index 2d5290d..6ef8e4e 100644
--- a/1.10.3/_api/airflow/operators/subdag_operator/index.html
+++ b/1.10.3/_api/airflow/operators/subdag_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -371,4 +365,4 @@ Please find AIRFLOW-74 for more details.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/base_sensor_operator/index.html b/1.10.3/_api/airflow/sensors/base_sensor_operator/index.html
index 3af1df7..7d2e568 100644
--- a/1.10.3/_api/airflow/sensors/base_sensor_operator/index.html
+++ b/1.10.3/_api/airflow/sensors/base_sensor_operator/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -412,4 +406,4 @@ override.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/external_task_sensor/index.html b/1.10.3/_api/airflow/sensors/external_task_sensor/index.html
index a48b82f..8aa09fd 100644
--- a/1.10.3/_api/airflow/sensors/external_task_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/external_task_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -384,4 +378,4 @@ or DAG does not exist (default value: False).</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/hdfs_sensor/index.html b/1.10.3/_api/airflow/sensors/hdfs_sensor/index.html
index 36f3d6d..fe1663c 100644
--- a/1.10.3/_api/airflow/sensors/hdfs_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/hdfs_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -398,4 +392,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/hive_partition_sensor/index.html b/1.10.3/_api/airflow/sensors/hive_partition_sensor/index.html
index b88f05a..67a0e9d 100644
--- a/1.10.3/_api/airflow/sensors/hive_partition_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/hive_partition_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -377,4 +371,4 @@ connection id</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/http_sensor/index.html b/1.10.3/_api/airflow/sensors/http_sensor/index.html
index 590b9ca..024908f 100644
--- a/1.10.3/_api/airflow/sensors/http_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/http_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -374,4 +368,4 @@ depends on the option that's being modified.</em>) – Extra options for the ‘
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/index.html b/1.10.3/_api/airflow/sensors/index.html
index 7c8da6a..60c644d 100644
--- a/1.10.3/_api/airflow/sensors/index.html
+++ b/1.10.3/_api/airflow/sensors/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -372,4 +366,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/metastore_partition_sensor/index.html b/1.10.3/_api/airflow/sensors/metastore_partition_sensor/index.html
index d0538e7..5edc39d 100644
--- a/1.10.3/_api/airflow/sensors/metastore_partition_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/metastore_partition_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -377,4 +371,4 @@ Examples: <code class="docutils literal notranslate"><span class="pre">ds=2016-0
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/named_hive_partition_sensor/index.html b/1.10.3/_api/airflow/sensors/named_hive_partition_sensor/index.html
index c1421a8..97a6434 100644
--- a/1.10.3/_api/airflow/sensors/named_hive_partition_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/named_hive_partition_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -385,4 +379,4 @@ connection id</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/s3_key_sensor/index.html b/1.10.3/_api/airflow/sensors/s3_key_sensor/index.html
index a652e6d..d577d1c 100644
--- a/1.10.3/_api/airflow/sensors/s3_key_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/s3_key_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -387,4 +381,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html b/1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html
index 1806c6f..d56a8ec 100644
--- a/1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/s3_prefix_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -389,4 +383,4 @@ CA cert bundle than the one used by botocore.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/sql_sensor/index.html b/1.10.3/_api/airflow/sensors/sql_sensor/index.html
index 61438ab..594141b 100644
--- a/1.10.3/_api/airflow/sensors/sql_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/sql_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -376,4 +370,4 @@ that contains a non-zero / empty string value.</p></li>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/time_delta_sensor/index.html b/1.10.3/_api/airflow/sensors/time_delta_sensor/index.html
index 455bff4..ec79fef 100644
--- a/1.10.3/_api/airflow/sensors/time_delta_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/time_delta_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -358,4 +352,4 @@ represents the time after the execution period has closed.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/time_sensor/index.html b/1.10.3/_api/airflow/sensors/time_sensor/index.html
index cff5500..946cbe5 100644
--- a/1.10.3/_api/airflow/sensors/time_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/time_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -355,4 +349,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html b/1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html
index 7a42021..c2941e5 100644
--- a/1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html
+++ b/1.10.3/_api/airflow/sensors/web_hdfs_sensor/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -355,4 +349,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_api/index.html b/1.10.3/_api/index.html
index ad887c0..50e93bd 100644
--- a/1.10.3/_api/index.html
+++ b/1.10.3/_api/index.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -441,4 +435,4 @@ added only to the contrib package.</p>
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
index 405b5bf..b9923ac 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -503,4 +497,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute.html
index c77a42c..342fdfc 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -412,4 +406,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
index afda4da..34a822c 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -442,4 +436,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_function.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_function.html
index de4d9a7..1458f2e 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_function.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_function.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -431,4 +425,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
index 03d18e0..c10ae02 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -412,4 +406,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_spanner.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
index 136ae75..158ed60 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -496,4 +490,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql.html
index b3c19db..abc5260 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -721,4 +715,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
index ce6e7eb..7fad2b0 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -592,4 +586,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_transfer.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
index 91dcce6..603018b 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -551,4 +545,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_translate.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_translate.html
index 3fea0fe..5d3563e 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_translate.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_translate.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -350,4 +344,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_vision.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_vision.html
index eddddf1..b297941 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_vision.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcp_vision.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -713,4 +707,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_acl.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_acl.html
index 96ceb81..e6547d3 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_acl.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_acl.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -374,4 +368,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html b/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
index cdf65c2..5dfeef9 100644
--- a/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
+++ b/1.10.3/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -365,4 +359,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/executors/kubernetes_executor.html b/1.10.3/_modules/airflow/contrib/executors/kubernetes_executor.html
index 4ad8f41..c1471e0 100644
--- a/1.10.3/_modules/airflow/contrib/executors/kubernetes_executor.html
+++ b/1.10.3/_modules/airflow/contrib/executors/kubernetes_executor.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -1069,4 +1063,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/executors/mesos_executor.html b/1.10.3/_modules/airflow/contrib/executors/mesos_executor.html
index 9779cb0..687e897 100644
--- a/1.10.3/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/1.10.3/_modules/airflow/contrib/executors/mesos_executor.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -624,4 +618,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks.html b/1.10.3/_modules/airflow/contrib/hooks.html
index 8c38e3a..78f70ed 100644
--- a/1.10.3/_modules/airflow/contrib/hooks.html
+++ b/1.10.3/_modules/airflow/contrib/hooks.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -368,4 +362,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html
index 7a0d8bc..ac292b8 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_athena_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -450,4 +444,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
index 064b3c1..c8131ee 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -369,4 +363,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_firehose_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_firehose_hook.html
index 6a3c4b0..5caf074 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_firehose_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_firehose_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -356,4 +350,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
index 9826ff5..503c3c5 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -452,4 +446,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_hook.html
index 1f76501..4a77afa 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -505,4 +499,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html
index 915a09f..a5c09aa 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -368,4 +362,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html b/1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html
index 404bacd..9998436 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/aws_sns_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -360,4 +354,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_container_instance_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
index d8f50e0..8eff370 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -467,4 +461,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_container_registry_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
index 2bde163..8610ae9 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -339,4 +333,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_container_volume_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
index 12b34da..1a56edd 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -354,4 +348,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_cosmos_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
index 72ef353..1427786 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -587,4 +581,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
index dc89a54..47ce82d 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -441,4 +435,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/1.10.3/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
index ed4f887..5a54414 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -512,4 +506,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html b/1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html
index 682bfc4..0fc980b 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -2377,4 +2371,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html b/1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html
index 07880e0..e5475a8 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/cassandra_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -500,4 +494,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html b/1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html
index 73bf7a1..8af9ef7 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/cloudant_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -383,4 +377,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html b/1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html
index ccfa060..02776ad 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -573,4 +567,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html b/1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html
index d333d45..4c3df40 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -458,4 +452,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html b/1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html
index 3ac401e..7f48b33 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -506,4 +500,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html b/1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html
index e25362d..b5ef3d7 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/dingding_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -434,4 +428,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/1.10.3/_modules/airflow/contrib/hooks/discord_webhook_hook.html
index 3a19e06..2d7145d 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/discord_webhook_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -440,4 +434,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/emr_hook.html b/1.10.3/_modules/airflow/contrib/hooks/emr_hook.html
index f0efa29..487a3a5 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/emr_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/emr_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -357,4 +351,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/fs_hook.html b/1.10.3/_modules/airflow/contrib/hooks/fs_hook.html
index dc2ac81..6470f77 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/fs_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/fs_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -346,4 +340,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html b/1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html
index 9be3977..02e5a76 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/ftp_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -614,4 +608,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/1.10.3/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
index 6d8c1bd..da27928 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -559,4 +553,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html b/1.10.3/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
index 1f81fab..353598b 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -562,4 +556,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html b/1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html
index 001e726..64bd7c3 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/gcp_compute_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -635,4 +629,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/1.10.3/_modules/airflow/contrib/hooks/gcp_container_hook.html b/1.10.3/_modules/airflow/contrib/hooks/gcp_container_hook.html
index 64c2529..aa354dd 100644
--- a/1.10.3/_modules/airflow/contrib/hooks/gcp_container_hook.html
+++ b/1.10.3/_modules/airflow/contrib/hooks/gcp_container_hook.html
@@ -1,10 +1,4 @@
-<!--
-Javascript to render AIRFLOW-XXX and PR references in text
-as HTML links.
 
-Overrides extrahead block from sphinx_rtd_theme
-https://www.sphinx-doc.org/en/master/templating.html
--->
 
 
 
@@ -547,4 +541,4 @@ https://www.sphinx-doc.org/en/master/templating.html
    
 
... 57785 lines suppressed ...


[airflow-site] 10/30: 1.10.0

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 11437c14a3607f6b85b6610dc776f55d78e7d767
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Mon Aug 27 17:22:22 2018 +0100

    1.10.0
---
 _images/connection_create.png                      |   Bin 0 -> 41547 bytes
 _images/connection_edit.png                        |   Bin 0 -> 53636 bytes
 _images/connections.png                            |   Bin 93057 -> 48442 bytes
 _modules/S3_hook.html                              |   489 -
 .../airflow/contrib/executors/mesos_executor.html  |    89 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   300 +
 _modules/airflow/contrib/hooks/aws_hook.html       |   410 +
 .../aws_lambda_hook.html}                          |   124 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |   889 +-
 .../airflow/contrib/hooks/databricks_hook.html     |   462 +
 _modules/airflow/contrib/hooks/datadog_hook.html   |   375 +
 _modules/airflow/contrib/hooks/datastore_hook.html |    52 +-
 .../contrib/hooks/discord_webhook_hook.html        |   375 +
 _modules/airflow/contrib/hooks/emr_hook.html       |    35 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |   281 +
 _modules/{ => airflow/contrib/hooks}/ftp_hook.html |   134 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   379 +
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   196 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   463 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |    20 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   519 +
 _modules/airflow/contrib/hooks/gcs_hook.html       |   315 +-
 .../jenkins_hook.html}                             |   100 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |   319 +
 _modules/airflow/contrib/hooks/pinot_hook.html     |   340 +
 _modules/airflow/contrib/hooks/qubole_hook.html    |   449 +
 _modules/airflow/contrib/hooks/redis_hook.html     |   328 +
 _modules/airflow/contrib/hooks/redshift_hook.html  |   348 +
 _modules/airflow/contrib/hooks/sftp_hook.html      |   404 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   364 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   481 +
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   396 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   799 ++
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   580 ++
 _modules/airflow/contrib/hooks/ssh_hook.html       |   470 +
 .../{ => airflow/contrib/hooks}/vertica_hook.html  |   149 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |    94 +-
 _modules/airflow/contrib/kubernetes/secret.html    |   276 +
 .../contrib/operators/awsbatch_operator.html       |   403 +
 .../contrib/operators/bigquery_check_operator.html |    37 +-
 ...gquery_operator.html => bigquery_get_data.html} |   158 +-
 .../contrib/operators/bigquery_operator.html       |   399 +-
 ...ry.html => bigquery_table_delete_operator.html} |    97 +-
 .../contrib/operators/bigquery_to_bigquery.html    |    39 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |    39 +-
 .../contrib/operators/databricks_operator.html     |    45 +-
 .../contrib/operators/dataflow_operator.html       |   241 +-
 .../contrib/operators/dataproc_operator.html       |   866 +-
 .../operators/datastore_export_operator.html       |   344 +
 .../operators/datastore_import_operator.html       |   332 +
 .../operators/discord_webhook_operator.html        |   333 +
 .../airflow/contrib/operators/ecs_operator.html    |    31 +-
 .../contrib/operators/emr_add_steps_operator.html  |    33 +-
 .../operators/emr_create_job_flow_operator.html    |    33 +-
 .../operators/emr_terminate_job_flow_operator.html |    31 +-
 .../{file_to_wasb.html => file_to_gcs.html}        |   118 +-
 .../airflow/contrib/operators/file_to_wasb.html    |    35 +-
 .../contrib/operators/gcs_download_operator.html   |    56 +-
 ...wnload_operator.html => gcs_list_operator.html} |   119 +-
 .../airflow/contrib/operators/gcs_operator.html    |   357 +
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   288 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   365 +
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   347 +
 .../contrib/operators/hipchat_operator.html        |    35 +-
 .../operators/jenkins_job_trigger_operator.html    |   484 +
 .../airflow/contrib/operators/jira_operator.html   |   329 +
 .../contrib/operators/kubernetes_pod_operator.html |   362 +
 .../contrib/operators/mlengine_operator.html       |   260 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |   524 +
 .../operators/postgres_to_gcs_operator.html        |   481 +
 .../airflow/contrib/operators/pubsub_operator.html |   669 ++
 .../contrib/operators}/qubole_operator.html        |   103 +-
 .../{file_to_wasb.html => s3_list_operator.html}   |   121 +-
 .../contrib/operators/s3_to_gcs_operator.html      |   425 +
 .../airflow/contrib/operators/sftp_operator.html   |   336 +
 .../contrib/operators/slack_webhook_operator.html  |   327 +
 .../contrib/operators/spark_jdbc_operator.html     |   449 +
 .../contrib/operators/spark_sql_operator.html      |   344 +
 .../contrib/operators/spark_submit_operator.html   |   405 +
 .../airflow/contrib/operators/sqoop_operator.html  |   467 +
 .../airflow/contrib/operators/ssh_operator.html    |   394 +
 ...ob_flow_operator.html => vertica_operator.html} |    89 +-
 .../aws_redshift_cluster_sensor.html}              |    99 +-
 .../contrib/sensors/bash_sensor.html}              |   167 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |   306 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   318 +
 .../emr_base_sensor.html}                          |    84 +-
 .../emr_job_flow_sensor.html}                      |    81 +-
 .../emr_step_sensor.html}                          |    87 +-
 .../file_to_wasb.html => sensors/file_sensor.html} |   116 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   302 +
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   408 +
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   313 +
 _modules/airflow/contrib/sensors/jira_sensor.html  |   382 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   340 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   323 +
 .../redis_key_sensor.html}                         |    97 +-
 .../sftp_sensor.html}                              |   102 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |    33 +-
 _modules/airflow/executors/celery_executor.html    |   201 +-
 _modules/airflow/executors/local_executor.html     |   240 +-
 .../airflow/executors/sequential_executor.html     |    37 +-
 _modules/airflow/hooks/S3_hook.html                |   200 +-
 _modules/{ => airflow/hooks}/dbapi_hook.html       |   140 +-
 _modules/airflow/hooks/hdfs_hook.html              |   335 +
 _modules/{ => airflow/hooks}/http_hook.html        |   109 +-
 .../mssql_hook.html}                               |   104 +-
 _modules/{ => airflow/hooks}/mysql_hook.html       |   107 +-
 _modules/airflow/hooks/oracle_hook.html            |   382 +
 _modules/airflow/hooks/pig_hook.html               |   329 +
 _modules/{ => airflow/hooks}/postgres_hook.html    |   109 +-
 _modules/{ => airflow/hooks}/presto_hook.html      |   136 +-
 _modules/airflow/hooks/slack_hook.html             |   296 +
 _modules/airflow/hooks/sqlite_hook.html            |   276 +
 _modules/{ => airflow/hooks}/webhdfs_hook.html     |   190 +-
 _modules/airflow/macros.html                       |    31 +-
 _modules/airflow/macros/hive.html                  |    52 +-
 _modules/airflow/models.html                       |  1004 +-
 .../{ => airflow/operators}/bash_operator.html     |   128 +-
 _modules/airflow/operators/check_operator.html     |   497 +
 .../{ => airflow/operators}/dagrun_operator.html   |   139 +-
 _modules/airflow/operators/docker_operator.html    |   469 -
 .../dummy_operator.html}                           |    86 +-
 .../{ => airflow/operators}/email_operator.html    |   110 +-
 .../{ => airflow/operators}/generic_transfer.html  |   103 +-
 .../{ => airflow/operators}/http_operator.html     |   103 +-
 .../airflow/operators/latest_only_operator.html    |   300 +
 .../operators/mssql_operator.html}                 |   131 +-
 .../{ => airflow/operators}/mysql_operator.html    |   103 +-
 .../oracle_operator.html}                          |   107 +-
 _modules/airflow/operators/pig_operator.html       |   307 +
 .../{ => airflow/operators}/postgres_operator.html |   107 +-
 .../operators}/presto_check_operator.html          |   107 +-
 _modules/airflow/operators/presto_to_mysql.html    |   314 +
 .../{ => airflow/operators}/python_operator.html   |   132 +-
 .../airflow/operators/redshift_to_s3_operator.html |   118 +-
 .../operators/s3_file_transform_operator.html      |    96 +-
 .../airflow/operators/s3_to_hive_operator.html     |   482 -
 ..._operator.html => s3_to_redshift_operator.html} |   107 +-
 _modules/airflow/operators/sensors.html            |   929 --
 .../{ => airflow/operators}/slack_operator.html    |   134 +-
 .../sqlite_operator.html}                          |   101 +-
 _modules/airflow/operators/subdag_operator.html    |   338 +
 _modules/airflow/sensors/base_sensor_operator.html |   310 +
 _modules/airflow/sensors/external_task_sensor.html |   336 +
 _modules/airflow/sensors/hdfs_sensor.html          |   352 +
 .../airflow/sensors/hive_partition_sensor.html     |   310 +
 _modules/airflow/sensors/http_sensor.html          |   327 +
 .../sensors/metastore_partition_sensor.html        |   318 +
 .../sensors/named_hive_partition_sensor.html       |   339 +
 _modules/airflow/sensors/s3_key_sensor.html        |   316 +
 _modules/airflow/sensors/s3_prefix_sensor.html     |   303 +
 .../sql_sensor.html}                               |   100 +-
 .../time_delta_sensor.html}                        |    96 +-
 .../time_sensor.html}                              |    88 +-
 .../web_hdfs_sensor.html}                          |    98 +-
 _modules/bigquery_hook.html                        |  1279 ---
 _modules/cloudant_hook.html                        |   275 -
 _modules/druid_hook.html                           |   325 -
 _modules/gcs_hook.html                             |   498 -
 _modules/hive_hooks.html                           |   996 --
 _modules/hive_operator.html                        |   339 -
 _modules/hive_to_druid.html                        |   454 -
 _modules/hive_to_mysql.html                        |   339 -
 _modules/hive_to_samba_operator.html               |   260 -
 _modules/index.html                                |   155 +-
 _modules/mssql_hook.html                           |   242 -
 _modules/mssql_operator.html                       |   247 -
 _modules/mssql_to_hive.html                        |   326 -
 _modules/mysql_to_hive.html                        |   368 -
 _modules/s3_to_hive_operator.html                  |   482 -
 _modules/sensors.html                              |   929 --
 _modules/ssh_execute_operator.html                 |   387 -
 _modules/ssh_hook.html                             |   386 -
 _modules/vertica_operator.html                     |   246 -
 _modules/vertica_to_hive.html                      |   330 -
 _sources/api.rst.txt                               |    13 +-
 _sources/cli.txt                                   |    11 -
 _sources/code.rst.txt                              |   336 +-
 _sources/code.txt                                  |   252 -
 _sources/concepts.rst.txt                          |    49 +-
 _sources/concepts.txt                              |   759 --
 _sources/configuration.rst.txt                     |   310 -
 _sources/configuration.txt                         |   230 -
 _sources/faq.rst.txt                               |    43 +-
 _sources/faq.txt                                   |   142 -
 _sources/howto/executor/use-celery.rst.txt         |    47 +
 _sources/howto/executor/use-dask.rst.txt           |    33 +
 _sources/howto/executor/use-mesos.rst.txt          |    65 +
 _sources/howto/index.rst.txt                       |    23 +
 _sources/howto/initialize-database.rst.txt         |    31 +
 _sources/howto/manage-connections.rst.txt          |   135 +
 _sources/howto/run-with-systemd.rst.txt            |    15 +
 _sources/howto/run-with-upstart.rst.txt            |    20 +
 _sources/howto/secure-connections.rst.txt          |    32 +
 _sources/howto/set-config.rst.txt                  |    35 +
 _sources/howto/use-test-config.rst.txt             |    17 +
 _sources/howto/write-logs.rst.txt                  |   159 +
 _sources/index.rst.txt                             |     4 +-
 _sources/index.txt                                 |    87 -
 _sources/installation.rst.txt                      |    29 +-
 _sources/installation.txt                          |    90 -
 _sources/integration.rst.txt                       |   428 +-
 _sources/kubernetes.rst.txt                        |   101 +
 _sources/license.rst.txt                           |    35 +-
 _sources/license.txt                               |   211 -
 _sources/lineage.rst.txt                           |    85 +
 _sources/plugins.rst.txt                           |    18 +-
 _sources/plugins.txt                               |   139 -
 _sources/profiling.rst.txt                         |     2 +-
 _sources/profiling.txt                             |    39 -
 _sources/project.rst.txt                           |     7 +
 _sources/project.txt                               |    59 -
 _sources/scheduler.rst.txt                         |     4 +-
 _sources/scheduler.txt                             |   101 -
 _sources/security.rst.txt                          |    22 +-
 _sources/security.txt                              |   253 -
 _sources/start.rst.txt                             |     7 +-
 _sources/start.txt                                 |    49 -
 _sources/timezone.rst.txt                          |   143 +
 _sources/tutorial.rst.txt                          |     4 +-
 _sources/tutorial.txt                              |   429 -
 _sources/ui.txt                                    |   102 -
 _static/apache.jpg                                 |   Bin 43364 -> 0 bytes
 _static/basic.css                                  |     2 +-
 _static/default.css                                |     3 -
 _static/doctools.js                                |     4 +-
 _static/fonts/Inconsolata.ttf                      |   Bin 63184 -> 0 bytes
 _static/incubator.jpg                              |   Bin 91227 -> 0 bytes
 _static/jquery-1.11.1.js                           | 10308 -------------------
 _static/searchtools.js                             |     2 +-
 _static/websupport.js                              |     2 +-
 api.html                                           |    18 +-
 cli.html                                           |   256 +-
 code.html                                          | 10181 +++++++++++++-----
 concepts.html                                      |    50 +-
 configuration.html                                 |   520 -
 faq.html                                           |    50 +-
 genindex.html                                      |   938 +-
 howto/executor/use-celery.html                     |   301 +
 howto/executor/use-dask.html                       |   287 +
 howto/executor/use-mesos.html                      |   326 +
 howto/index.html                                   |   295 +
 .../initialize-database.html                       |   109 +-
 howto/manage-connections.html                      |   381 +
 .../run-with-systemd.html                          |    93 +-
 .../run-with-upstart.html                          |    93 +-
 howto/secure-connections.html                      |   290 +
 _modules/sqlite_hook.html => howto/set-config.html |   106 +-
 .../use-test-config.html                           |    89 +-
 howto/write-logs.html                              |   430 +
 index.html                                         |   163 +-
 installation.html                                  |    32 +-
 integration.html                                   |  2801 ++++-
 kubernetes.html                                    |   369 +
 license.html                                       |   381 +-
 lineage.html                                       |   328 +
 objects.inv                                        |   Bin 3480 -> 6013 bytes
 plugins.html                                       |    22 +-
 profiling.html                                     |     6 +-
 project.html                                       |    11 +-
 py-modindex.html                                   |    34 +-
 scheduler.html                                     |     8 +-
 search.html                                        |     4 +-
 searchindex.js                                     |     2 +-
 security.html                                      |    41 +-
 start.html                                         |    11 +-
 timezone.html                                      |   374 +
 tutorial.html                                      |    12 +-
 ui.html                                            |     8 +-
 270 files changed, 50541 insertions(+), 33499 deletions(-)

diff --git a/_images/connection_create.png b/_images/connection_create.png
new file mode 100644
index 0000000..8a574d4
Binary files /dev/null and b/_images/connection_create.png differ
diff --git a/_images/connection_edit.png b/_images/connection_edit.png
new file mode 100644
index 0000000..c6d14da
Binary files /dev/null and b/_images/connection_edit.png differ
diff --git a/_images/connections.png b/_images/connections.png
index d07a130..3a28473 100644
Binary files a/_images/connections.png and b/_images/connections.png differ
diff --git a/_modules/S3_hook.html b/_modules/S3_hook.html
deleted file mode 100644
index ae1091a..0000000
--- a/_modules/S3_hook.html
+++ /dev/null
@@ -1,489 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>S3_hook &mdash; Airflow Documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../index.html"/>
-        <link rel="up" title="Module code" href="index.html"/> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-   
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../index.html" class="icon icon-home"> Airflow
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">Airflow</a>
-        
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="index.html">Module code</a> &raquo;</li>
-        
-      <li>S3_hook</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for S3_hook</h1><div class="highlight"><pre>
-<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
-<span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
-
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
-
-<span class="kn">from</span> <span class="nn">six</span> <span class="k">import</span> <span class="n">BytesIO</span>
-<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
-<span class="kn">import</span> <span class="nn">re</span>
-<span class="kn">import</span> <span class="nn">fnmatch</span>
-
-<div class="viewcode-block" id="S3Hook"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook">[docs]</a><span class="k">class</span> <span class="nc">S3Hook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Interact with AWS S3, using the boto3 library.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-
-    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span>
-
-    <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">parse_s3_url</span><span class="p">(</span><span class="n">s3url</span><span class="p">):</span>
-        <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">s3url</span><span class="p">)</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket_name&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">bucket_name</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span>
-            <span class="n">key</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
-            <span class="k">return</span> <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
-
-<div class="viewcode-block" id="S3Hook.check_for_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Check if bucket_name exists.</span>
-
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">head_bucket</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">)</span>
-            <span class="k">return</span> <span class="kc">True</span>
-        <span class="k">except</span><span class="p">:</span>
-            <span class="k">return</span> <span class="kc">False</span></div>
-
-<div class="viewcode-block" id="S3Hook.get_bucket"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">get_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto3.S3.Bucket object</span>
-
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">s3</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">s3</span><span class="o">.</span><span class="n">Bucket</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="S3Hook.check_for_prefix"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_prefix">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_prefix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Checks that a prefix exists in a bucket</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="n">delimiter</span> <span class="k">if</span> <span class="n">prefix</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="n">delimiter</span> <span class="k">else</span> <span class="n">prefix</span>
-        <span class="n">prefix_split</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">r</span><span class="s1">&#39;(\w+[</span><span class="si">{d}</span><span class="s1">])$&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">d</span><span class="o">=</span><span class="n">delimiter</span><span class="p">),</span> <span class="n">prefi [...]
-        <span class="n">previous_level</span> <span class="o">=</span> <span class="n">prefix_split</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
-        <span class="n">plist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_prefixes</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">previous_level</span><span class="p">,</span> <span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">return</span> <span class="kc">False</span> <span class="k">if</span> <span class="n">plist</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">plist</span></div>
-
-<div class="viewcode-block" id="S3Hook.list_prefixes"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_prefixes">[docs]</a>    <span class="k">def</span> <span class="nf">list_prefixes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span> [...]
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Lists prefixes in a bucket under prefix</span>
-
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        :param prefix: a key prefix</span>
-<span class="sd">        :type prefix: str</span>
-<span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
-<span class="sd">        :type delimiter: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">list_objects_v2</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span> 
-                                                   <span class="n">Prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> 
-                                                   <span class="n">Delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">return</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="s1">&#39;Prefix&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;CommonPrefixes&#39;</span><span class="p">]]</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><s [...]
-
-<div class="viewcode-block" id="S3Hook.list_keys"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.list_keys">[docs]</a>    <span class="k">def</span> <span class="nf">list_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">delimiter</span><span class= [...]
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Lists keys in a bucket under prefix and not containing delimiter</span>
-
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        :param prefix: a key prefix</span>
-<span class="sd">        :type prefix: str</span>
-<span class="sd">        :param delimiter: the delimiter marks key hierarchy.</span>
-<span class="sd">        :type delimiter: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">list_objects_v2</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span>
-                                                   <span class="n">Prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
-                                                   <span class="n">Delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">return</span> <span class="p">[</span><span class="n">k</span><span class="p">[</span><span class="s1">&#39;Key&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Contents&#39;</span><span class="p">]]</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class [...]
-
-<div class="viewcode-block" id="S3Hook.check_for_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Checks if a key exists in a bucket</span>
-
-<span class="sd">        :param key: S3 key that will point to the file</span>
-<span class="sd">        :type key: str</span>
-<span class="sd">        :param bucket_name: Name of the bucket in which the file is stored</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
-            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
-        <span class="k">try</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">head_object</span><span class="p">(</span><span class="n">Bucket</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">Key</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-            <span class="k">return</span> <span class="kc">True</span>
-        <span class="k">except</span><span class="p">:</span>
-            <span class="k">return</span> <span class="kc">False</span></div>
-
-<div class="viewcode-block" id="S3Hook.get_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto3.s3.Object</span>
-
-<span class="sd">        :param key: the path to the key</span>
-<span class="sd">        :type key: str</span>
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
-            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
-        <span class="n">obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;s3&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">Object</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span>
-        <span class="n">obj</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">obj</span></div>
-
-<div class="viewcode-block" id="S3Hook.read_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.read_key">[docs]</a>    <span class="k">def</span> <span class="nf">read_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Reads a key from S3</span>
-
-<span class="sd">        :param key: S3 key that will point to the file</span>
-<span class="sd">        :type key: str</span>
-<span class="sd">        :param bucket_name: Name of the bucket in which the file is stored</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="n">obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">obj</span><span class="o">.</span><span class="n">get</span><span class="p">()[</span><span class="s1">&#39;Body&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="S3Hook.check_for_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.check_for_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">check_for_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                               <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Checks that a key matching a wildcard expression exists in a bucket</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_wildcard_key</span><span class="p">(</span><span class="n">wildcard_key</span><span class="o">=</span><span class="n">wildcard_key</span><span class="p">,</span>
-                                     <span class="n">bucket_name</span><span class="o">=</span><span class="n">bucket_name</span><span class="p">,</span>
-                                     <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span></div>
-
-<div class="viewcode-block" id="S3Hook.get_wildcard_key"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.get_wildcard_key">[docs]</a>    <span class="k">def</span> <span class="nf">get_wildcard_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">delimit [...]
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns a boto3.s3.Object object matching the regular expression</span>
-
-<span class="sd">        :param regex_key: the path to the key</span>
-<span class="sd">        :type regex_key: str</span>
-<span class="sd">        :param bucket_name: the name of the bucket</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
-            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">wildcard_key</span><span class="p">)</span>
-
-        <span class="n">prefix</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">r</span><span class="s1">&#39;[*]&#39;</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
-        <span class="n">klist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">list_keys</span><span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">klist</span><span class="p">:</span>
-            <span class="n">key_matches</span> <span class="o">=</span> <span class="p">[</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">klist</span> <span class="k">if</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">wildcard_key</span><span class="p">)]</span>
-            <span class="k">if</span> <span class="n">key_matches</span><span class="p">:</span>
-                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_key</span><span class="p">(</span><span class="n">key_matches</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bucket_name</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="S3Hook.load_file"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_file">[docs]</a>    <span class="k">def</span> <span class="nf">load_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                  <span class="n">filename</span><span class="p">,</span>
-                  <span class="n">key</span><span class="p">,</span>
-                  <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                  <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                  <span class="n">encrypt</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Loads a local file to S3</span>
-
-<span class="sd">        :param filename: name of the file to load.</span>
-<span class="sd">        :type filename: str</span>
-<span class="sd">        :param key: S3 key that will point to the file</span>
-<span class="sd">        :type key: str</span>
-<span class="sd">        :param bucket_name: Name of the bucket in which to store the file</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        :param replace: A flag to decide whether or not to overwrite the key</span>
-<span class="sd">            if it already exists. If replace is False and the key exists, an</span>
-<span class="sd">            error will be raised.</span>
-<span class="sd">        :type replace: bool</span>
-<span class="sd">        :param encrypt: If True, the file will be encrypted on the server-side</span>
-<span class="sd">            by S3 and will be stored in an encrypted form while at rest in S3.</span>
-<span class="sd">        :type encrypt: bool</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
-            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
-            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key </span><span class="si">{key}</span><span class="s2"> already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">))</span>
-
-        <span class="n">extra_args</span><span class="o">=</span><span class="p">{}</span>
-        <span class="k">if</span> <span class="n">encrypt</span><span class="p">:</span>
-            <span class="n">extra_args</span><span class="p">[</span><span class="s1">&#39;ServerSideEncryption&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;AES256&quot;</span>
-
-        <span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="n">client</span><span class="o">.</span><span class="n">upload_file</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">ExtraArgs</span><span class="o">=</span><span class="n">extra_args</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="S3Hook.load_string"><a class="viewcode-back" href="../code.html#airflow.hooks.S3Hook.load_string">[docs]</a>    <span class="k">def</span> <span class="nf">load_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> 
-                    <span class="n">string_data</span><span class="p">,</span>
-                    <span class="n">key</span><span class="p">,</span> 
-                    <span class="n">bucket_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-                    <span class="n">replace</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                    <span class="n">encrypt</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-                    <span class="n">encoding</span><span class="o">=</span><span class="s1">&#39;utf-8&#39;</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Loads a string to S3</span>
-
-<span class="sd">        This is provided as a convenience to drop a string in S3. It uses the</span>
-<span class="sd">        boto infrastructure to ship a file to s3. </span>
-
-<span class="sd">        :param string_data: string to set as content for the key.</span>
-<span class="sd">        :type string_data: str</span>
-<span class="sd">        :param key: S3 key that will point to the file</span>
-<span class="sd">        :type key: str</span>
-<span class="sd">        :param bucket_name: Name of the bucket in which to store the file</span>
-<span class="sd">        :type bucket_name: str</span>
-<span class="sd">        :param replace: A flag to decide whether or not to overwrite the key</span>
-<span class="sd">            if it already exists</span>
-<span class="sd">        :type replace: bool</span>
-<span class="sd">        :param encrypt: If True, the file will be encrypted on the server-side</span>
-<span class="sd">            by S3 and will be stored in an encrypted form while at rest in S3.</span>
-<span class="sd">        :type encrypt: bool</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">bucket_name</span><span class="p">:</span>
-            <span class="p">(</span><span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse_s3_url</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-        
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">replace</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_for_key</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">):</span>
-            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;The key </span><span class="si">{key}</span><span class="s2"> already exists.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">key</span><span class="p">))</span>
-        
-        <span class="n">extra_args</span><span class="o">=</span><span class="p">{}</span>
-        <span class="k">if</span> <span class="n">encrypt</span><span class="p">:</span>
-            <span class="n">extra_args</span><span class="p">[</span><span class="s1">&#39;ServerSideEncryption&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;AES256&quot;</span>
-        
-        <span class="n">filelike_buffer</span> <span class="o">=</span> <span class="n">BytesIO</span><span class="p">(</span><span class="n">string_data</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">encoding</span><span class="p">))</span>
-        
-        <span class="n">client</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-        <span class="n">client</span><span class="o">.</span><span class="n">upload_fileobj</span><span class="p">(</span><span class="n">filelike_buffer</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">ExtraArgs</span><span class="o">=</span><span class="n">extra_args</span><span class="p">)</span></div></div>
-</pre></div>
-
-           </div>
-           <div class="articleComments">
-            
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true,
-            SOURCELINK_SUFFIX: '.txt'
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/executors/mesos_executor.html b/_modules/airflow/contrib/executors/mesos_executor.html
index f23df55..312fffe 100644
--- a/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/_modules/airflow/contrib/executors/mesos_executor.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,17 +171,22 @@
   <h1>Source code for airflow.contrib.executors.mesos_executor</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="kn">from</span> <span class="nn">future</span> <span class="k">import</span> <span class="n">standard_library</span>
 
@@ -206,9 +213,9 @@
 
 
 <span class="k">def</span> <span class="nf">get_framework_name</span><span class="p">():</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">):</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">):</span>
         <span class="k">return</span> <span class="n">DEFAULT_FRAMEWORK_NAME</span>
-    <span class="k">return</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FRAMEWORK_NAME&#39;</span><span class="p">)</span>
 
 
 <span class="c1"># AirflowMesosScheduler, implements Mesos Scheduler interface</span>
@@ -232,11 +239,16 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">task_mem</span> <span class="o">=</span> <span class="n">task_mem</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_counter</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_key_map</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span><span class="p">):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DOCKER_IMAGE_SLAVE&#39;</span>
+            <span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">registered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">driver</span><span class="p">,</span> <span class="n">frameworkId</span><span class="p">,</span> <span class="n">masterInfo</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;AirflowScheduler registered to Mesos with framework ID </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">frameworkId</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span  [...]
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">)</span> <span class="ow">and</span> \
+                <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
             <span class="c1"># Import here to work around a circular import error</span>
             <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
 
@@ -322,6 +334,21 @@
                 <span class="n">command</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">cmd</span>
                 <span class="n">task</span><span class="o">.</span><span class="n">command</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">command</span><span class="p">)</span>
 
+                <span class="c1"># If docker image for airflow is specified in config then pull that</span>
+                <span class="c1"># image before running the above airflow command</span>
+                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">:</span>
+                    <span class="n">network</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="o">.</span><span class="n">Network</span><span class="o">.</span><span class="n">Value</span><span class="p">(</span><span class="s1">&#39;BRIDGE&#39;</span><span class="p">)</span>
+                    <span class="n">docker</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DockerInfo</span><span class="p">(</span>
+                        <span class="n">image</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mesos_slave_docker_image</span><span class="p">,</span>
+                        <span class="n">force_pull_image</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                        <span class="n">network</span><span class="o">=</span><span class="n">network</span>
+                    <span class="p">)</span>
+                    <span class="n">container</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="p">(</span>
+                        <span class="nb">type</span><span class="o">=</span><span class="n">mesos_pb2</span><span class="o">.</span><span class="n">ContainerInfo</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">,</span>
+                        <span class="n">docker</span><span class="o">=</span><span class="n">docker</span>
+                    <span class="p">)</span>
+                    <span class="n">task</span><span class="o">.</span><span class="n">container</span><span class="o">.</span><span class="n">MergeFrom</span><span class="p">(</span><span class="n">container</span><span class="p">)</span>
+
                 <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">task</span><span class="p">)</span>
 
                 <span class="n">remainingCpus</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_cpu</span>
@@ -371,28 +398,28 @@
         <span class="n">framework</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">FrameworkInfo</span><span class="p">()</span>
         <span class="n">framework</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">):</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting mesos master URL for mesos executor&quot;</span><span class="p">)</span>
             <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.master not provided for mesos executor&quot;</span><span class="p">)</span>
 
-        <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
+        <span class="n">master</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;MASTER&#39;</span><span class="p">)</span>
 
         <span class="n">framework</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">get_framework_name</span><span class="p">()</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">):</span>
             <span class="n">task_cpu</span> <span class="o">=</span> <span class="mi">1</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">task_cpu</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">)</span>
+            <span class="n">task_cpu</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_CPU&#39;</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">):</span>
             <span class="n">task_memory</span> <span class="o">=</span> <span class="mi">256</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
+            <span class="n">task_memory</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;TASK_MEMORY&#39;</span><span class="p">)</span>
 
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;CHECKPOINT&#39;</span><span class="p">):</span>
             <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">True</span>
 
-            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">):</span>
                 <span class="c1"># Import here to work around a circular import error</span>
                 <span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">Connection</span>
 
@@ -404,7 +431,9 @@
                     <span class="c1"># Set the Framework ID to let the scheduler reconnect with running tasks.</span>
                     <span class="n">framework</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span>
 
-                <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span><span class="p">)</span>
+                <span class="n">framework</span><span class="o">.</span><span class="n">failover_timeout</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span>
+                    <span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;FAILOVER_TIMEOUT&#39;</span>
+                <span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">framework</span><span class="o">.</span><span class="n">checkpoint</span> <span class="o">=</span> <span class="kc">False</span>
 
@@ -415,17 +444,17 @@
 
         <span class="n">implicit_acknowledgements</span> <span class="o">=</span> <span class="mi">1</span>
 
-        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;AUTHENTICATE&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication principal in the environment&quot;</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_principal not provided in authenticated mode&quot;</span><span class="p">)</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">):</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Expecting authentication secret in the environment&quot;</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;mesos.default_secret not provided in authenticated mode&quot;</span><span class="p">)</span>
 
             <span class="n">credential</span> <span class="o">=</span> <span class="n">mesos_pb2</span><span class="o">.</span><span class="n">Credential</span><span class="p">()</span>
-            <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
-            <span class="n">credential</span><span class="o">.</span><span class="n">secret</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">)</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_PRINCIPAL&#39;</span><span class="p">)</span>
+            <span class="n">credential</span><span class="o">.</span><span class="n">secret</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;mesos&#39;</span><span class="p">,</span> <span class="s1">&#39;DEFAULT_SECRET&#39;</span><span class="p">)</span>
 
             <span class="n">framework</span><span class="o">.</span><span class="n">principal</span> <span class="o">=</span> <span class="n">credential</span><span class="o">.</span><span class="n">principal</span>
 
@@ -446,7 +475,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span> <span class="o">=</span> <span class="n">driver</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">mesos_driver</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">execute_async</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">executor_config</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">task_queue</span><span class="o">.</span><span class="n">put</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">command</span><span class="p">))</span>
 
     <span class="k">def</span> <span class="nf">sync</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
diff --git a/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
new file mode 100644
index 0000000..68c9921
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -0,0 +1,300 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_dynamodb_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_dynamodb_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsDynamoDBHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">[docs]</a><span class="k">class</span> <span class="nc">AwsDynamoDBHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS DynamoDB.</span>
+
+<span class="sd">    :param table_keys: partition key and sort key</span>
+<span class="sd">    :type table_keys: list</span>
+<span class="sd">    :param table_name: target DynamoDB table</span>
+<span class="sd">    :type table_name: str</span>
+<span class="sd">    :param region_name: aws region name (example: us-east-1)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</sp [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">table_keys</span> <span class="o">=</span> <span class="n">table_keys</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">table_name</span> <span class="o">=</span> <span class="n">table_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsDynamoDBHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_resource_type</span><span class="p">(</span><span class="s1">&#39;dynamodb&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+
+<div class="viewcode-block" id="AwsDynamoDBHook.write_batch_data"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">[docs]</a>    <span class="k">def</span> <span class="nf">write_batch_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">items</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Write batch items to dynamodb table with provisioned throughout capacity.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">dynamodb_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">table</span> <span class="o">=</span> <span class="n">dynamodb_conn</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">table_name</span><span class="p">)</span>
+
+            <span class="k">with</span> <span class="n">table</span><span class="o">.</span><span class="n">batch_writer</span><span class="p">(</span><span class="n">overwrite_by_pkeys</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">table_keys</span><span class="p">)</span> <span class="k">as</span> <span class="n">batch</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">items</span><span class="p">:</span>
+                    <span class="n">batch</span><span class="o">.</span><span class="n">put_item</span><span class="p">(</span><span class="n">Item</span><span class="o">=</span><span class="n">item</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">general_error</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Failed to insert items in dynamodb, error: </span><span class="si">{error}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">error</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">general_error</span><span class="p">)</span>
+                <span class="p">)</span>
+            <span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/aws_hook.html b/_modules/airflow/contrib/hooks/aws_hook.html
new file mode 100644
index 0000000..7d9a60f
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/aws_hook.html
@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.aws_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.aws_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+
+<span class="kn">import</span> <span class="nn">boto3</span>
+<span class="kn">import</span> <span class="nn">configparser</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<span class="k">def</span> <span class="nf">_parse_s3_config</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">,</span> <span class="n">config_format</span><span class="o">=</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="n">profile</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Parses a config file for s3 credentials. Can currently</span>
+<span class="sd">    parse boto, s3cmd.conf and AWS SDK config formats</span>
+
+<span class="sd">    :param config_file_name: path to the config file</span>
+<span class="sd">    :type config_file_name: str</span>
+<span class="sd">    :param config_format: config type. One of &quot;boto&quot;, &quot;s3cmd&quot; or &quot;aws&quot;.</span>
+<span class="sd">        Defaults to &quot;boto&quot;</span>
+<span class="sd">    :type config_format: str</span>
+<span class="sd">    :param profile: profile name in AWS type config file</span>
+<span class="sd">    :type profile: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">config</span> <span class="o">=</span> <span class="n">configparser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">sections</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">sections</span><span class="p">()</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Couldn&#39;t read </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">config_file_name</span><span class="p">))</span>
+    <span class="c1"># Setting option names depending on file format</span>
+    <span class="k">if</span> <span class="n">config_format</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">config_format</span> <span class="o">=</span> <span class="s1">&#39;boto&#39;</span>
+    <span class="n">conf_format</span> <span class="o">=</span> <span class="n">config_format</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;boto&#39;</span><span class="p">:</span>  <span class="c1"># pragma: no cover</span>
+        <span class="k">if</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;profile &#39;</span> <span class="o">+</span> <span class="n">profile</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;Credentials&#39;</span>
+    <span class="k">elif</span> <span class="n">conf_format</span> <span class="o">==</span> <span class="s1">&#39;aws&#39;</span> <span class="ow">and</span> <span class="n">profile</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="n">profile</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">cred_section</span> <span class="o">=</span> <span class="s1">&#39;default&#39;</span>
+    <span class="c1"># Option names</span>
+    <span class="k">if</span> <span class="n">conf_format</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;boto&#39;</span><span class="p">,</span> <span class="s1">&#39;aws&#39;</span><span class="p">):</span>  <span class="c1"># pragma: no cover</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;aws_access_key_id&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;aws_secret_access_key&#39;</span>
+        <span class="c1"># security_token_option = &#39;aws_security_token&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">key_id_option</span> <span class="o">=</span> <span class="s1">&#39;access_key&#39;</span>
+        <span class="n">secret_key_option</span> <span class="o">=</span> <span class="s1">&#39;secret_key&#39;</span>
+    <span class="c1"># Actual Parsing</span>
+    <span class="k">if</span> <span class="n">cred_section</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sections</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;This config file format is not recognized&quot;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">access_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">key_id_option</span><span class="p">)</span>
+            <span class="n">secret_key</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">cred_section</span><span class="p">,</span> <span class="n">secret_key_option</span><span class="p">)</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">&quot;Option Error in parsing s3 config file&quot;</span><span class="p">)</span>
+            <span class="k">raise</span>
+        <span class="k">return</span> <span class="n">access_key</span><span class="p">,</span> <span class="n">secret_key</span>
+
+
+<div class="viewcode-block" id="AwsHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook">[docs]</a><span class="k">class</span> <span class="nc">AwsHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS.</span>
+<span class="sd">    This class is a thin wrapper around the boto3 python library.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;aws_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
+
+    <span class="k">def</span> <span class="nf">_get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="p">):</span>
+        <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">aws_session_token</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">endpoint_url</span> <span class="o">=</span> <span class="kc">None</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">connection_object</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">login</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">password</span>
+
+                <span class="k">elif</span> <span class="s1">&#39;aws_secret_access_key&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;aws_access_key_id&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;aws_secret_access_key&#39;</span><span class="p">]</span>
+
+                <span class="k">elif</span> <span class="s1">&#39;s3_config_file&#39;</span> <span class="ow">in</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                    <span class="n">aws_access_key_id</span><span class="p">,</span> <span class="n">aws_secret_access_key</span> <span class="o">=</span> \
+                        <span class="n">_parse_s3_config</span><span class="p">(</span><span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;s3_config_file&#39;</span><span class="p">],</span>
+                                         <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;s3_config_format&#39;</span><span class="p">))</span>
+
+                <span class="k">if</span> <span class="n">region_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">region_name</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;region_name&#39;</span><span class="p">)</span>
+
+                <span class="n">role_arn</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;role_arn&#39;</span><span class="p">)</span>
+                <span class="n">aws_account_id</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_account_id&#39;</span><span class="p">)</span>
+                <span class="n">aws_iam_role</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;aws_iam_role&#39;</span><span class="p">)</span>
+
+                <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">aws_account_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> \
+                        <span class="n">aws_iam_role</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+
+                    <span class="n">role_arn</span> <span class="o">=</span> <span class="s2">&quot;arn:aws:iam::&quot;</span> <span class="o">+</span> <span class="n">aws_account_id</span> <span class="o">+</span> <span class="s2">&quot;:role/&quot;</span> <span class="o">+</span> <span class="n">aws_iam_role</span>
+
+                <span class="k">if</span> <span class="n">role_arn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">sts_session</span> <span class="o">=</span> <span class="n">boto3</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">Session</span><span class="p">(</span>
+                        <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">aws_access_key_id</span><span class="p">,</span>
+                        <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">aws_secret_access_key</span><span class="p">,</span>
+                        <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">)</span>
+
+                    <span class="n">sts_client</span> <span class="o">=</span> <span class="n">sts_session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="s1">&#39;sts&#39;</span><span class="p">)</span>
+                    <span class="n">sts_response</span> <span class="o">=</span> <span class="n">sts_client</span><span class="o">.</span><span class="n">assume_role</span><span class="p">(</span>
+                        <span class="n">RoleArn</span><span class="o">=</span><span class="n">role_arn</span><span class="p">,</span>
+                        <span class="n">RoleSessionName</span><span class="o">=</span><span class="s1">&#39;Airflow_&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span>
+                    <span class="n">aws_access_key_id</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;AccessKeyId&#39;</span><span class="p">]</span>
+                    <span class="n">aws_secret_access_key</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;SecretAccessKey&#39;</span><span class="p">]</span>
+                    <span class="n">aws_session_token</span> <span class="o">=</span> <span class="n">sts_response</span><span class="p">[</span><span class="s1">&#39;Credentials&#39;</span><span class="p">][</span><span class="s1">&#39;SessionToken&#39;</span><span class="p">]</span>
+
+                <span class="n">endpoint_url</span> <span class="o">=</span> <span class="n">connection_object</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">)</span>
+
+            <span class="k">except</span> <span class="n">AirflowException</span><span class="p">:</span>
+                <span class="c1"># No connection found: fallback on boto3 credential strategy</span>
+                <span class="c1"># http://boto3.readthedocs.io/en/latest/guide/configuration.html</span>
+                <span class="k">pass</span>
+
+        <span class="k">return</span> <span class="n">boto3</span><span class="o">.</span><span class="n">session</span><span class="o">.</span><span class="n">Session</span><span class="p">(</span>
+            <span class="n">aws_access_key_id</span><span class="o">=</span><span class="n">aws_access_key_id</span><span class="p">,</span>
+            <span class="n">aws_secret_access_key</span><span class="o">=</span><span class="n">aws_secret_access_key</span><span class="p">,</span>
+            <span class="n">aws_session_token</span><span class="o">=</span><span class="n">aws_session_token</span><span class="p">,</span>
+            <span class="n">region_name</span><span class="o">=</span><span class="n">region_name</span><span class="p">),</span> <span class="n">endpoint_url</span>
+
+    <span class="k">def</span> <span class="nf">get_client_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">client</span><span class="p">(</span><span class="n">client_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_resource_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">resource_type</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">endpoint_url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">resource</span><span class="p">(</span><span class="n">resource_type</span><span class="p">,</span> <span class="n">endpoint_url</span><span class="o">=</span><span class="n">endpoint_url</span><span class="p">)</span>
+
+<div class="viewcode-block" id="AwsHook.get_session"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_session">[docs]</a>    <span class="k">def</span> <span class="nf">get_session</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Get the underlying boto3.session.&quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">session</span></div>
+
+<div class="viewcode-block" id="AwsHook.get_credentials"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">[docs]</a>    <span class="k">def</span> <span class="nf">get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Get the underlying `botocore.Credentials` object.</span>
+
+<span class="sd">        This contains the attributes: access_key, secret_key and token.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">session</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">(</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="c1"># Credentials are refreshable, so accessing your access key / secret key</span>
+        <span class="c1"># separately can lead to a race condition.</span>
+        <span class="c1"># See https://stackoverflow.com/a/36291428/8283373</span>
+        <span class="k">return</span> <span class="n">session</span><span class="o">.</span><span class="n">get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_frozen_credentials</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/operators/file_to_wasb.html b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
similarity index 50%
copy from _modules/airflow/contrib/operators/file_to_wasb.html
copy to _modules/airflow/contrib/hooks/aws_lambda_hook.html
index 0c67052..5953a6b 100644
--- a/_modules/airflow/contrib/operators/file_to_wasb.html
+++ b/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>airflow.contrib.operators.file_to_wasb &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
   
 
   
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -149,7 +151,7 @@
         
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>airflow.contrib.operators.file_to_wasb</li>
+      <li>airflow.contrib.hooks.aws_lambda_hook</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -166,64 +168,74 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for airflow.contrib.operators.file_to_wasb</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.hooks.aws_lambda_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
-<span class="c1">#</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.wasb_hook</span> <span class="k">import</span> <span class="n">WasbHook</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils.decorators</span> <span class="k">import</span> <span class="n">apply_defaults</span>
-
-
-<div class="viewcode-block" id="FileToWasbOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.file_to_wasb.FileToWasbOperator">[docs]</a><span class="k">class</span> <span class="nc">FileToWasbOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="AwsLambdaHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">[docs]</a><span class="k">class</span> <span class="nc">AwsLambdaHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Uploads a file to Azure Blob Storage.</span>
-
-<span class="sd">    :param file_path: Path to the file to load.</span>
-<span class="sd">    :type file_path: str</span>
-<span class="sd">    :param container_name: Name of the container.</span>
-<span class="sd">    :type container_name: str</span>
-<span class="sd">    :param blob_name: Name of the blob.</span>
-<span class="sd">    :type blob_name: str</span>
-<span class="sd">    :param wasb_conn_id: Reference to the wasb connection.</span>
-<span class="sd">    :type wasb_conn_id: str</span>
-<span class="sd">    :param load_options: Optional keyword arguments that</span>
-<span class="sd">        `WasbHook.load_file()` takes.</span>
-<span class="sd">    :type load_options: dict</span>
+<span class="sd">    Interact with AWS Lambda</span>
+
+<span class="sd">    :param function_name: AWS Lambda Function Name</span>
+<span class="sd">    :type function_name: str</span>
+<span class="sd">    :param region_name: AWS Region Name (example: us-west-2)</span>
+<span class="sd">    :type region_name: str</span>
+<span class="sd">    :param log_type: Tail Invocation Request</span>
+<span class="sd">    :type log_type: str</span>
+<span class="sd">    :param qualifier: AWS Lambda Function Version or Alias Name</span>
+<span class="sd">    :type qualifier: str</span>
+<span class="sd">    :param invocation_type: AWS Lambda Invocation Type (RequestResponse, Event etc)</span>
+<span class="sd">    :type invocation_type: str</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;file_path&#39;</span><span class="p">,</span> <span class="s1">&#39;container_name&#39;</span><span class="p">,</span> <span class="s1">&#39;blob_name&#39;</span><span class="p">)</span>
-
-    <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">container_name</span><span class="p">,</span> <span class="n">blob_name</span><span class="p">,</span>
-                 <span class="n">wasb_conn_id</span><span class="o">=</span><span class="s1">&#39;wasb_default&#39;</span><span class="p">,</span> <span class="n">load_options</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span>
-                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">FileToWasbOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">load_options</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">load_options</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">file_path</span> <span class="o">=</span> <span class="n">file_path</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">container_name</span> <span class="o">=</span> <span class="n">container_name</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">blob_name</span> <span class="o">=</span> <span class="n">blob_name</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">wasb_conn_id</span> <span class="o">=</span> <span class="n">wasb_conn_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">load_options</span> <span class="o">=</span> <span class="n">load_options</span>
-
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Upload a file to Azure Blob Storage.&quot;&quot;&quot;</span>
-        <span class="n">hook</span> <span class="o">=</span> <span class="n">WasbHook</span><span class="p">(</span><span class="n">wasb_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">wasb_conn_id</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-            <span class="s1">&#39;Uploading </span><span class="si">{self.file_path}</span><span class="s1"> to wasb://</span><span class="si">{self.container_name}</span><span class="s1"> as </span><span class="si">{self.blob_name}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">**</span><span class="nb">locals</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function_name</span><span class="p">,</span> <span class="n">region_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">log_type</span><span class="o">=</span><span class="s1">&#39;None&#39;</span><span class="p">,</span> <span class="n">qualifier</span><span class="o">=</span><span  [...]
+                 <span class="n">invocation_type</span><span class="o">=</span><span class="s1">&#39;RequestResponse&#39;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">function_name</span> <span class="o">=</span> <span class="n">function_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span> <span class="o">=</span> <span class="n">region_name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log_type</span> <span class="o">=</span> <span class="n">log_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">invocation_type</span> <span class="o">=</span> <span class="n">invocation_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">qualifier</span> <span class="o">=</span> <span class="n">qualifier</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">AwsLambdaHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;lambda&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">region_name</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+
+<div class="viewcode-block" id="AwsLambdaHook.invoke_lambda"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">[docs]</a>    <span class="k">def</span> <span class="nf">invoke_lambda</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">payload</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Invoke Lambda Function</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">awslambda_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">awslambda_conn</span><span class="o">.</span><span class="n">invoke</span><span class="p">(</span>
+            <span class="n">FunctionName</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">function_name</span><span class="p">,</span>
+            <span class="n">InvocationType</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">invocation_type</span><span class="p">,</span>
+            <span class="n">LogType</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">log_type</span><span class="p">,</span>
+            <span class="n">Payload</span><span class="o">=</span><span class="n">payload</span><span class="p">,</span>
+            <span class="n">Qualifier</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">qualifier</span>
         <span class="p">)</span>
-        <span class="n">hook</span><span class="o">.</span><span class="n">load_file</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_path</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">container_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">blob_name</span><span class="p">,</span> <span class="o">**</span><span class="bp">sel [...]
+
+        <span class="k">return</span> <span class="n">response</span></div></div>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/contrib/hooks/bigquery_hook.html b/_modules/airflow/contrib/hooks/bigquery_hook.html
index 1926c79..aff2ebd 100644
--- a/_modules/airflow/contrib/hooks/bigquery_hook.html
+++ b/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,39 +171,45 @@
   <h1>Source code for airflow.contrib.hooks.bigquery_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 <span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
-<span class="c1">#</span>
-
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">This module contains a BigQuery Hook, as well as a very basic PEP 249</span>
 <span class="sd">implementation for BigQuery.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
 <span class="kn">import</span> <span class="nn">time</span>
-
-<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span><span class="p">,</span> <span class="n">HttpError</span>
-<span class="kn">from</span> <span class="nn">googleapiclient</span> <span class="k">import</span> <span class="n">errors</span>
 <span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">range</span>
-<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> <span class="n">GbqConnector</span><span class="p">,</span> \
-    <span class="n">_parse_data</span> <span class="k">as</span> <span class="n">gbq_parse_data</span><span class="p">,</span> \
-    <span class="n">_check_google_client_version</span> <span class="k">as</span> <span class="n">gbq_check_google_client_version</span><span class="p">,</span> \
-    <span class="n">_test_google_api_imports</span> <span class="k">as</span> <span class="n">gbq_test_google_api_imports</span>
-<span class="kn">from</span> <span class="nn">pandas.tools.merge</span> <span class="k">import</span> <span class="n">concat</span>
+
 <span class="kn">from</span> <span class="nn">past.builtins</span> <span class="k">import</span> <span class="n">basestring</span>
 
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">HttpError</span><span class="p">,</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">googleapiclient</span> <span class="k">import</span> <span class="n">errors</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> \
+    <span class="n">_check_google_client_version</span> <span class="k">as</span> <span class="n">gbq_check_google_client_version</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq</span> <span class="k">import</span> <span class="n">read_gbq</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> \
+    <span class="n">_test_google_api_imports</span> <span class="k">as</span> <span class="n">gbq_test_google_api_imports</span>
+<span class="kn">from</span> <span class="nn">pandas_gbq.gbq</span> <span class="k">import</span> <span class="n">GbqConnector</span>
 
 
 <div class="viewcode-block" id="BigQueryHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook">[docs]</a><span class="k">class</span> <span class="nc">BigQueryHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">,</span> <span class="n">DbApiHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
@@ -213,10 +221,11 @@
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">bigquery_conn_id</span><span class="o">=</span><span class="s1">&#39;bigquery_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
-            <span class="n">conn_id</span><span class="o">=</span><span class="n">bigquery_conn_id</span><span class="p">,</span>
-            <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
+            <span class="n">gcp_conn_id</span><span class="o">=</span><span class="n">bigquery_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
 
 <div class="viewcode-block" id="BigQueryHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -224,7 +233,10 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
         <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">BigQueryConnection</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">BigQueryConnection</span><span class="p">(</span>
+            <span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project</span><span class="p">,</span>
+            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BigQueryHook.get_service"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_service">[docs]</a>    <span class="k">def</span> <span class="nf">get_service</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -241,7 +253,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
+<div class="viewcode-block" id="BigQueryHook.get_pandas_df"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.get_pandas_df">[docs]</a>    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">, [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a Pandas DataFrame for the results produced by a BigQuery</span>
 <span class="sd">        query. The DbApiHook method must be overridden because Pandas</span>
@@ -252,35 +264,31 @@
 
 <span class="sd">        :param bql: The BigQuery SQL to execute.</span>
 <span class="sd">        :type bql: string</span>
-<span class="sd">        :param parameters: The parameters to render the SQL query with (not used, leave to override superclass method)</span>
+<span class="sd">        :param parameters: The parameters to render the SQL query with (not</span>
+<span class="sd">            used, leave to override superclass method)</span>
 <span class="sd">        :type parameters: mapping or iterable</span>
 <span class="sd">        :param dialect: Dialect of BigQuery SQL – legacy SQL or standard SQL</span>
-<span class="sd">        :type dialect: string in {&#39;legacy&#39;, &#39;standard&#39;}, default &#39;legacy&#39;</span>
+<span class="sd">            defaults to use `self.use_legacy_sql` if not specified</span>
+<span class="sd">        :type dialect: string in {&#39;legacy&#39;, &#39;standard&#39;}</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
-        <span class="n">project</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span>
-        <span class="n">connector</span> <span class="o">=</span> <span class="n">BigQueryPandasConnector</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">)</span>
-        <span class="n">schema</span><span class="p">,</span> <span class="n">pages</span> <span class="o">=</span> <span class="n">connector</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
-        <span class="n">dataframe_list</span> <span class="o">=</span> <span class="p">[]</span>
-
-        <span class="k">while</span> <span class="nb">len</span><span class="p">(</span><span class="n">pages</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="n">page</span> <span class="o">=</span> <span class="n">pages</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span>
-            <span class="n">dataframe_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">page</span><span class="p">))</span>
+        <span class="k">if</span> <span class="n">dialect</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">dialect</span> <span class="o">=</span> <span class="s1">&#39;legacy&#39;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="k">else</span> <span class="s1">&#39;standard&#39;</span>
 
-        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">concat</span><span class="p">(</span><span class="n">dataframe_list</span><span class="p">,</span> <span class="n">ignore_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">gbq_parse_data</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="p">[])</span></div>
+        <span class="k">return</span> <span class="n">read_gbq</span><span class="p">(</span><span class="n">bql</span><span class="p">,</span>
+                        <span class="n">project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">),</span>
+                        <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span>
+                        <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
 
 <div class="viewcode-block" id="BigQueryHook.table_exists"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.bigquery_hook.BigQueryHook.table_exists">[docs]</a>    <span class="k">def</span> <span class="nf">table_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span cla [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Checks for the existence of a table in Google BigQuery.</span>
 
-<span class="sd">        :param project_id: The Google cloud project in which to look for the table. The connection supplied to the hook</span>
-<span class="sd">        must provide access to the specified project.</span>
+<span class="sd">        :param project_id: The Google cloud project in which to look for the</span>
+<span class="sd">            table. The connection supplied to the hook must provide access to</span>
+<span class="sd">            the specified project.</span>
 <span class="sd">        :type project_id: string</span>
-<span class="sd">        :param dataset_id: The name of the dataset in which to look for the table.</span>
-<span class="sd">            storage bucket.</span>
+<span class="sd">        :param dataset_id: The name of the dataset in which to look for the</span>
+<span class="sd">            table.</span>
 <span class="sd">        :type dataset_id: string</span>
 <span class="sd">        :param table_id: The name of the table to check the existence of.</span>
 <span class="sd">        :type table_id: string</span>
@@ -288,10 +296,8 @@
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">()</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span>
-            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
             <span class="k">return</span> <span class="kc">True</span>
         <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
@@ -307,7 +313,14 @@
 <span class="sd">    without forcing a three legged OAuth connection. Instead, we can inject</span>
 <span class="sd">    service account credentials into the binding.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">reauth</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">dialect< [...]
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">project_id</span><span class="p">,</span>
+                 <span class="n">service</span><span class="p">,</span>
+                 <span class="n">reauth</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">dialect</span><span class="o">=</span><span class="s1">&#39;legacy&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryPandasConnector</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">project_id</span><span class="p">)</span>
         <span class="n">gbq_check_google_client_version</span><span class="p">()</span>
         <span class="n">gbq_test_google_api_imports</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
@@ -351,19 +364,280 @@
 <span class="sd">    BigQuery. The methods can be used directly by operators, in cases where a</span>
 <span class="sd">    PEP 249 cursor isn&#39;t needed.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">service</span> <span class="o">=</span> <span class="n">service</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="n">use_legacy_sql</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="k">def</span> <span class="nf">create_empty_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                           <span class="n">project_id</span><span class="p">,</span>
+                           <span class="n">dataset_id</span><span class="p">,</span>
+                           <span class="n">table_id</span><span class="p">,</span>
+                           <span class="n">schema_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                           <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{}</span>
+                           <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new, empty table in the dataset.</span>
+
+<span class="sd">        :param project_id: The project to create the table into.</span>
+<span class="sd">        :type project_id: str</span>
+<span class="sd">        :param dataset_id: The dataset to create the table into.</span>
+<span class="sd">        :type dataset_id: str</span>
+<span class="sd">        :param table_id: The Name of the table to be created.</span>
+<span class="sd">        :type table_id: str</span>
+<span class="sd">        :param schema_fields: If set, the schema field list as defined here:</span>
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schema</span>
+
+<span class="sd">        **Example**: ::</span>
+
+<span class="sd">            schema_fields=[{&quot;name&quot;: &quot;emp_name&quot;, &quot;type&quot;: &quot;STRING&quot;, &quot;mode&quot;: &quot;REQUIRED&quot;},</span>
+<span class="sd">                           {&quot;name&quot;: &quot;salary&quot;, &quot;type&quot;: &quot;INTEGER&quot;, &quot;mode&quot;: &quot;NULLABLE&quot;}]</span>
+
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and expiration as per API specifications.</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#timePartitioning</span>
+<span class="sd">        :type time_partitioning: dict</span>
+
+<span class="sd">        :return:</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+
+        <span class="n">table_resource</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;tableReference&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">table_id</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span><span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">time_partitioning</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table created successfully: </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                          <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">create_external_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                              <span class="n">external_project_dataset_table</span><span class="p">,</span>
+                              <span class="n">schema_fields</span><span class="p">,</span>
+                              <span class="n">source_uris</span><span class="p">,</span>
+                              <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+                              <span class="n">autodetect</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+                              <span class="n">ignore_unknown_values</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                              <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
+                              <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+                              <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                              <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                              <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{}</span>
+                              <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new external table in the dataset with the data in Google</span>
+<span class="sd">        Cloud Storage. See here:</span>
+
+<span class="sd">        https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</span>
+
+<span class="sd">        for more details about these parameters.</span>
+
+<span class="sd">        :param external_project_dataset_table:</span>
+<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;) BigQuery</span>
+<span class="sd">            table name to create external table.</span>
+<span class="sd">            If &lt;project&gt; is not included, project will be the</span>
+<span class="sd">            project defined in the connection json.</span>
+<span class="sd">        :type external_project_dataset_table: string</span>
+<span class="sd">        :param schema_fields: The schema field list as defined here:</span>
+<span class="sd">            https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource</span>
+<span class="sd">        :type schema_fields: list</span>
+<span class="sd">        :param source_uris: The source Google Cloud</span>
+<span class="sd">            Storage URI (e.g. gs://some-bucket/some-file.txt). A single wild</span>
+<span class="sd">            per-object name can be used.</span>
+<span class="sd">        :type source_uris: list</span>
+<span class="sd">        :param source_format: File format to export.</span>
+<span class="sd">        :type source_format: string</span>
+<span class="sd">        :param autodetect: Try to detect schema and format options automatically.</span>
+<span class="sd">            Any option specified explicitly will be honored.</span>
+<span class="sd">        :type autodetect: bool</span>
+<span class="sd">        :param compression: [Optional] The compression type of the data source.</span>
+<span class="sd">            Possible values include GZIP and NONE.</span>
+<span class="sd">            The default value is NONE.</span>
+<span class="sd">            This setting is ignored for Google Cloud Bigtable,</span>
+<span class="sd">                Google Cloud Datastore backups and Avro formats.</span>
+<span class="sd">        :type compression: string</span>
+<span class="sd">        :param ignore_unknown_values: [Optional] Indicates if BigQuery should allow</span>
+<span class="sd">            extra values that are not represented in the table schema.</span>
+<span class="sd">            If true, the extra values are ignored. If false, records with extra columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an</span>
+<span class="sd">            invalid error is returned in the job result.</span>
+<span class="sd">        :type ignore_unknown_values: bool</span>
+<span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
+<span class="sd">            ignore when running the job.</span>
+<span class="sd">        :type max_bad_records: int</span>
+<span class="sd">        :param skip_leading_rows: Number of rows to skip when loading from a CSV.</span>
+<span class="sd">        :type skip_leading_rows: int</span>
+<span class="sd">        :param field_delimiter: The delimiter to use when loading from a CSV.</span>
+<span class="sd">        :type field_delimiter: string</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV</span>
+<span class="sd">            file.</span>
+<span class="sd">        :type quote_character: string</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not</span>
+<span class="sd">            (false).</span>
+<span class="sd">        :type allow_quoted_newlines: boolean</span>
+<span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing</span>
+<span class="sd">            trailing columns are treated as bad records, and if there are too many bad</span>
+<span class="sd">            records, an invalid error is returned in the job result. Only applicable when</span>
+<span class="sd">            soure_format is CSV.</span>
+<span class="sd">        :type allow_jagged_rows: bool</span>
+<span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
+<span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">external_table_id</span> <span class="o">=</span> \
+            <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">external_project_dataset_table</span><span class="p">,</span>
+                             <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                             <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;external_project_dataset_table&#39;</span><span class="p">)</span>
+
+        <span class="c1"># bigquery only allows certain source formats</span>
+        <span class="c1"># we check to make sure the passed source format is valid</span>
+        <span class="c1"># if it&#39;s not, we raise a ValueError</span>
+        <span class="c1"># Refer to this link for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#externalDataConfiguration.sourceFormat</span>
+
+        <span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">,</span> <span class="s2">&quot;PARQUET&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_formats</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid source format. &quot;</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
+
+        <span class="n">compression</span> <span class="o">=</span> <span class="n">compression</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
+        <span class="n">allowed_compressions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span> <span class="s1">&#39;GZIP&#39;</span><span class="p">]</span>
+        <span class="k">if</span> <span class="n">compression</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_compressions</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid compression format. &quot;</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">compression</span><span class="p">,</span> <span class="n">allowed_compressions</span><span class="p">))</span>
+
+        <span class="n">table_resource</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;autodetect&#39;</span><span class="p">:</span> <span class="n">autodetect</span><span class="p">,</span>
+                <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
+                <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
+                <span class="s1">&#39;compression&#39;</span><span class="p">:</span> <span class="n">compression</span><span class="p">,</span>
+                <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">:</span> <span class="n">ignore_unknown_values</span>
+            <span class="p">},</span>
+            <span class="s1">&#39;tableReference&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">project_id</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">dataset_id</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">external_table_id</span><span class="p">,</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
+                <span class="s1">&#39;schema&#39;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
+                <span class="p">}</span>
+            <span class="p">})</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating external table: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">external_project_dataset_table</span><span class="p">)</span>
 
-    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">bql</span><span class="p">,</span> <span class="n">destination_dataset_table</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-            <span class="n">write_disposition</span> <span class="o">=</span> <span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
-            <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
-            <span class="n">udf_config</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
-            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-            <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
-            <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
-            <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">max_bad_records</span><span class="p">:</span>
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">][</span><span class="s1">&#39;maxBadRecords&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_bad_records</span>
+
+        <span class="c1"># if following fields are not specified in src_fmt_configs,</span>
+        <span class="c1"># honor the top-level params for backward-compatibility</span>
+        <span class="k">if</span> <span class="s1">&#39;skipLeadingRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
+        <span class="k">if</span> <span class="s1">&#39;fieldDelimiter&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
+        <span class="k">if</span> <span class="s1">&#39;quote_character&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;quote&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">quote_character</span>
+        <span class="k">if</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
+        <span class="k">if</span> <span class="s1">&#39;allowJaggedRows&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_jagged_rows</span>
+
+        <span class="n">src_fmt_to_param_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="s1">&#39;csvOptions&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;GOOGLE_SHEETS&#39;</span><span class="p">:</span> <span class="s1">&#39;googleSheetsOptions&#39;</span>
+        <span class="p">}</span>
+
+        <span class="n">src_fmt_to_configs_mapping</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;csvOptions&#39;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;quote&#39;</span>
+            <span class="p">],</span>
+            <span class="s1">&#39;googleSheetsOptions&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span>
+        <span class="p">}</span>
+
+        <span class="k">if</span> <span class="n">source_format</span> <span class="ow">in</span> <span class="n">src_fmt_to_param_mapping</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
+
+            <span class="n">valid_configs</span> <span class="o">=</span> <span class="n">src_fmt_to_configs_mapping</span><span class="p">[</span>
+                <span class="n">src_fmt_to_param_mapping</span><span class="p">[</span><span class="n">source_format</span><span class="p">]</span>
+            <span class="p">]</span>
+
+            <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="n">k</span><span class="p">:</span> <span class="n">v</span>
+                <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span>
+            <span class="p">}</span>
+
+            <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;externalDataConfiguration&#39;</span><span class="p">][</span><span class="n">src_fmt_to_param_mapping</span><span class="p">[</span>
+                <span class="n">source_format</span><span class="p">]]</span> <span class="o">=</span> <span class="n">src_fmt_configs</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;External table created successfully: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                          <span class="n">external_project_dataset_table</span><span class="p">)</span>
+
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                <span class="s1">&#39;BigQuery job failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                  <span class="n">bql</span><span class="p">,</span>
+                  <span class="n">destination_dataset_table</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">write_disposition</span><span class="o">=</span><span class="s1">&#39;WRITE_EMPTY&#39;</span><span class="p">,</span>
+                  <span class="n">allow_large_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">flatten_results</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">udf_config</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                  <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">maximum_billing_tier</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">maximum_bytes_billed</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
+                  <span class="n">query_params</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                  <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
+                  <span class="n">priority</span><span class="o">=</span><span class="s1">&#39;INTERACTIVE&#39;</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery SQL query. Optionally persists results in a BigQuery</span>
 <span class="sd">        table. See here:</span>
@@ -379,23 +653,66 @@
 <span class="sd">        :param write_disposition: What to do if the table already exists in</span>
 <span class="sd">            BigQuery.</span>
 <span class="sd">        :type write_disposition: string</span>
-<span class="sd">        :param create_disposition: Specifies whether the job is allowed to create new tables.</span>
-<span class="sd">        :type create_disposition: string</span>
 <span class="sd">        :param allow_large_results: Whether to allow large results.</span>
 <span class="sd">        :type allow_large_results: boolean</span>
+<span class="sd">        :param flatten_results: If true and query uses legacy SQL dialect, flattens</span>
+<span class="sd">            all nested and repeated fields in the query results. ``allowLargeResults``</span>
+<span class="sd">            must be true if this is set to false. For standard SQL queries, this</span>
+<span class="sd">            flag is ignored and results are never flattened.</span>
+<span class="sd">        :type flatten_results: boolean</span>
 <span class="sd">        :param udf_config: The User Defined Function configuration for the query.</span>
 <span class="sd">            See https://cloud.google.com/bigquery/user-defined-functions for details.</span>
-<span class="sd">        :type udf_config: list</span>
 <span class="sd">        :param use_legacy_sql: Whether to use legacy SQL (true) or standard SQL (false).</span>
+<span class="sd">            If `None`, defaults to `self.use_legacy_sql`.</span>
 <span class="sd">        :type use_legacy_sql: boolean</span>
-<span class="sd">        :param maximum_billing_tier: Positive integer that serves as a multiplier of the basic price.</span>
+<span class="sd">        :type udf_config: list</span>
+<span class="sd">        :param maximum_billing_tier: Positive integer that serves as a</span>
+<span class="sd">            multiplier of the basic price.</span>
 <span class="sd">        :type maximum_billing_tier: integer</span>
+<span class="sd">        :param maximum_bytes_billed: Limits the bytes billed for this job.</span>
+<span class="sd">            Queries that will have bytes billed beyond this limit will fail</span>
+<span class="sd">            (without incurring a charge). If unspecified, this will be</span>
+<span class="sd">            set to your project default.</span>
+<span class="sd">        :type maximum_bytes_billed: float</span>
+<span class="sd">        :param create_disposition: Specifies whether the job is allowed to</span>
+<span class="sd">            create new tables.</span>
+<span class="sd">        :type create_disposition: string</span>
+<span class="sd">        :param query_params a dictionary containing query parameter types and</span>
+<span class="sd">            values, passed to BigQuery</span>
+<span class="sd">        :type query_params: dict</span>
+<span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
+<span class="sd">            table to be updated as a side effect of the query job.</span>
+<span class="sd">        :type schema_update_options: tuple</span>
+<span class="sd">        :param priority: Specifies a priority for the query.</span>
+<span class="sd">            Possible values include INTERACTIVE and BATCH.</span>
+<span class="sd">            The default value is INTERACTIVE.</span>
+<span class="sd">        :type priority: string</span>
 <span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="c1"># BigQuery also allows you to define how you want a table&#39;s schema to change</span>
+        <span class="c1"># as a side effect of a query job</span>
+        <span class="c1"># for more details:</span>
+        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.schemaUpdateOptions</span>
+        <span class="n">allowed_schema_update_options</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span> <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
+        <span class="p">]</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span><span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span>
+                <span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> contains invalid schema update options. &quot;</span>
+                <span class="s2">&quot;Please only use one or more of the following options: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="n">allowed_schema_update_options</span><span class="p">))</span>
+
+        <span class="k">if</span> <span class="n">use_legacy_sql</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">use_legacy_sql</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span>
+
         <span class="n">configuration</span> <span class="o">=</span> <span class="p">{</span>
             <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="p">{</span>
                 <span class="s1">&#39;query&#39;</span><span class="p">:</span> <span class="n">bql</span><span class="p">,</span>
                 <span class="s1">&#39;useLegacySql&#39;</span><span class="p">:</span> <span class="n">use_legacy_sql</span><span class="p">,</span>
-                <span class="s1">&#39;maximumBillingTier&#39;</span><span class="p">:</span> <span class="n">maximum_billing_tier</span>
+                <span class="s1">&#39;maximumBillingTier&#39;</span><span class="p">:</span> <span class="n">maximum_billing_tier</span><span class="p">,</span>
+                <span class="s1">&#39;maximumBytesBilled&#39;</span><span class="p">:</span> <span class="n">maximum_bytes_billed</span><span class="p">,</span>
+                <span class="s1">&#39;priority&#39;</span><span class="p">:</span> <span class="n">priority</span>
             <span class="p">}</span>
         <span class="p">}</span>
 
@@ -407,9 +724,14 @@
                 <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_dataset_table</span><span class="p">,</span>
                                  <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
-                <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span> <span class="n">allow_large_results</span><span class="p">,</span>
-                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
-                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span> <span class="n">create_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;allowLargeResults&#39;</span><span class="p">:</span>
+                <span class="n">allow_large_results</span><span class="p">,</span>
+                <span class="s1">&#39;flattenResults&#39;</span><span class="p">:</span>
+                <span class="n">flatten_results</span><span class="p">,</span>
+                <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span>
+                <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;createDisposition&#39;</span><span class="p">:</span>
+                <span class="n">create_disposition</span><span class="p">,</span>
                 <span class="s1">&#39;destinationTable&#39;</span><span class="p">:</span> <span class="p">{</span>
                     <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">destination_project</span><span class="p">,</span>
                     <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">destination_dataset</span><span class="p">,</span>
@@ -419,17 +741,38 @@
         <span class="k">if</span> <span class="n">udf_config</span><span class="p">:</span>
             <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">udf_config</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span>
-                <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span> <span class="n">udf_config</span>
+                <span class="s1">&#39;userDefinedFunctionResources&#39;</span><span class="p">:</span>
+                <span class="n">udf_config</span>
             <span class="p">})</span>
 
         <span class="k">if</span> <span class="n">query_params</span><span class="p">:</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;queryParameters&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_params</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_legacy_sql</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Query paramaters are not allowed when using &quot;</span>
+                                 <span class="s2">&quot;legacy SQL&quot;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span><span class="s1">&#39;queryParameters&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_params</span>
+
+        <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;schema_update_options is only &quot;</span>
+                                 <span class="s2">&quot;allowed if write_disposition is &quot;</span>
+                                 <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Adding experimental &quot;</span>
+                    <span class="s2">&quot;&#39;schemaUpdateOptions&#39;: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">))</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">][</span>
+                    <span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">schema_update_options</span>
 
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_with_configuration</span><span class="p">(</span><span class="n">configuration</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">run_extract</span><span class="p">(</span>  <span class="c1"># noqa</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">source_project_dataset_table</span><span class="p">,</span> <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
-            <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span> <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">source_project_dataset_table</span><span class="p">,</span>
+            <span class="n">destination_cloud_storage_uris</span><span class="p">,</span>
+            <span class="n">compression</span><span class="o">=</span><span class="s1">&#39;NONE&#39;</span><span class="p">,</span>
+            <span class="n">export_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
+            <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
             <span class="n">print_header</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery extract command to copy data from BigQuery to</span>
@@ -512,10 +855,10 @@
 <span class="sd">        :param create_disposition: The create disposition if the table doesn&#39;t exist.</span>
 <span class="sd">        :type create_disposition: string</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="p">[</span><span class="n">source_project_dataset_tables</span><span class="p">]</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span>
-            <span class="k">else</span> <span class="n">source_project_dataset_tables</span><span class="p">)</span>
+        <span class="n">source_project_dataset_tables</span> <span class="o">=</span> <span class="p">([</span>
+            <span class="n">source_project_dataset_tables</span>
+        <span class="p">]</span> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_project_dataset_tables</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span> <span class="k">else</span>
+            <span class="n">source_project_dataset_tables</span><span class="p">)</span>
 
         <span class="n">source_project_dataset_tables_fixup</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">source_project_dataset_table</span> <span class="ow">in</span> <span class="n">source_project_dataset_tables</span><span class="p">:</span>
@@ -524,9 +867,12 @@
                                  <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
                                  <span class="n">var_name</span><span class="o">=</span><span class="s1">&#39;source_project_dataset_table&#39;</span><span class="p">)</span>
             <span class="n">source_project_dataset_tables_fixup</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
-                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">source_project</span><span class="p">,</span>
-                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">source_dataset</span><span class="p">,</span>
-                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">source_table</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span>
+                <span class="n">source_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span>
+                <span class="n">source_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span>
+                <span class="n">source_table</span>
             <span class="p">})</span>
 
         <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
@@ -549,7 +895,8 @@
 
     <span class="k">def</span> <span class="nf">run_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">destination_project_dataset_table</span><span class="p">,</span>
-                 <span class="n">schema_fields</span><span class="p">,</span> <span class="n">source_uris</span><span class="p">,</span>
+                 <span class="n">schema_fields</span><span class="p">,</span>
+                 <span class="n">source_uris</span><span class="p">,</span>
                  <span class="n">source_format</span><span class="o">=</span><span class="s1">&#39;CSV&#39;</span><span class="p">,</span>
                  <span class="n">create_disposition</span><span class="o">=</span><span class="s1">&#39;CREATE_IF_NEEDED&#39;</span><span class="p">,</span>
                  <span class="n">skip_leading_rows</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
@@ -557,10 +904,12 @@
                  <span class="n">field_delimiter</span><span class="o">=</span><span class="s1">&#39;,&#39;</span><span class="p">,</span>
                  <span class="n">max_bad_records</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
                  <span class="n">quote_character</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">ignore_unknown_values</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">allow_quoted_newlines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">allow_jagged_rows</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
                  <span class="n">schema_update_options</span><span class="o">=</span><span class="p">(),</span>
-                 <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{}):</span>
+                 <span class="n">src_fmt_configs</span><span class="o">=</span><span class="p">{},</span>
+                 <span class="n">time_partitioning</span><span class="o">=</span><span class="p">{}):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Executes a BigQuery load command to load data from Google Cloud Storage</span>
 <span class="sd">        to BigQuery. See here:</span>
@@ -570,9 +919,11 @@
 <span class="sd">        For more details about these parameters.</span>
 
 <span class="sd">        :param destination_project_dataset_table:</span>
-<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt; BigQuery table to load</span>
-<span class="sd">            data into. If &lt;project&gt; is not included, project will be the project defined</span>
-<span class="sd">            in the connection json.</span>
+<span class="sd">            The dotted (&lt;project&gt;.|&lt;project&gt;:)&lt;dataset&gt;.&lt;table&gt;($&lt;partition&gt;) BigQuery</span>
+<span class="sd">            table to load data into. If &lt;project&gt; is not included, project will be the</span>
+<span class="sd">            project defined in the connection json. If a partition is specified the</span>
+<span class="sd">            operator will automatically append the data, create a new partition or create</span>
+<span class="sd">            a new DAY partitioned table.</span>
 <span class="sd">        :type destination_project_dataset_table: string</span>
 <span class="sd">        :param schema_fields: The schema field list as defined here:</span>
 <span class="sd">            https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load</span>
@@ -594,20 +945,34 @@
 <span class="sd">        :param max_bad_records: The maximum number of bad records that BigQuery can</span>
 <span class="sd">            ignore when running the job.</span>
 <span class="sd">        :type max_bad_records: int</span>
-<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV file.</span>
+<span class="sd">        :param quote_character: The value that is used to quote data sections in a CSV</span>
+<span class="sd">            file.</span>
 <span class="sd">        :type quote_character: string</span>
-<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not (false).</span>
+<span class="sd">        :param ignore_unknown_values: [Optional] Indicates if BigQuery should allow</span>
+<span class="sd">            extra values that are not represented in the table schema.</span>
+<span class="sd">            If true, the extra values are ignored. If false, records with extra columns</span>
+<span class="sd">            are treated as bad records, and if there are too many bad records, an</span>
+<span class="sd">            invalid error is returned in the job result.</span>
+<span class="sd">        :type ignore_unknown_values: bool</span>
+<span class="sd">        :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not</span>
+<span class="sd">            (false).</span>
 <span class="sd">        :type allow_quoted_newlines: boolean</span>
 <span class="sd">        :param allow_jagged_rows: Accept rows that are missing trailing optional columns.</span>
-<span class="sd">            The missing values are treated as nulls. If false, records with missing trailing columns</span>
-<span class="sd">            are treated as bad records, and if there are too many bad records, an invalid error is</span>
-<span class="sd">            returned in the job result. Only applicable when soure_format is CSV.</span>
+<span class="sd">            The missing values are treated as nulls. If false, records with missing</span>
+<span class="sd">            trailing columns are treated as bad records, and if there are too many bad</span>
+<span class="sd">            records, an invalid error is returned in the job result. Only applicable when</span>
+<span class="sd">            soure_format is CSV.</span>
 <span class="sd">        :type allow_jagged_rows: bool</span>
 <span class="sd">        :param schema_update_options: Allows the schema of the desitination</span>
 <span class="sd">            table to be updated as a side effect of the load job.</span>
-<span class="sd">        :type schema_update_options: list</span>
+<span class="sd">        :type schema_update_options: tuple</span>
 <span class="sd">        :param src_fmt_configs: configure optional fields specific to the source format</span>
 <span class="sd">        :type src_fmt_configs: dict</span>
+<span class="sd">        :param time_partitioning: configure optional time partitioning fields i.e.</span>
+<span class="sd">            partition by field, type and</span>
+<span class="sd">            expiration as per API specifications. Note that &#39;field&#39; is not available in</span>
+<span class="sd">            concurrency with dataset.table$partition.</span>
+<span class="sd">        :type time_partitioning: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="c1"># bigquery only allows certain source formats</span>
@@ -616,26 +981,28 @@
         <span class="c1"># Refer to this link for more details:</span>
         <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.tableDefinitions.(key).sourceFormat</span>
         <span class="n">source_format</span> <span class="o">=</span> <span class="n">source_format</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
-        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span> <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">]</span>
+        <span class="n">allowed_formats</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s2">&quot;CSV&quot;</span><span class="p">,</span> <span class="s2">&quot;NEWLINE_DELIMITED_JSON&quot;</span><span class="p">,</span> <span class="s2">&quot;AVRO&quot;</span><span class="p">,</span> <span class="s2">&quot;GOOGLE_SHEETS&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;DATASTORE_BACKUP&quot;</span><span class="p">,</span> <span class="s2">&quot;PARQUET&quot;</span>
+        <span class="p">]</span>
         <span class="k">if</span> <span class="n">source_format</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allowed_formats</span><span class="p">:</span>
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> is not a valid source format. &quot;</span>
-                    <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
-                    <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
+                             <span class="s2">&quot;Please use one of the following types: </span><span class="si">{1}</span><span class="s2">&quot;</span>
+                             <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">source_format</span><span class="p">,</span> <span class="n">allowed_formats</span><span class="p">))</span>
 
         <span class="c1"># bigquery also allows you to define how you want a table&#39;s schema to change</span>
         <span class="c1"># as a side effect of a load</span>
         <span class="c1"># for more details:</span>
-        <span class="c1">#   https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schemaUpdateOptions</span>
+        <span class="c1"># https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.load.schemaUpdateOptions</span>
         <span class="n">allowed_schema_update_options</span> <span class="o">=</span> <span class="p">[</span>
-            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span>
-            <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
+            <span class="s1">&#39;ALLOW_FIELD_ADDITION&#39;</span><span class="p">,</span> <span class="s2">&quot;ALLOW_FIELD_RELAXATION&quot;</span>
         <span class="p">]</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span><span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">allowed_schema_update_options</span><span class="p">)</span><span class="o">.</span><span class="n">issuperset</span><span class="p">(</span>
+                <span class="nb">set</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)):</span>
             <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
                 <span class="s2">&quot;</span><span class="si">{0}</span><span class="s2"> contains invalid schema update options. &quot;</span>
                 <span class="s2">&quot;Please only use one or more of the following options: </span><span class="si">{1}</span><span class="s2">&quot;</span>
-                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="n">allowed_schema_update_options</span><span class="p">)</span>
-            <span class="p">)</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">,</span> <span class="n">allowed_schema_update_options</span><span class="p">))</span>
 
         <span class="n">destination_project</span><span class="p">,</span> <span class="n">destination_dataset</span><span class="p">,</span> <span class="n">destination_table</span> <span class="o">=</span> \
             <span class="n">_split_tablename</span><span class="p">(</span><span class="n">table_input</span><span class="o">=</span><span class="n">destination_project_dataset_table</span><span class="p">,</span>
@@ -653,26 +1020,40 @@
                 <span class="s1">&#39;sourceFormat&#39;</span><span class="p">:</span> <span class="n">source_format</span><span class="p">,</span>
                 <span class="s1">&#39;sourceUris&#39;</span><span class="p">:</span> <span class="n">source_uris</span><span class="p">,</span>
                 <span class="s1">&#39;writeDisposition&#39;</span><span class="p">:</span> <span class="n">write_disposition</span><span class="p">,</span>
+                <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">:</span> <span class="n">ignore_unknown_values</span>
             <span class="p">}</span>
         <span class="p">}</span>
+
+        <span class="c1"># if it is a partitioned table ($ is in the table name) add partition load option</span>
+        <span class="k">if</span> <span class="s1">&#39;$&#39;</span> <span class="ow">in</span> <span class="n">destination_project_dataset_table</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">time_partitioning</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;field&#39;</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s2">&quot;Cannot specify field partition and partition name &quot;</span>
+                    <span class="s2">&quot;(dataset.table$partition) at the same time&quot;</span>
+                <span class="p">)</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="s1">&#39;DAY&#39;</span><span class="p">)</span>
+
+        <span class="c1"># can specify custom time partitioning options based on a field, or adding</span>
+        <span class="c1"># expiration</span>
+        <span class="k">if</span> <span class="n">time_partitioning</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">configuration</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;load&#39;</span><span class="p">,</span> <span class="p">{})</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">):</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;timePartitioning&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">time_partitioning</span><span class="p">)</span>
+
         <span class="k">if</span> <span class="n">schema_fields</span><span class="p">:</span>
-            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
-                <span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span>
-            <span class="p">}</span>
+            <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fields&#39;</span><span class="p">:</span> <span class="n">schema_fields</span><span class="p">}</span>
 
         <span class="k">if</span> <span class="n">schema_update_options</span><span class="p">:</span>
             <span class="k">if</span> <span class="n">write_disposition</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;WRITE_APPEND&quot;</span><span class="p">,</span> <span class="s2">&quot;WRITE_TRUNCATE&quot;</span><span class="p">]:</span>
-                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
-                    <span class="s2">&quot;schema_update_options is only &quot;</span>
-                    <span class="s2">&quot;allowed if write_disposition is &quot;</span>
-                    <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span>
-                <span class="p">)</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;schema_update_options is only &quot;</span>
+                                 <span class="s2">&quot;allowed if write_disposition is &quot;</span>
+                                 <span class="s2">&quot;&#39;WRITE_APPEND&#39; or &#39;WRITE_TRUNCATE&#39;.&quot;</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                     <span class="s2">&quot;Adding experimental &quot;</span>
-                    <span class="s2">&quot;&#39;schemaUpdateOptions&#39;: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">)</span>
-                <span class="p">)</span>
-                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">schema_update_options</span>
+                    <span class="s2">&quot;&#39;schemaUpdateOptions&#39;: </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">schema_update_options</span><span class="p">))</span>
+                <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span>
+                    <span class="s1">&#39;schemaUpdateOptions&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">schema_update_options</span>
 
         <span class="k">if</span> <span class="n">max_bad_records</span><span class="p">:</span>
             <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">][</span><span class="s1">&#39;maxBadRecords&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_bad_records</span>
@@ -683,22 +1064,29 @@
             <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">skip_leading_rows</span>
         <span class="k">if</span> <span class="s1">&#39;fieldDelimiter&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
             <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">field_delimiter</span>
-        <span class="k">if</span> <span class="n">quote_character</span><span class="p">:</span>
+        <span class="k">if</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="p">:</span>
+            <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ignore_unknown_values</span>
+        <span class="k">if</span> <span class="n">quote_character</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;quote&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">quote_character</span>
         <span class="k">if</span> <span class="n">allow_quoted_newlines</span><span class="p">:</span>
             <span class="n">src_fmt_configs</span><span class="p">[</span><span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">allow_quoted_newlines</span>
 
         <span class="n">src_fmt_to_configs_mapping</span> <span class="o">=</span> <span class="p">{</span>
-            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span> <span class="s1">&#39;autodetect&#39;</span><span class="p">,</span>
-                    <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">,</span>
-                    <span class="s1">&#39;nullMarker&#39;</span><span class="p">,</span> <span class="s1">&#39;quote&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;CSV&#39;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="s1">&#39;allowJaggedRows&#39;</span><span class="p">,</span> <span class="s1">&#39;allowQuotedNewlines&#39;</span><span class="p">,</span> <span class="s1">&#39;autodetect&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;fieldDelimiter&#39;</span><span class="p">,</span> <span class="s1">&#39;skipLeadingRows&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;nullMarker&#39;</span><span class="p">,</span> <span class="s1">&#39;quote&#39;</span>
+            <span class="p">],</span>
             <span class="s1">&#39;DATASTORE_BACKUP&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;projectionFields&#39;</span><span class="p">],</span>
             <span class="s1">&#39;NEWLINE_DELIMITED_JSON&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;autodetect&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">],</span>
+            <span class="s1">&#39;PARQUET&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;autodetect&#39;</span><span class="p">,</span> <span class="s1">&#39;ignoreUnknownValues&#39;</span><span class="p">],</span>
             <span class="s1">&#39;AVRO&#39;</span><span class="p">:</span> <span class="p">[],</span>
         <span class="p">}</span>
         <span class="n">valid_configs</span> <span class="o">=</span> <span class="n">src_fmt_to_configs_mapping</span><span class="p">[</span><span class="n">source_format</span><span class="p">]</span>
-        <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">v</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
-                           <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span><span class="p">}</span>
+        <span class="n">src_fmt_configs</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="n">k</span><span class="p">:</span> <span class="n">v</span>
+            <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">src_fmt_configs</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">valid_configs</span>
+        <span class="p">}</span>
         <span class="n">configuration</span><span class="p">[</span><span class="s1">&#39;load&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">src_fmt_configs</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">allow_jagged_rows</span><span class="p">:</span>
@@ -720,43 +1108,99 @@
 <span class="sd">            details.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
-        <span class="n">job_data</span> <span class="o">=</span> <span class="p">{</span>
-            <span class="s1">&#39;configuration&#39;</span><span class="p">:</span> <span class="n">configuration</span>
-        <span class="p">}</span>
+        <span class="n">job_data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;configuration&#39;</span><span class="p">:</span> <span class="n">configuration</span><span class="p">}</span>
 
         <span class="c1"># Send query and wait for reply.</span>
         <span class="n">query_reply</span> <span class="o">=</span> <span class="n">jobs</span> \
             <span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">job_data</span><span class="p">)</span> \
             <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="n">job_id</span> <span class="o">=</span> <span class="n">query_reply</span><span class="p">[</span><span class="s1">&#39;jobReference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="o">=</span> <span class="n">query_reply</span><span class="p">[</span><span class="s1">&#39;jobReference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
 
         <span class="c1"># Wait for query to finish.</span>
         <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">True</span>
         <span class="k">while</span> <span class="p">(</span><span class="n">keep_polling_job</span><span class="p">):</span>
             <span class="k">try</span><span class="p">:</span>
-                <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</spa [...]
+                <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
                 <span class="k">if</span> <span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">):</span>
                     <span class="n">keep_polling_job</span> <span class="o">=</span> <span class="kc">False</span>
                     <span class="c1"># Check if job had errors.</span>
                     <span class="k">if</span> <span class="s1">&#39;errorResult&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
                         <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-                            <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">{}</span><span class="s1">. The job was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                                <span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">],</span> <span class="n">job</span>
-                            <span class="p">)</span>
-                        <span class="p">)</span>
+                            <span class="s1">&#39;BigQuery job failed. Final error was: </span><span class="si">{}</span><span class="s1">. The job was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span>
+                            <span class="nb">format</span><span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;errorResult&#39;</span><span class="p">],</span> <span class="n">job</span><span class="p">))</span>
                 <span class="k">else</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jo [...]
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for job to complete : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                                  <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
                     <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
 
             <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
                 <span class="k">if</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">503</span><span class="p">]:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error, waiting for job to complete: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class [...]
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                        <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error, waiting for job to complete: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                        <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
                     <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
                     <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-                        <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
+                        <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                        <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">job_id</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span>
+
+    <span class="k">def</span> <span class="nf">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_id</span><span class="p">):</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="n">jobs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">jobId</span><span class="o">=</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><s [...]
+            <span class="k">if</span> <span class="p">(</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;DONE&#39;</span><span class="p">):</span>
+                <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">HttpError</span> <span class="k">as</span> <span class="n">err</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">500</span><span class="p">,</span> <span class="mi">503</span><span class="p">]:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">: Retryable error while polling job with id </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">job_id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+                    <span class="s1">&#39;BigQuery job status check failed. Final error was: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">err</span><span class="o">.</span><span class="n">resp</span><span class="o">.</span><span class="n">status</span><span class="p">)</span>
+        <span class="k">return</span> <span class="kc">False</span>
+
+    <span class="k">def</span> <span class="nf">cancel_query</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Cancel all started queries that have not yet completed</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span> <span class="ow">and</span>
+                <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)):</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Attempting to cancel job : </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                          <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="n">jobs</span><span class="o">.</span><span class="n">cancel</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;No running BigQuery jobs to cancel.&#39;</span><span class="p">)</span>
+            <span class="k">return</span>
+
+        <span class="c1"># Wait for all the calls to cancel to finish</span>
+        <span class="n">max_polling_attempts</span> <span class="o">=</span> <span class="mi">12</span>
+        <span class="n">polling_attempts</span> <span class="o">=</span> <span class="mi">0</span>
+
+        <span class="n">job_complete</span> <span class="o">=</span> <span class="kc">False</span>
+        <span class="k">while</span> <span class="p">(</span><span class="n">polling_attempts</span> <span class="o">&lt;</span> <span class="n">max_polling_attempts</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">job_complete</span><span class="p">):</span>
+            <span class="n">polling_attempts</span> <span class="o">=</span> <span class="n">polling_attempts</span> <span class="o">+</span> <span class="mi">1</span>
+            <span class="n">job_complete</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_job_complete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">job_complete</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Job successfully canceled: </span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="p">(</span><span class="n">polling_attempts</span> <span class="o">==</span> <span class="n">max_polling_attempts</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s2">&quot;Stopping polling due to timeout. Job with id </span><span class="si">%s</span><span class="s2"> &quot;</span>
+                    <span class="s2">&quot;has not completed cancel and may or may not finish.&quot;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Waiting for canceled job with id </span><span class="si">%s</span><span class="s1"> to finish.&#39;</span><span class="p">,</span>
+                              <span class="bp">self</span><span class="o">.</span><span class="n">running_job_id</span><span class="p">)</span>
+                <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">get_schema</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -773,14 +1217,17 @@
         <span class="k">return</span> <span class="n">tables_resource</span><span class="p">[</span><span class="s1">&#39;schema&#39;</span><span class="p">]</span>
 
     <span class="k">def</span> <span class="nf">get_tabledata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">,</span>
-                      <span class="n">max_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">start_index</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+                      <span class="n">max_results</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">selected_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">page_token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">start_index</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Get the data of a given dataset.table.</span>
+<span class="sd">        Get the data of a given dataset.table and optionally with selected columns.</span>
 <span class="sd">        see https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list</span>
 
 <span class="sd">        :param dataset_id: the dataset ID of the requested table.</span>
 <span class="sd">        :param table_id: the table ID of the requested table.</span>
 <span class="sd">        :param max_results: the maximum results to return.</span>
+<span class="sd">        :param selected_fields: List of fields to return (comma-separated). If</span>
+<span class="sd">            unspecified, all fields are returned.</span>
 <span class="sd">        :param page_token: page token, returned from a previous call,</span>
 <span class="sd">            identifying the result set.</span>
 <span class="sd">        :param start_index: zero based index of the starting row to read.</span>
@@ -789,19 +1236,20 @@
         <span class="n">optional_params</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="k">if</span> <span class="n">max_results</span><span class="p">:</span>
             <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;maxResults&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_results</span>
+        <span class="k">if</span> <span class="n">selected_fields</span><span class="p">:</span>
+            <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;selectedFields&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">selected_fields</span>
         <span class="k">if</span> <span class="n">page_token</span><span class="p">:</span>
             <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;pageToken&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">page_token</span>
         <span class="k">if</span> <span class="n">start_index</span><span class="p">:</span>
             <span class="n">optional_params</span><span class="p">[</span><span class="s1">&#39;startIndex&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">start_index</span>
-        <span class="k">return</span> <span class="p">(</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tabledata</span><span class="p">()</span>
-            <span class="o">.</span><span class="n">list</span><span class="p">(</span>
-                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span> <span class="o">**</span><span class="n">optional_params</span><span class="p">)</span>
-            <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deletion_dataset_table</span><span class="p">,</span> <span class="n">ignore_if_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tabledata</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+            <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+            <span class="o">**</span><span class="n">optional_params</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">run_table_delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deletion_dataset_table</span><span class="p">,</span>
+                         <span class="n">ignore_if_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Delete an existing table from the dataset;</span>
 <span class="sd">        If the table does not exist, return an error unless ignore_if_missing</span>
@@ -825,21 +1273,19 @@
                              <span class="n">default_project_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
 
         <span class="k">try</span><span class="p">:</span>
-            <span class="n">tables_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span> \
                 <span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">deletion_project</span><span class="p">,</span>
                         <span class="n">datasetId</span><span class="o">=</span><span class="n">deletion_dataset</span><span class="p">,</span>
                         <span class="n">tableId</span><span class="o">=</span><span class="n">deletion_table</span><span class="p">)</span> \
                 <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleted table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">.&#39;</span><span class="p">,</span>
-                          <span class="n">deletion_project</span><span class="p">,</span> <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Deleted table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">.&#39;</span><span class="p">,</span> <span class="n">deletion_project</span><span class="p">,</span>
+                          <span class="n">deletion_dataset</span><span class="p">,</span> <span class="n">deletion_table</span><span class="p">)</span>
         <span class="k">except</span> <span class="n">HttpError</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">ignore_if_missing</span><span class="p">:</span>
-                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
-                    <span class="s1">&#39;Table deletion failed. Table does not exist.&#39;</span><span class="p">)</span>
+                <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Table deletion failed. Table does not exist.&#39;</span><span class="p">)</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table does not exist. Skipping.&#39;</span><span class="p">)</span>
 
-
     <span class="k">def</span> <span class="nf">run_table_upsert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_resource</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        creates a new, empty table in the dataset;</span>
@@ -859,20 +1305,19 @@
         <span class="c1"># check to see if the table exists</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">table_resource</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span>
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
-        <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                                                      <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
             <span class="k">for</span> <span class="n">table</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;tables&#39;</span><span class="p">,</span> <span class="p">[]):</span>
                 <span class="k">if</span> <span class="n">table</span><span class="p">[</span><span class="s1">&#39;tableReference&#39;</span><span class="p">][</span><span class="s1">&#39;tableId&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="n">table_id</span><span class="p">:</span>
                     <span class="c1"># found the table, do update</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                        <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
-                        <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
-                    <span class="p">)</span>
-                    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                                                        <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                                                        <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
-                                                        <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> exists, updating.&#39;</span><span class="p">,</span>
+                                  <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">update</span><span class="p">(</span>
+                        <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                        <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                        <span class="n">tableId</span><span class="o">=</span><span class="n">table_id</span><span class="p">,</span>
+                        <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
             <span class="c1"># If there is a next page, we need to check the next page.</span>
             <span class="k">if</span> <span class="s1">&#39;nextPageToken&#39;</span> <span class="ow">in</span> <span class="n">tables_list_resp</span><span class="p">:</span>
                 <span class="n">tables_list_resp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span>\
@@ -883,20 +1328,19 @@
             <span class="c1"># If there is no next page, then the table doesn&#39;t exist.</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="c1"># do insert</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                    <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
-                    <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
-                <span class="p">)</span>
-                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
-                                                    <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
-                                                    <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> does not exist. creating.&#39;</span><span class="p">,</span>
+                              <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span><span class="p">)</span>
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">tables</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                    <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                    <span class="n">datasetId</span><span class="o">=</span><span class="n">dataset_id</span><span class="p">,</span>
+                    <span class="n">body</span><span class="o">=</span><span class="n">table_resource</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">run_grant_dataset_view_access</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                                       <span class="n">source_dataset</span><span class="p">,</span>
                                       <span class="n">view_dataset</span><span class="p">,</span>
                                       <span class="n">view_table</span><span class="p">,</span>
-                                      <span class="n">source_project</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-                                      <span class="n">view_project</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
+                                      <span class="n">source_project</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                                      <span class="n">view_project</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Grant authorized view access of a dataset to a view table.</span>
 <span class="sd">        If this view has already been granted access to the dataset, do nothing.</span>
@@ -923,28 +1367,36 @@
 
         <span class="c1"># we don&#39;t want to clobber any existing accesses, so we have to get</span>
         <span class="c1"># info on the dataset before we can add view access</span>
-        <span class="n">source_dataset_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
-                                                              <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="n">access</span> <span class="o">=</span> <span class="n">source_dataset_resource</span><span class="p">[</span><span class="s1">&#39;access&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="s1">&#39;access&#39;</span> <span class="ow">in</span> <span class="n">source_dataset_resource</span> <span class="k">else</span> <span class="p">[]</span>
-        <span class="n">view_access</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;view&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">view_project</span><span class="p">,</span>
-                                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">view_dataset</span><span class="p">,</span>
-                                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">view_table</span><span class="p">}}</span>
+        <span class="n">source_dataset_resource</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span> <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">access</span> <span class="o">=</span> <span class="n">source_dataset_resource</span><span class="p">[</span>
+            <span class="s1">&#39;access&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="s1">&#39;access&#39;</span> <span class="ow">in</span> <span class="n">source_dataset_resource</span> <span class="k">else</span> <span class="p">[]</span>
+        <span class="n">view_access</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;view&#39;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s1">&#39;projectId&#39;</span><span class="p">:</span> <span class="n">view_project</span><span class="p">,</span>
+                <span class="s1">&#39;datasetId&#39;</span><span class="p">:</span> <span class="n">view_dataset</span><span class="p">,</span>
+                <span class="s1">&#39;tableId&#39;</span><span class="p">:</span> <span class="n">view_table</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
         <span class="c1"># check to see if the view we want to add already exists.</span>
         <span class="k">if</span> <span class="n">view_access</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">access</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s1">&#39;Granting table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
-                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span>
-            <span class="p">)</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span>
+                <span class="n">source_dataset</span><span class="p">)</span>
             <span class="n">access</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">view_access</span><span class="p">)</span>
-            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
-                                                 <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">,</span>
-                                                 <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;access&#39;</span><span class="p">:</span> <span class="n">access</span><span class="p">})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">datasets</span><span class="p">()</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="n">source_project</span><span class="p">,</span>
+                <span class="n">datasetId</span><span class="o">=</span><span class="n">source_dataset</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="p">{</span>
+                    <span class="s1">&#39;access&#39;</span><span class="p">:</span> <span class="n">access</span>
+                <span class="p">})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="c1"># if view is already in access, do nothing.</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s1">&#39;Table </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1"> already has authorized view access to </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1"> dataset.&#39;</span><span class="p">,</span>
-                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span> <span class="n">source_dataset</span>
-            <span class="p">)</span>
+                <span class="n">view_project</span><span class="p">,</span> <span class="n">view_dataset</span><span class="p">,</span> <span class="n">view_table</span><span class="p">,</span> <span class="n">source_project</span><span class="p">,</span>
+                <span class="n">source_dataset</span><span class="p">)</span>
             <span class="k">return</span> <span class="n">source_dataset_resource</span>
 
 
@@ -957,8 +1409,11 @@
 <span class="sd">    https://github.com/dropbox/PyHive/blob/master/pyhive/common.py</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">use_legacy_sql</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">BigQueryCursor</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span>
+            <span class="n">service</span><span class="o">=</span><span class="n">service</span><span class="p">,</span>
+            <span class="n">project_id</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">use_legacy_sql</span><span class="o">=</span><span class="n">use_legacy_sql</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">buffersize</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="kc">None</span>
@@ -988,7 +1443,8 @@
 <span class="sd">        :param parameters: Parameters to substitute into the query.</span>
 <span class="sd">        :type parameters: dict</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">bql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span> <span class="k">if</span> <span class="n">parameters</span> <span class="k">else</span> <span class="n">operation</span>
+        <span class="n">bql</span> <span class="o">=</span> <span class="n">_bind_parameters</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span>
+                               <span class="n">parameters</span><span class="p">)</span> <span class="k">if</span> <span class="n">parameters</span> <span class="k">else</span> <span class="n">operation</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">run_query</span><span class="p">(</span><span class="n">bql</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">executemany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">,</span> <span class="n">seq_of_parameters</span><span class="p">):</span>
@@ -997,9 +1453,9 @@
 
 <span class="sd">        :param operation: The query to execute.</span>
 <span class="sd">        :type operation: string</span>
-<span class="sd">        :param parameters: List of dictionary parameters to substitute into the</span>
+<span class="sd">        :param seq_of_parameters: List of dictionary parameters to substitute into the</span>
 <span class="sd">            query.</span>
-<span class="sd">        :type parameters: list</span>
+<span class="sd">        :type seq_of_parameters: list</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">for</span> <span class="n">parameters</span> <span class="ow">in</span> <span class="n">seq_of_parameters</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">operation</span><span class="p">,</span> <span class="n">parameters</span><span class="p">)</span>
@@ -1021,14 +1477,10 @@
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">all_pages_loaded</span><span class="p">:</span>
                 <span class="k">return</span> <span class="kc">None</span>
 
-            <span class="n">query_results</span> <span class="o">=</span> <span class="p">(</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span>
-                <span class="o">.</span><span class="n">getQueryResults</span><span class="p">(</span>
-                    <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
-                    <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span>
-                    <span class="n">pageToken</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">)</span>
-                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-            <span class="p">)</span>
+            <span class="n">query_results</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">getQueryResults</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span>
+                <span class="n">pageToken</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">page_token</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">())</span>
 
             <span class="k">if</span> <span class="s1">&#39;rows&#39;</span> <span class="ow">in</span> <span class="n">query_results</span> <span class="ow">and</span> <span class="n">query_results</span><span class="p">[</span><span class="s1">&#39;rows&#39;</span><span class="p">]:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">page_token</span> <span class="o">=</span> <span class="n">query_results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;pageToken&#39;</span><span class="p">)</span>
@@ -1057,13 +1509,14 @@
 
     <span class="k">def</span> <span class="nf">fetchmany</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Fetch the next set of rows of a query result, returning a sequence of sequences (e.g. a</span>
-<span class="sd">        list of tuples). An empty sequence is returned when no more rows are available.</span>
-<span class="sd">        The number of rows to fetch per call is specified by the parameter. If it is not given, the</span>
-<span class="sd">        cursor&#39;s arraysize determines the number of rows to be fetched. The method should try to</span>
-<span class="sd">        fetch as many rows as indicated by the size parameter. If this is not possible due to the</span>
-<span class="sd">        specified number of rows not being available, fewer rows may be returned.</span>
-<span class="sd">        An :py:class:`~pyhive.exc.Error` (or subclass) exception is raised if the previous call to</span>
+<span class="sd">        Fetch the next set of rows of a query result, returning a sequence of sequences</span>
+<span class="sd">        (e.g. a list of tuples). An empty sequence is returned when no more rows are</span>
+<span class="sd">        available. The number of rows to fetch per call is specified by the parameter.</span>
+<span class="sd">        If it is not given, the cursor&#39;s arraysize determines the number of rows to be</span>
+<span class="sd">        fetched. The method should try to fetch as many rows as indicated by the size</span>
+<span class="sd">        parameter. If this is not possible due to the specified number of rows not being</span>
+<span class="sd">        available, fewer rows may be returned. An :py:class:`~pyhive.exc.Error`</span>
+<span class="sd">        (or subclass) exception is raised if the previous call to</span>
 <span class="sd">        :py:meth:`execute` did not produce any result set or no call was issued yet.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">size</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
@@ -1079,8 +1532,8 @@
 
     <span class="k">def</span> <span class="nf">fetchall</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Fetch all (remaining) rows of a query result, returning them as a sequence of sequences</span>
-<span class="sd">        (e.g. a list of tuples).</span>
+<span class="sd">        Fetch all (remaining) rows of a query result, returning them as a sequence of</span>
+<span class="sd">        sequences (e.g. a list of tuples).</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
@@ -1163,10 +1616,9 @@
             <span class="k">return</span> <span class="s2">&quot;Format exception for </span><span class="si">{var}</span><span class="s2">: &quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">)</span>
 
     <span class="k">if</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="n">table_input</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
-            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Use either : or . to specify project &#39;</span>
-            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Use either : or . to specify project &#39;</span>
+                         <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                             <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
 
     <span class="n">cmpt</span> <span class="o">=</span> <span class="n">table_input</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
     <span class="n">project_id</span> <span class="o">=</span> <span class="kc">None</span>
@@ -1179,16 +1631,14 @@
             <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
             <span class="n">rest</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
     <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
-            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
-            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+                         <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                             <span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
 
     <span class="n">cmpt</span> <span class="o">=</span> <span class="n">rest</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cmpt</span><span class="p">)</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
-        <span class="k">assert</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">,</span> <span class="p">(</span>
-            <span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">))</span>
+        <span class="k">assert</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">,</span> <span class="p">(</span><span class="s2">&quot;</span><span class="si">{var}</span><span class="s2">Use either : or . to specify project&quot;</span>
+                                    <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">))</span>
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
         <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
@@ -1197,19 +1647,18 @@
         <span class="n">dataset_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
         <span class="n">table_id</span> <span class="o">=</span> <span class="n">cmpt</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
     <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">((</span>
-            <span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project.|&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
-            <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
+            <span class="p">(</span><span class="s1">&#39;</span><span class="si">{var}</span><span class="s1">Expect format of (&lt;project.|&lt;project:)&lt;dataset&gt;.&lt;table&gt;, &#39;</span>
+             <span class="s1">&#39;got </span><span class="si">{input}</span><span class="s1">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">var</span><span class="o">=</span><span class="n">var_print</span><span class="p">(</span><span class="n">var_name</span><span class="p">),</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">))</span>
 
     <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
         <span class="k">if</span> <span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
-            <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s1">&#39;Project not included in </span><span class="si">{var}</span><span class="s1">: </span><span class="si">{input}</span><span class="s1">; using project &quot;</span><span class="si">{project}</span><span class="s1">&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                    <span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span> <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">,</span> <span class="n">project</span><span class="o">=</span><span class="n">default_project_id</span>
-                <span class="p">)</span>
-            <span class="p">)</span>
+            <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Project not included in </span><span class="si">{var}</span><span class="s1">: </span><span class="si">{input}</span><span class="s1">; &#39;</span>
+                     <span class="s1">&#39;using project &quot;</span><span class="si">{project}</span><span class="s1">&quot;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                         <span class="n">var</span><span class="o">=</span><span class="n">var_name</span><span class="p">,</span>
+                         <span class="nb">input</span><span class="o">=</span><span class="n">table_input</span><span class="p">,</span>
+                         <span class="n">project</span><span class="o">=</span><span class="n">default_project_id</span><span class="p">))</span>
         <span class="n">project_id</span> <span class="o">=</span> <span class="n">default_project_id</span>
 
     <span class="k">return</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">dataset_id</span><span class="p">,</span> <span class="n">table_id</span>
diff --git a/_modules/airflow/contrib/hooks/databricks_hook.html b/_modules/airflow/contrib/hooks/databricks_hook.html
new file mode 100644
index 0000000..00ae02f
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -0,0 +1,462 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.databricks_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.databricks_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.databricks_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">requests</span>
+
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">__version__</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">requests</span> <span class="k">import</span> <span class="n">exceptions</span> <span class="k">as</span> <span class="n">requests_exceptions</span>
+<span class="kn">from</span> <span class="nn">requests.auth</span> <span class="k">import</span> <span class="n">AuthBase</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="kn">from</span> <span class="nn">urllib</span> <span class="k">import</span> <span class="n">parse</span> <span class="k">as</span> <span class="n">urlparse</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">urlparse</span>
+
+
+<span class="n">SUBMIT_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/submit&#39;</span><span class="p">)</span>
+<span class="n">GET_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;GET&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/get&#39;</span><span class="p">)</span>
+<span class="n">CANCEL_RUN_ENDPOINT</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span> <span class="s1">&#39;api/2.0/jobs/runs/cancel&#39;</span><span class="p">)</span>
+<span class="n">USER_AGENT_HEADER</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;user-agent&#39;</span><span class="p">:</span> <span class="s1">&#39;airflow-</span><span class="si">{v}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">v</span><span class="o">=</span><span class="n">__version__</span><span class="p">)}</span>
+
+
+<div class="viewcode-block" id="DatabricksHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook">[docs]</a><span class="k">class</span> <span class="nc">DatabricksHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Databricks.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">databricks_conn_id</span><span class="o">=</span><span class="s1">&#39;databricks_default&#39;</span><span class="p">,</span>
+            <span class="n">timeout_seconds</span><span class="o">=</span><span class="mi">180</span><span class="p">,</span>
+            <span class="n">retry_limit</span><span class="o">=</span><span class="mi">3</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param databricks_conn_id: The name of the databricks connection to use.</span>
+<span class="sd">        :type databricks_conn_id: string</span>
+<span class="sd">        :param timeout_seconds: The amount of time in seconds the requests library</span>
+<span class="sd">            will wait before timing-out.</span>
+<span class="sd">        :type timeout_seconds: int</span>
+<span class="sd">        :param retry_limit: The number of times to retry the connection in case of</span>
+<span class="sd">            service outages.</span>
+<span class="sd">        :type retry_limit: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn_id</span> <span class="o">=</span> <span class="n">databricks_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">databricks_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span> <span class="o">=</span> <span class="n">timeout_seconds</span>
+        <span class="k">assert</span> <span class="n">retry_limit</span> <span class="o">&gt;=</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;Retry limit must be greater than equal to 1&#39;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span> <span class="o">=</span> <span class="n">retry_limit</span>
+
+    <span class="k">def</span> <span class="nf">_parse_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        The purpose of this function is to be robust to improper connections</span>
+<span class="sd">        settings provided by users, specifically in the host field.</span>
+
+
+<span class="sd">        For example -- when users supply ``https://xx.cloud.databricks.com`` as the</span>
+<span class="sd">        host, we must strip out the protocol to get the host.</span>
+<span class="sd">        &gt;&gt;&gt; h = DatabricksHook()</span>
+<span class="sd">        &gt;&gt;&gt; assert h._parse_host(&#39;https://xx.cloud.databricks.com&#39;) == \</span>
+<span class="sd">            &#39;xx.cloud.databricks.com&#39;</span>
+
+<span class="sd">        In the case where users supply the correct ``xx.cloud.databricks.com`` as the</span>
+<span class="sd">        host, this function is a no-op.</span>
+<span class="sd">        &gt;&gt;&gt; assert h._parse_host(&#39;xx.cloud.databricks.com&#39;) == &#39;xx.cloud.databricks.com&#39;</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">urlparse_host</span> <span class="o">=</span> <span class="n">urlparse</span><span class="o">.</span><span class="n">urlparse</span><span class="p">(</span><span class="n">host</span><span class="p">)</span><span class="o">.</span><span class="n">hostname</span>
+        <span class="k">if</span> <span class="n">urlparse_host</span><span class="p">:</span>
+            <span class="c1"># In this case, host = https://xx.cloud.databricks.com</span>
+            <span class="k">return</span> <span class="n">urlparse_host</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="c1"># In this case, host = xx.cloud.databricks.com</span>
+            <span class="k">return</span> <span class="n">host</span>
+
+    <span class="k">def</span> <span class="nf">_do_api_call</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint_info</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Utility function to perform an API call with retries</span>
+<span class="sd">        :param endpoint_info: Tuple of method and endpoint</span>
+<span class="sd">        :type endpoint_info: (string, string)</span>
+<span class="sd">        :param json: Parameters for this API call.</span>
+<span class="sd">        :type json: dict</span>
+<span class="sd">        :return: If the api call returns a OK status code,</span>
+<span class="sd">            this function returns the response in JSON. Otherwise,</span>
+<span class="sd">            we throw an AirflowException.</span>
+<span class="sd">        :rtype: dict</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">method</span><span class="p">,</span> <span class="n">endpoint</span> <span class="o">=</span> <span class="n">endpoint_info</span>
+        <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://</span><span class="si">{host}</span><span class="s1">/</span><span class="si">{endpoint}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_parse_host</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">host</span><span class="p">),</span>
+            <span class="n">endpoint</span><span class="o">=</span><span class="n">endpoint</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;token&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Using token auth.&#39;</span><span class="p">)</span>
+            <span class="n">auth</span> <span class="o">=</span> <span class="n">_TokenAuth</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;token&#39;</span><span class="p">])</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Using basic auth.&#39;</span><span class="p">)</span>
+            <span class="n">auth</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">databricks_conn</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;GET&#39;</span><span class="p">:</span>
+            <span class="n">request_func</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span>
+        <span class="k">elif</span> <span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
+            <span class="n">request_func</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unexpected HTTP Method: &#39;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
+
+        <span class="k">for</span> <span class="n">attempt_num</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="o">+</span><span class="mi">1</span><span class="p">):</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">response</span> <span class="o">=</span> <span class="n">request_func</span><span class="p">(</span>
+                    <span class="n">url</span><span class="p">,</span>
+                    <span class="n">json</span><span class="o">=</span><span class="n">json</span><span class="p">,</span>
+                    <span class="n">auth</span><span class="o">=</span><span class="n">auth</span><span class="p">,</span>
+                    <span class="n">headers</span><span class="o">=</span><span class="n">USER_AGENT_HEADER</span><span class="p">,</span>
+                    <span class="n">timeout</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">timeout_seconds</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="n">requests</span><span class="o">.</span><span class="n">codes</span><span class="o">.</span><span class="n">ok</span><span class="p">:</span>
+                    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="c1"># In this case, the user probably made a mistake.</span>
+                    <span class="c1"># Don&#39;t retry.</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Response: </span><span class="si">{0}</span><span class="s1">, Status Code: </span><span class="si">{1}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="p">))</span>
+            <span class="k">except</span> <span class="p">(</span><span class="n">requests_exceptions</span><span class="o">.</span><span class="n">ConnectionError</span><span class="p">,</span>
+                    <span class="n">requests_exceptions</span><span class="o">.</span><span class="n">Timeout</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span>
+                    <span class="s1">&#39;Attempt </span><span class="si">%s</span><span class="s1"> API Request to Databricks failed with reason: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="n">attempt_num</span><span class="p">,</span> <span class="n">e</span>
+                <span class="p">)</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;API requests to Databricks failed </span><span class="si">{}</span><span class="s1"> times. &#39;</span> <span class="o">+</span>
+                               <span class="s1">&#39;Giving up.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">retry_limit</span><span class="p">))</span>
+
+<div class="viewcode-block" id="DatabricksHook.submit_run"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.databricks_hook.DatabricksHook.submit_run">[docs]</a>    <span class="k">def</span> <span class="nf">submit_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Utility function to call the ``api/2.0/jobs/runs/submit`` endpoint.</span>
+
+<span class="sd">        :param json: The data used in the body of the request to the ``submit`` endpoint.</span>
+<span class="sd">        :type json: dict</span>
+<span class="sd">        :return: the run_id as a string</span>
+<span class="sd">        :rtype: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">SUBMIT_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;run_id&#39;</span><span class="p">]</span></div>
+
+    <span class="k">def</span> <span class="nf">get_run_page_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">GET_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;run_page_url&#39;</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">get_run_state</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">GET_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span>
+        <span class="n">state</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;state&#39;</span><span class="p">]</span>
+        <span class="n">life_cycle_state</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s1">&#39;life_cycle_state&#39;</span><span class="p">]</span>
+        <span class="c1"># result_state may not be in the state if not terminal</span>
+        <span class="n">result_state</span> <span class="o">=</span> <span class="n">state</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;result_state&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="n">state_message</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s1">&#39;state_message&#39;</span><span class="p">]</span>
+        <span class="k">return</span> <span class="n">RunState</span><span class="p">(</span><span class="n">life_cycle_state</span><span class="p">,</span> <span class="n">result_state</span><span class="p">,</span> <span class="n">state_message</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">cancel_run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">run_id</span><span class="p">):</span>
+        <span class="n">json</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;run_id&#39;</span><span class="p">:</span> <span class="n">run_id</span><span class="p">}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_do_api_call</span><span class="p">(</span><span class="n">CANCEL_RUN_ENDPOINT</span><span class="p">,</span> <span class="n">json</span><span class="p">)</span></div>
+
+
+<span class="n">RUN_LIFE_CYCLE_STATES</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="s1">&#39;PENDING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;RUNNING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;TERMINATING&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;TERMINATED&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;SKIPPED&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;INTERNAL_ERROR&#39;</span>
+<span class="p">]</span>
+
+
+<span class="k">class</span> <span class="nc">RunState</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Utility class for the run state concept of Databricks runs.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">life_cycle_state</span><span class="p">,</span> <span class="n">result_state</span><span class="p">,</span> <span class="n">state_message</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="o">=</span> <span class="n">life_cycle_state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">=</span> <span class="n">result_state</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">state_message</span> <span class="o">=</span> <span class="n">state_message</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_terminal</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">RUN_LIFE_CYCLE_STATES</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">((</span><span class="s1">&#39;Unexpected life cycle state: </span><span class="si">{}</span><span class="s1">: If the state has &#39;</span>
+                            <span class="s1">&#39;been introduced recently, please check the Databricks user &#39;</span>
+                            <span class="s1">&#39;guide for troubleshooting information&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                                <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span><span class="p">))</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;TERMINATED&#39;</span><span class="p">,</span> <span class="s1">&#39;SKIPPED&#39;</span><span class="p">,</span> <span class="s1">&#39;INTERNAL_ERROR&#39;</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">is_successful</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">==</span> <span class="s1">&#39;SUCCESS&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">life_cycle_state</span> <span class="ow">and</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">result_state</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">result_state</span> <span class="ow">and</span> \
+            <span class="bp">self</span><span class="o">.</span><span class="n">state_message</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">state_message</span>
+
+    <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_TokenAuth</span><span class="p">(</span><span class="n">AuthBase</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Helper class for requests Auth field. AuthBase requires you to implement the __call__</span>
+<span class="sd">    magic function.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">token</span> <span class="o">=</span> <span class="n">token</span>
+
+    <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">r</span><span class="p">):</span>
+        <span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">[</span><span class="s1">&#39;Authorization&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Bearer &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">token</span>
+        <span class="k">return</span> <span class="n">r</span>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/datadog_hook.html b/_modules/airflow/contrib/hooks/datadog_hook.html
new file mode 100644
index 0000000..b8c8e04
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -0,0 +1,375 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.datadog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.datadog_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.datadog_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">datadog</span> <span class="k">import</span> <span class="n">initialize</span><span class="p">,</span> <span class="n">api</span>
+
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="DatadogHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook">[docs]</a><span class="k">class</span> <span class="nc">DatadogHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Uses datadog API to send metrics of practically anything measurable,</span>
+<span class="sd">    so it&#39;s possible to track # of db records inserted/deleted, records read</span>
+<span class="sd">    from file and many other useful metrics.</span>
+
+<span class="sd">    Depends on the datadog API, which has to be deployed on the same server where</span>
+<span class="sd">    Airflow runs.</span>
+
+<span class="sd">    :param datadog_conn_id: The connection to datadog, containing metadata for api keys.</span>
+<span class="sd">    :param datadog_conn_id: string</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">datadog_conn_id</span><span class="o">=</span><span class="s1">&#39;datadog_default&#39;</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">datadog_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;api_key&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;app_key&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">source_type_name</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;source_type_name&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
+
+        <span class="c1"># If the host is populated, it will use that hostname instead.</span>
+        <span class="c1"># for all metric submissions.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;api_key must be specified in the Datadog connection details&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;app_key must be specified in the Datadog connection details&quot;</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Setting up api keys for Datadog&quot;</span><span class="p">)</span>
+        <span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;api_key&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_key</span><span class="p">,</span>
+            <span class="s1">&#39;app_key&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">app_key</span>
+        <span class="p">}</span>
+        <span class="n">initialize</span><span class="p">(</span><span class="o">**</span><span class="n">options</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">validate_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;ok&#39;</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;Datadog returned: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">&quot;Error status received from Datadog&quot;</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DatadogHook.send_metric"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.send_metric">[docs]</a>    <span class="k">def</span> <span class="nf">send_metric</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">metric_name</span><span class="p">,</span> <span class="n">datapoint</span><span class="p">,</span> <span class="n">tags</span><span class="o">=</span><s [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Sends a single datapoint metric to DataDog</span>
+
+<span class="sd">        :param metric_name: The name of the metric</span>
+<span class="sd">        :type metric_name: string</span>
+<span class="sd">        :param datapoint: A single integer or float related to the metric</span>
+<span class="sd">        :type datapoint: integer or float</span>
+<span class="sd">        :param tags: A list of tags associated with the metric</span>
+<span class="sd">        :type tags: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Metric</span><span class="o">.</span><span class="n">send</span><span class="p">(</span>
+            <span class="n">metric</span><span class="o">=</span><span class="n">metric_name</span><span class="p">,</span>
+            <span class="n">points</span><span class="o">=</span><span class="n">datapoint</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">tags</span><span class="o">=</span><span class="n">tags</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="DatadogHook.query_metric"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.query_metric">[docs]</a>    <span class="k">def</span> <span class="nf">query_metric</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                     <span class="n">query</span><span class="p">,</span>
+                     <span class="n">from_seconds_ago</span><span class="p">,</span>
+                     <span class="n">to_seconds_ago</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Queries datadog for a specific metric, potentially with some function applied to it</span>
+<span class="sd">        and returns the results.</span>
+
+<span class="sd">        :param query: The datadog query to execute (see datadog docs)</span>
+<span class="sd">        :type query: string</span>
+<span class="sd">        :param from_seconds_ago: How many seconds ago to start querying for.</span>
+<span class="sd">        :type from_seconds_ago: int</span>
+<span class="sd">        :param to_seconds_ago: Up to how many seconds ago to query for.</span>
+<span class="sd">        :type to_seconds_ago: int</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">now</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">())</span>
+
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Metric</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
+            <span class="n">start</span><span class="o">=</span><span class="n">now</span> <span class="o">-</span> <span class="n">from_seconds_ago</span><span class="p">,</span>
+            <span class="n">end</span><span class="o">=</span><span class="n">now</span> <span class="o">-</span> <span class="n">to_seconds_ago</span><span class="p">,</span>
+            <span class="n">query</span><span class="o">=</span><span class="n">query</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div>
+
+<div class="viewcode-block" id="DatadogHook.post_event"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.datadog_hook.DatadogHook.post_event">[docs]</a>    <span class="k">def</span> <span class="nf">post_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">tags</span><span class="o">=</span><span class="kc" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Posts an event to datadog (processing finished, potentially alerts, other issues)</span>
+<span class="sd">        Think about this as a means to maintain persistence of alerts, rather than alerting</span>
+<span class="sd">        itself.</span>
+
+<span class="sd">        :param title: The title of the event</span>
+<span class="sd">        :type title: string</span>
+<span class="sd">        :param text: The body of the event (more information)</span>
+<span class="sd">        :type text: string</span>
+<span class="sd">        :param tags: List of string tags to apply to the event</span>
+<span class="sd">        :type tags: list</span>
+<span class="sd">        :param alert_type: The alert type for the event, one of</span>
+<span class="sd">            [&quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;success&quot;]</span>
+<span class="sd">        :type alert_type: string</span>
+<span class="sd">        :param aggregation_key: Key that can be used to aggregate this event in a stream</span>
+<span class="sd">        :type aggregation_key: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">Event</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+            <span class="n">title</span><span class="o">=</span><span class="n">title</span><span class="p">,</span>
+            <span class="n">text</span><span class="o">=</span><span class="n">text</span><span class="p">,</span>
+            <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">tags</span><span class="o">=</span><span class="n">tags</span><span class="p">,</span>
+            <span class="n">alert_type</span><span class="o">=</span><span class="n">alert_type</span><span class="p">,</span>
+            <span class="n">aggregation_key</span><span class="o">=</span><span class="n">aggregation_key</span><span class="p">,</span>
+            <span class="n">source_type_name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">source_type_name</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">validate_response</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/datastore_hook.html b/_modules/airflow/contrib/hooks/datastore_hook.html
index 21363c3..24ae17e 100644
--- a/_modules/airflow/contrib/hooks/datastore_hook.html
+++ b/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,17 +171,22 @@
   <h1>Source code for airflow.contrib.hooks.datastore_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 <span class="c1">#</span>
 
 <span class="kn">import</span> <span class="nn">json</span>
@@ -194,7 +201,7 @@
 <span class="sd">    connection.</span>
 
 <span class="sd">    This object is not threads safe. If you want to make multiple requests</span>
-<span class="sd">    simultaniously, you will need to create a hook per thread.</span>
+<span class="sd">    simultaneously, you will need to create a hook per thread.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
@@ -235,7 +242,9 @@
 <div class="viewcode-block" id="DatastoreHook.commit"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.commit">[docs]</a>    <span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Commit a transaction, optionally creating, deleting or modifying some entities.</span>
-<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/commit</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/commit</span>
 
 <span class="sd">        :param body: the body of the commit request</span>
 <span class="sd">        :return: the response body of the commit request</span>
@@ -246,7 +255,10 @@
 <div class="viewcode-block" id="DatastoreHook.lookup"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.lookup">[docs]</a>    <span class="k">def</span> <span class="nf">lookup</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">keys</span><span class="p">,</span> <span class="n">read_consistency</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Lookup some entities by key</span>
-<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/lookup</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/lookup</span>
+
 <span class="sd">        :param keys: the keys to lookup</span>
 <span class="sd">        :param read_consistency: the read consistency to use. default, strong or eventual.</span>
 <span class="sd">                Cannot be used with a transaction.</span>
@@ -263,7 +275,10 @@
 <div class="viewcode-block" id="DatastoreHook.rollback"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.rollback">[docs]</a>    <span class="k">def</span> <span class="nf">rollback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">transaction</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Roll back a transaction</span>
-<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/rollback</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/rollback</span>
+
 <span class="sd">        :param transaction: the transaction to roll back</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span [...]
@@ -272,7 +287,10 @@
 <div class="viewcode-block" id="DatastoreHook.run_query"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.datastore_hook.DatastoreHook.run_query">[docs]</a>    <span class="k">def</span> <span class="nf">run_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Run a query for entities.</span>
-<span class="sd">        see https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery</span>
+
 <span class="sd">        :param body: the body of the query request</span>
 <span class="sd">        :return: the batch of query results.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
diff --git a/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
new file mode 100644
index 0000000..1115b8c
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -0,0 +1,375 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.discord_webhook_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.discord_webhook_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.discord_webhook_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="k">import</span> <span class="n">HttpHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+
+<div class="viewcode-block" id="DiscordWebhookHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.discord_webhook_hook.DiscordWebhookHook">[docs]</a><span class="k">class</span> <span class="nc">DiscordWebhookHook</span><span class="p">(</span><span class="n">HttpHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This hook allows you to post messages to Discord using incoming webhooks.</span>
+<span class="sd">    Takes a Discord connection ID with a default relative webhook endpoint. The</span>
+<span class="sd">    default endpoint can be overridden using the webhook_endpoint parameter</span>
+<span class="sd">    (https://discordapp.com/developers/docs/resources/webhook).</span>
+
+<span class="sd">    Each Discord webhook can be pre-configured to use a specific username and</span>
+<span class="sd">    avatar_url. You can override these defaults in this hook.</span>
+
+<span class="sd">    :param http_conn_id: Http connection ID with host as &quot;https://discord.com/api/&quot; and</span>
+<span class="sd">                         default webhook endpoint in the extra field in the form of</span>
+<span class="sd">                         {&quot;webhook_endpoint&quot;: &quot;webhooks/{webhook.id}/{webhook.token}&quot;}</span>
+<span class="sd">    :type http_conn_id: str</span>
+<span class="sd">    :param webhook_endpoint: Discord webhook endpoint in the form of</span>
+<span class="sd">                             &quot;webhooks/{webhook.id}/{webhook.token}&quot;</span>
+<span class="sd">    :type webhook_endpoint: str</span>
+<span class="sd">    :param message: The message you want to send to your Discord channel</span>
+<span class="sd">                    (max 2000 characters)</span>
+<span class="sd">    :type message: str</span>
+<span class="sd">    :param username: Override the default username of the webhook</span>
+<span class="sd">    :type username: str</span>
+<span class="sd">    :param avatar_url: Override the default avatar of the webhook</span>
+<span class="sd">    :type avatar_url: str</span>
+<span class="sd">    :param tts: Is a text-to-speech message</span>
+<span class="sd">    :type tts: bool</span>
+<span class="sd">    :param proxy: Proxy to use to make the Discord webhook call</span>
+<span class="sd">    :type proxy: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">http_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">webhook_endpoint</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">message</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                 <span class="n">username</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">avatar_url</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">tts</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">proxy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DiscordWebhookHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">webhook_endpoint</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_webhook_endpoint</span><span class="p">(</span><span class="n">http_conn_id</span><span class="p">,</span> <span class="n">webhook_endpoint</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">message</span> <span class="o">=</span> <span class="n">message</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span> <span class="o">=</span> <span class="n">avatar_url</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">tts</span> <span class="o">=</span> <span class="n">tts</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span> <span class="o">=</span> <span class="n">proxy</span>
+
+    <span class="k">def</span> <span class="nf">_get_webhook_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="p">,</span> <span class="n">webhook_endpoint</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Given a Discord http_conn_id, return the default webhook endpoint or override if a</span>
+<span class="sd">        webhook_endpoint is manually supplied.</span>
+
+<span class="sd">        :param http_conn_id: The provided connection ID</span>
+<span class="sd">        :param webhook_endpoint: The manually provided webhook endpoint</span>
+<span class="sd">        :return: Webhook endpoint (str) to use</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">webhook_endpoint</span><span class="p">:</span>
+            <span class="n">endpoint</span> <span class="o">=</span> <span class="n">webhook_endpoint</span>
+        <span class="k">elif</span> <span class="n">http_conn_id</span><span class="p">:</span>
+            <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">http_conn_id</span><span class="p">)</span>
+            <span class="n">extra</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+            <span class="n">endpoint</span> <span class="o">=</span> <span class="n">extra</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;webhook_endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Cannot get webhook endpoint: No valid Discord &#39;</span>
+                                   <span class="s1">&#39;webhook endpoint or http_conn_id supplied.&#39;</span><span class="p">)</span>
+
+        <span class="c1"># make sure endpoint matches the expected Discord webhook format</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;^webhooks/[0-9]+/[a-zA-Z0-9_-]+$&#39;</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Expected Discord webhook endpoint in the form &#39;</span>
+                                   <span class="s1">&#39;of &quot;webhooks/</span><span class="si">{webhook.id}</span><span class="s1">/</span><span class="si">{webhook.token}</span><span class="s1">&quot;.&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">endpoint</span>
+
+    <span class="k">def</span> <span class="nf">_build_discord_payload</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Construct the Discord JSON payload. All relevant parameters are combined here</span>
+<span class="sd">        to a valid Discord JSON payload.</span>
+
+<span class="sd">        :return: Discord payload (str) to send</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">payload</span> <span class="o">=</span> <span class="p">{}</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;username&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">username</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;avatar_url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">avatar_url</span>
+
+        <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;tts&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tts</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">2000</span><span class="p">:</span>
+            <span class="n">payload</span><span class="p">[</span><span class="s1">&#39;content&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Discord message length must be 2000 or fewer &#39;</span>
+                                   <span class="s1">&#39;characters.&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">payload</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DiscordWebhookHook.execute"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.discord_webhook_hook.DiscordWebhookHook.execute">[docs]</a>    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Execute the Discord webhook call</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">proxies</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span><span class="p">:</span>
+            <span class="c1"># we only need https proxy for Discord</span>
+            <span class="n">proxies</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;https&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span><span class="p">}</span>
+
+        <span class="n">discord_payload</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_discord_payload</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">endpoint</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">webhook_endpoint</span><span class="p">,</span>
+                 <span class="n">data</span><span class="o">=</span><span class="n">discord_payload</span><span class="p">,</span>
+                 <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;Content-type&#39;</span><span class="p">:</span> <span class="s1">&#39;application/json&#39;</span><span class="p">},</span>
+                 <span class="n">extra_options</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;proxies&#39;</span><span class="p">:</span> <span class="n">proxies</span><span class="p">})</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/emr_hook.html b/_modules/airflow/contrib/hooks/emr_hook.html
index cc158a2..8a5a5c7 100644
--- a/_modules/airflow/contrib/hooks/emr_hook.html
+++ b/_modules/airflow/contrib/hooks/emr_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,17 +171,22 @@
   <h1>Source code for airflow.contrib.hooks.emr_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 
 <span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
@@ -198,7 +205,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;emr&#39;</span><span class="p">)</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
 
-    <span class="k">def</span> <span class="nf">create_job_flow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_flow_overrides</span><span class="p">):</span>
+<div class="viewcode-block" id="EmrHook.create_job_flow"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.emr_hook.EmrHook.create_job_flow">[docs]</a>    <span class="k">def</span> <span class="nf">create_job_flow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">job_flow_overrides</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a job flow using the config from the EMR connection.</span>
 <span class="sd">        Keys of the json extra hash may have the arguments of the boto3 run_job_flow method.</span>
@@ -228,7 +235,7 @@
             <span class="n">Tags</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;Tags&#39;</span><span class="p">)</span>
         <span class="p">)</span>
 
-        <span class="k">return</span> <span class="n">response</span></div>
+        <span class="k">return</span> <span class="n">response</span></div></div>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/contrib/hooks/fs_hook.html b/_modules/airflow/contrib/hooks/fs_hook.html
new file mode 100644
index 0000000..984dd40
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/fs_hook.html
@@ -0,0 +1,281 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.fs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.fs_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.fs_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<div class="viewcode-block" id="FSHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.fs_hook.FSHook">[docs]</a><span class="k">class</span> <span class="nc">FSHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;</span>
+<span class="sd">    Allows for interaction with an file server.</span>
+
+<span class="sd">    Connection should have a name and a path specified under extra:</span>
+
+<span class="sd">    example:</span>
+<span class="sd">    Conn Id: fs_test</span>
+<span class="sd">    Conn Type: File (path)</span>
+<span class="sd">    Host, Shchema, Login, Password, Port: empty</span>
+<span class="sd">    Extra: {&quot;path&quot;: &quot;/tmp&quot;}</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="s1">&#39;fs_default&#39;</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">basepath</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;path&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">conn</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">pass</span>
+
+    <span class="k">def</span> <span class="nf">get_path</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">basepath</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/ftp_hook.html b/_modules/airflow/contrib/hooks/ftp_hook.html
similarity index 75%
rename from _modules/ftp_hook.html
rename to _modules/airflow/contrib/hooks/ftp_hook.html
index b8225ed..07b434f 100644
--- a/_modules/ftp_hook.html
+++ b/_modules/airflow/contrib/hooks/ftp_hook.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>ftp_hook &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.ftp_hook &mdash; Airflow Documentation</title>
   
 
   
@@ -26,20 +26,20 @@
 
   
   
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
   
 
   
 
   
         <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="Airflow Documentation" href="../index.html"/>
-        <link rel="up" title="Module code" href="index.html"/> 
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
-  <script src="../_static/js/modernizr.min.js"></script>
+  <script src="../../../../_static/js/modernizr.min.js"></script>
 
 </head>
 
@@ -55,7 +55,7 @@
           
 
           
-            <a href="../index.html" class="icon icon-home"> Airflow
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
           
 
           
@@ -68,7 +68,7 @@
 
           
 <div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
     <input type="text" name="q" placeholder="Search docs" />
     <input type="hidden" name="check_keywords" value="yes" />
     <input type="hidden" name="area" value="default" />
@@ -86,23 +86,25 @@
             
             
               <ul>
-<li class="toctree-l1"><a class="reference internal" href="../project.html">Project</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../start.html">Quick Start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../ui.html">UI / Screenshots</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../profiling.html">Data Profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cli.html">Command Line Interface</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../scheduler.html">Scheduling &amp; Triggers</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins.html">Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api.html">Experimental Rest API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../integration.html">Integration</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../code.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
 
             
@@ -117,7 +119,7 @@
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         
           <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">Airflow</a>
+          <a href="../../../../index.html">Airflow</a>
         
       </nav>
 
@@ -145,11 +147,11 @@
 
   <ul class="wy-breadcrumbs">
     
-      <li><a href="../index.html">Docs</a> &raquo;</li>
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
         
-          <li><a href="index.html">Module code</a> &raquo;</li>
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>ftp_hook</li>
+      <li>airflow.contrib.hooks.ftp_hook</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -166,20 +168,25 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for ftp_hook</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.hooks.ftp_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 <span class="c1">#</span>
 
 <span class="kn">import</span> <span class="nn">datetime</span>
@@ -224,7 +231,7 @@
         <span class="k">yield</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">entry</span><span class="p">)</span>
 
 
-<div class="viewcode-block" id="FTPHook"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook">[docs]</a><span class="k">class</span> <span class="nc">FTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook">[docs]</a><span class="k">class</span> <span class="nc">FTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Interact with FTP.</span>
 
@@ -243,7 +250,7 @@
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">close_conn</span><span class="p">()</span>
 
-<div class="viewcode-block" id="FTPHook.get_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a FTP connection object</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -253,15 +260,16 @@
 
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
 
-<div class="viewcode-block" id="FTPHook.close_conn"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.close_conn">[docs]</a>    <span class="k">def</span> <span class="nf">close_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.close_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.close_conn">[docs]</a>    <span class="k">def</span> <span class="nf">close_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Closes the connection. An error will occur if the</span>
 <span class="sd">        connection wasn&#39;t ever opened.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
-        <span class="n">conn</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span></div>
+        <span class="n">conn</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span></div>
 
-<div class="viewcode-block" id="FTPHook.describe_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.describe_directory">[docs]</a>    <span class="k">def</span> <span class="nf">describe_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.describe_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.describe_directory">[docs]</a>    <span class="k">def</span> <span class="nf">describe_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a dictionary of {filename: {attributes}} for all files</span>
 <span class="sd">        on the remote system (where the MLSD command is supported).</span>
@@ -278,7 +286,7 @@
             <span class="n">files</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">mlsd</span><span class="p">(</span><span class="n">conn</span><span class="p">))</span>
         <span class="k">return</span> <span class="n">files</span></div>
 
-<div class="viewcode-block" id="FTPHook.list_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">nlst</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.list_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">nlst</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a list of files on the remote system.</span>
 
@@ -291,7 +299,7 @@
         <span class="n">files</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">nlst</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">files</span></div>
 
-<div class="viewcode-block" id="FTPHook.create_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.create_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Creates a directory on the remote system.</span>
 
@@ -301,7 +309,7 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">mkd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="FTPHook.delete_directory"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.delete_directory">[docs]</a>    <span class="k">def</span> <span class="nf">delete_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.delete_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.delete_directory">[docs]</a>    <span class="k">def</span> <span class="nf">delete_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Deletes a directory on the remote system.</span>
 
@@ -311,7 +319,7 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">rmd</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="FTPHook.retrieve_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.retrieve_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Transfers the remote file to a local location.</span>
 
@@ -323,7 +331,7 @@
 <span class="sd">        :type remote_full_path: str</span>
 <span class="sd">        :param local_full_path_or_buffer: full path to the local file or a</span>
 <span class="sd">            file-like buffer</span>
-<span class="sd">        :type local_full_path: str or file-like buffer</span>
+<span class="sd">        :type local_full_path_or_buffer: str or file-like buffer</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
 
@@ -343,7 +351,7 @@
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
             <span class="n">output_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="FTPHook.store_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.store_file">[docs]</a>    <span class="k">def</span> <span class="nf">store_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.store_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.store_file">[docs]</a>    <span class="k">def</span> <span class="nf">store_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path_or_buffer</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Transfers a local file to the remote location.</span>
 
@@ -372,7 +380,7 @@
         <span class="k">if</span> <span class="n">is_path</span><span class="p">:</span>
             <span class="n">input_handle</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
 
-<div class="viewcode-block" id="FTPHook.delete_file"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.delete_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Removes a file on the FTP Server.</span>
 
@@ -382,7 +390,7 @@
         <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
         <span class="n">conn</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="FTPHook.rename"><a class="viewcode-back" href="../code.html#airflow.contrib.hooks.FTPHook.rename">[docs]</a>    <span class="k">def</span> <span class="nf">rename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">from_name</span><span class="p">,</span> <span class="n">to_name</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPHook.rename"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPHook.rename">[docs]</a>    <span class="k">def</span> <span class="nf">rename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">from_name</span><span class="p">,</span> <span class="n">to_name</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Rename a file.</span>
 
@@ -403,9 +411,9 @@
             <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">time_val</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span></div>
 
 
-<span class="k">class</span> <span class="nc">FTPSHook</span><span class="p">(</span><span class="n">FTPHook</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPSHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPSHook">[docs]</a><span class="k">class</span> <span class="nc">FTPSHook</span><span class="p">(</span><span class="n">FTPHook</span><span class="p">):</span>
 
-    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="FTPSHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.ftp_hook.FTPSHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Returns a FTPS connection object.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -419,7 +427,7 @@
                 <span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span>
             <span class="p">)</span>
 
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div></div>
 </pre></div>
 
            </div>
@@ -454,7 +462,7 @@
 
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
+            URL_ROOT:'../../../../',
             VERSION:'',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
@@ -462,15 +470,15 @@
             SOURCELINK_SUFFIX: '.txt'
         };
     </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
 
   
 
   
   
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
   
 
   
diff --git a/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
new file mode 100644
index 0000000..c81584e
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
@@ -0,0 +1,379 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_api_base_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_api_base_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_api_base_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">json</span>
+
+<span class="kn">import</span> <span class="nn">httplib2</span>
+<span class="kn">from</span> <span class="nn">oauth2client.client</span> <span class="k">import</span> <span class="n">GoogleCredentials</span>
+<span class="kn">from</span> <span class="nn">oauth2client.service_account</span> <span class="k">import</span> <span class="n">ServiceAccountCredentials</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="GoogleCloudBaseHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudBaseHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    A base hook for Google cloud-related hooks. Google cloud has a shared REST</span>
+<span class="sd">    API client that is built in the same way no matter which service you use.</span>
+<span class="sd">    This class helps construct and authorize the credentials needed to then</span>
+<span class="sd">    call apiclient.discovery.build() to actually discover and build a client</span>
+<span class="sd">    for a Google cloud service.</span>
+
+<span class="sd">    The class also contains some miscellaneous helper functions.</span>
+
+<span class="sd">    All hook derived from this base hook use the &#39;Google Cloud Platform&#39; connection</span>
+<span class="sd">    type. Two ways of authentication are supported:</span>
+
+<span class="sd">    Default credentials: Only specify &#39;Project Id&#39;. Then you need to have executed</span>
+<span class="sd">    ``gcloud auth`` on the Airflow worker machine.</span>
+
+<span class="sd">    JSON key file: Specify &#39;Project Id&#39;, &#39;Key Path&#39; and &#39;Scope&#39;.</span>
+
+<span class="sd">    Legacy P12 key files are not supported.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param gcp_conn_id: The connection ID to use when fetching connection info.</span>
+<span class="sd">        :type gcp_conn_id: string</span>
+<span class="sd">        :param delegate_to: The account to impersonate, if any.</span>
+<span class="sd">            For this to work, the service account making the request must have</span>
+<span class="sd">            domain-wide delegation enabled.</span>
+<span class="sd">        :type delegate_to: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span> <span class="o">=</span> <span class="n">gcp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="o">=</span> <span class="n">delegate_to</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">extras</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">gcp_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">extra_dejson</span>
+
+    <span class="k">def</span> <span class="nf">_get_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the Credentials object for Google API</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">key_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;key_path&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="n">keyfile_dict</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;keyfile_dict&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+        <span class="n">scope</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;scope&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">key_path</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">keyfile_dict</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using `gcloud auth` user, &#39;</span>
+                          <span class="s1">&#39;since no key file is defined for hook.&#39;</span><span class="p">)</span>
+            <span class="n">credentials</span> <span class="o">=</span> <span class="n">GoogleCredentials</span><span class="o">.</span><span class="n">get_application_default</span><span class="p">()</span>
+        <span class="k">elif</span> <span class="n">key_path</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">scope</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Scope should be defined when using a key file.&#39;</span><span class="p">)</span>
+            <span class="n">scopes</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
+
+            <span class="c1"># Get credentials from a JSON file.</span>
+            <span class="k">if</span> <span class="n">key_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;.json&#39;</span><span class="p">):</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Getting connection using a JSON key file.&#39;</span><span class="p">)</span>
+                <span class="n">credentials</span> <span class="o">=</span> <span class="n">ServiceAccountCredentials</span> \
+                    <span class="o">.</span><span class="n">from_json_keyfile_name</span><span class="p">(</span><span class="n">key_path</span><span class="p">,</span> <span class="n">scopes</span><span class="p">)</span>
+            <span class="k">elif</span> <span class="n">key_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;.p12&#39;</span><span class="p">):</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Legacy P12 key file are not supported, &#39;</span>
+                                       <span class="s1">&#39;use a JSON key file.&#39;</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Unrecognised extension for key file.&#39;</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">scope</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Scope should be defined when using key JSON.&#39;</span><span class="p">)</span>
+            <span class="n">scopes</span> <span class="o">=</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">)]</span>
+
+            <span class="c1"># Get credentials from JSON data provided in the UI.</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">keyfile_dict</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">keyfile_dict</span><span class="p">)</span>
+
+                <span class="c1"># Depending on how the JSON was formatted, it may contain</span>
+                <span class="c1"># escaped newlines. Convert those to actual newlines.</span>
+                <span class="n">keyfile_dict</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">keyfile_dict</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
+                    <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">n&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
+
+                <span class="n">credentials</span> <span class="o">=</span> <span class="n">ServiceAccountCredentials</span> \
+                    <span class="o">.</span><span class="n">from_json_keyfile_dict</span><span class="p">(</span><span class="n">keyfile_dict</span><span class="p">,</span> <span class="n">scopes</span><span class="p">)</span>
+            <span class="k">except</span> <span class="n">json</span><span class="o">.</span><span class="n">decoder</span><span class="o">.</span><span class="n">JSONDecodeError</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Invalid key JSON.&#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">credentials</span><span class="o">.</span><span class="n">create_delegated</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span><span class="p">)</span> \
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">delegate_to</span> <span class="k">else</span> <span class="n">credentials</span>
+
+    <span class="k">def</span> <span class="nf">_get_access_token</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a valid access token from Google API Credentials</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">()</span><span class="o">.</span><span class="n">get_access_token</span><span class="p">()</span><span class="o">.</span><span class="n">access_token</span>
+
+    <span class="k">def</span> <span class="nf">_authorize</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns an authorized HTTP object to be used to build a Google cloud</span>
+<span class="sd">        service hook connection.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">credentials</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_credentials</span><span class="p">()</span>
+        <span class="n">http</span> <span class="o">=</span> <span class="n">httplib2</span><span class="o">.</span><span class="n">Http</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">credentials</span><span class="o">.</span><span class="n">authorize</span><span class="p">(</span><span class="n">http</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_get_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">f</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Fetches a field from extras, and returns it. This is some Airflow</span>
+<span class="sd">        magic. The google_cloud_platform hook type adds custom UI elements</span>
+<span class="sd">        to the hook page, which allow admins to specify service_account,</span>
+<span class="sd">        key_path, etc. They get formatted as shown below.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">long_f</span> <span class="o">=</span> <span class="s1">&#39;extra__google_cloud_platform__</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">long_f</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span><span class="p">:</span>
+            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">extras</span><span class="p">[</span><span class="n">long_f</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">default</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">project_id</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_field</span><span class="p">(</span><span class="s1">&#39;project&#39;</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
index 82e3ccd..ce6f6ff 100644
--- a/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,17 +171,23 @@
   <h1>Source code for airflow.contrib.hooks.gcp_dataflow_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
-<span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">import</span> <span class="nn">json</span>
 <span class="kn">import</span> <span class="nn">select</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">time</span>
@@ -190,18 +198,25 @@
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
 <span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
 
+<span class="c1"># This is the default location</span>
+<span class="c1"># https://cloud.google.com/dataflow/pipelines/specifying-exec-params</span>
+<span class="n">DEFAULT_DATAFLOW_LOCATION</span> <span class="o">=</span> <span class="s1">&#39;us-central1&#39;</span>
+
 
 <span class="k">class</span> <span class="nc">_DataflowJob</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">project_number</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">project_number</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">poll_sleep</span><span class="o">=</span><span class="mi">10</span><span class="p">):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span> <span class="o">=</span> <span class="n">dataflow</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span> <span class="o">=</span> <span class="n">project_number</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span> <span class="o">=</span> <span class="n">name</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_job_location</span> <span class="o">=</span> <span class="n">location</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_poll_sleep</span> <span class="o">=</span> <span class="n">poll_sleep</span>
 
     <span class="k">def</span> <span class="nf">_get_job_id_from_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
-            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span>
+        <span class="n">jobs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">locations</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">list</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span><span class="p">,</span>
+            <span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_location</span>
         <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
         <span class="k">for</span> <span class="n">job</span> <span class="ow">in</span> <span class="n">jobs</span><span class="p">[</span><span class="s1">&#39;jobs&#39;</span><span class="p">]:</span>
             <span class="k">if</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
@@ -210,28 +225,39 @@
         <span class="k">return</span> <span class="kc">None</span>
 
     <span class="k">def</span> <span class="nf">_get_job</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job_name</span><span class="p">:</span>
             <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_job_id_from_name</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span  [...]
-                                                       <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
-        <span class="k">if</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">:</span>
+            <span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataflow</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_project_number</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="n">job</span> <span class="ow">and</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="n">job</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s1">&#39;Google Cloud DataFlow job </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                 <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]</span>
             <span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
+        <span class="k">elif</span> <span class="n">job</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
                 <span class="s1">&#39;Google Cloud DataFlow with job_id </span><span class="si">%s</span><span class="s1"> has name </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">_job_id</span><span class="p">,</span> <span class="n">job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
             <span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                <span class="s1">&#39;Google Cloud DataFlow job not available yet..&#39;</span>
+            <span class="p">)</span>
+
         <span class="k">return</span> <span class="n">job</span>
 
     <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
-            <span class="k">if</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span> <span class="ow">and</span> <span class="s1">&#39;currentState&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">:</span>
                 <span class="k">if</span> <span class="s1">&#39;JOB_STATE_DONE&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
                     <span class="k">return</span> <span class="kc">True</span>
+                <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_RUNNING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]</span> <span class="ow">and</span> \
+                     <span class="s1">&#39;JOB_TYPE_STREAMING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">]:</span>
+                    <span class="k">return</span> <span class="kc">True</span>
                 <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_FAILED&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
                     <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Google Cloud Dataflow job </span><span class="si">{}</span><span class="s2"> has failed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]))</span>
@@ -239,7 +265,7 @@
                     <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Google Cloud Dataflow job </span><span class="si">{}</span><span class="s2"> was cancelled.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                         <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]))</span>
                 <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_RUNNING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
-                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
+                    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_poll_sleep</span><span class="p">)</span>
                 <span class="k">elif</span> <span class="s1">&#39;JOB_STATE_PENDING&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_job</span><span class="p">[</span><span class="s1">&#39;currentState&#39;</span><span class="p">]:</span>
                     <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span>
                 <span class="k">else</span><span class="p">:</span>
@@ -258,13 +284,21 @@
 
 <span class="k">class</span> <span class="nc">_Dataflow</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmd</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><s [...]
-                                      <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Running command: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s1">&#39; &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">cmd</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span>
+            <span class="n">cmd</span><span class="p">,</span>
+            <span class="n">shell</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+            <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
+            <span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
+            <span class="n">close_fds</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">_line</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fd</span><span class="p">):</span>
         <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
-            <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">line</span>
+            <span class="n">lines</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
+            <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+            <span class="k">if</span> <span class="n">lines</span><span class="p">:</span>
+                <span class="k">return</span> <span class="n">lines</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
         <span class="k">if</span> <span class="n">fd</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">():</span>
             <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
             <span class="k">return</span> <span class="n">line</span>
@@ -283,7 +317,8 @@
             <span class="k">if</span> <span class="n">ret</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
                 <span class="k">for</span> <span class="n">fd</span> <span class="ow">in</span> <span class="n">ret</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
                     <span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="p">(</span><span class="n">fd</span><span class="p">)</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
+                    <span class="k">if</span> <span class="n">line</span><span class="p">:</span>
+                        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
             <span class="k">else</span><span class="p">:</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Waiting for DataFlow process to complete.&quot;</span><span class="p">)</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_proc</span><span class="o">.</span><span class="n">returncode</span> <span class="ow">is</span> <span class="ow">not</span> <span class="mi">0</span><span class="p">:</span>
@@ -295,7 +330,9 @@
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
                  <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
-                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">poll_sleep</span><span class="o">=</span><span class="mi">10</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span> <span class="o">=</span> <span class="n">poll_sleep</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">DataFlowHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
 
 <div class="viewcode-block" id="DataFlowHook.get_conn"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcp_dataflow_hook.DataFlowHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -305,30 +342,95 @@
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;dataflow&#39;</span><span class="p">,</span> <span class="s1">&#39;v1b3&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
 
-    <span class="k">def</span> <span class="nf">_start_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">command_prefix</span><span class="p">):</span>
-        <span class="n">cmd</span> <span class="o">=</span> <span class="n">command_prefix</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_cmd</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">_start_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span>
+                        <span class="n">command_prefix</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">):</span>
+        <span class="n">variables</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">)</span>
+        <span class="n">cmd</span> <span class="o">=</span> <span class="n">command_prefix</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_build_cmd</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span>
+                                               <span class="n">label_formatter</span><span class="p">)</span>
         <span class="n">_Dataflow</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
-        <span class="n">_DataflowJob</span><span class="p">(</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+        <span class="n">_DataflowJob</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span>
+                     <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
 
-    <span class="k">def</span> <span class="nf">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">):</span>
-        <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Project not specified&#39;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;region&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">variables</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
+            <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">DEFAULT_DATAFLOW_LOCATION</span>
+        <span class="k">return</span> <span class="n">variables</span>
+
+    <span class="k">def</span> <span class="nf">start_java_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">job_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                            <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
         <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;jobName&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span>
-            <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;java&quot;</span><span class="p">,</span> <span class="s2">&quot;-jar&quot;</span><span class="p">])</span>
 
-    <span class="k">def</span> <span class="nf">start_python_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">py_options</span><span class="p">):</span>
-        <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
-        <span class="n">variables</span><span class="p">[</span><span class="s2">&quot;job_name&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span>
-            <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;python&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">py_options</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">_build_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">):</span>
-        <span class="n">command</span> <span class="o">=</span> <span class="p">[</span><span class="n">dataflow</span><span class="p">,</span> <span class="s2">&quot;--runner=DataflowRunner&quot;</span><span class="p">]</span>
+        <span class="k">def</span> <span class="nf">label_formatter</span><span class="p">(</span><span class="n">labels_dict</span><span class="p">):</span>
+            <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;--labels=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">labels_dict</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">))]</span>
+        <span class="n">command_prefix</span> <span class="o">=</span> <span class="p">([</span><span class="s2">&quot;java&quot;</span><span class="p">,</span> <span class="s2">&quot;-cp&quot;</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">job_class</span><span class="p">]</span> <span class="k">if</span> <span class="n">job_class</span>
+                          <span class="k">else</span> <span class="p">[</span><span class="s2">&quot;java&quot;</span><span class="p">,</span> <span class="s2">&quot;-jar&quot;</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">])</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span>
+                             <span class="n">command_prefix</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">,</span>
+                                <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_start_template_dataflow</span><span class="p">(</span>
+            <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">start_python_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">dataflow</span><span class="p">,</span> <span class="n">py_options</span><span class="p">,</span>
+                              <span class="n">append_job_name</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">append_job_name</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span>
+        <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;job_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
+
+        <span class="k">def</span> <span class="nf">label_formatter</span><span class="p">(</span><span class="n">labels_dict</span><span class="p">):</span>
+            <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;--labels=</span><span class="si">{}</span><span class="s1">=</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
+                    <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">labels_dict</span><span class="o">.</span><span class="n">items</span><span class="p">()]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_start_dataflow</span><span class="p">(</span><span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span>
+                             <span class="p">[</span><span class="s2">&quot;python&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">py_options</span> <span class="o">+</span> <span class="p">[</span><span class="n">dataflow</span><span class="p">],</span>
+                             <span class="n">label_formatter</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_build_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">label_formatter</span><span class="p">):</span>
+        <span class="n">command</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;--runner=DataflowRunner&quot;</span><span class="p">]</span>
         <span class="k">if</span> <span class="n">variables</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">for</span> <span class="n">attr</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">variables</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
-                <span class="n">command</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--&quot;</span> <span class="o">+</span> <span class="n">attr</span> <span class="o">+</span> <span class="s2">&quot;=&quot;</span> <span class="o">+</span> <span class="n">value</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">command</span></div>
+            <span class="k">for</span> <span class="n">attr</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">variables</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+                <span class="k">if</span> <span class="n">attr</span> <span class="o">==</span> <span class="s1">&#39;labels&#39;</span><span class="p">:</span>
+                    <span class="n">command</span> <span class="o">+=</span> <span class="n">label_formatter</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+                <span class="k">elif</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">value</span><span class="o">.</span><span class="fm">__len__</span><span class="p">()</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
+                    <span class="n">command</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--&quot;</span> <span class="o">+</span> <span class="n">attr</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">command</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--&quot;</span> <span class="o">+</span> <span class="n">attr</span> <span class="o">+</span> <span class="s2">&quot;=&quot;</span> <span class="o">+</span> <span class="n">value</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">command</span>
+
+    <span class="k">def</span> <span class="nf">_start_template_dataflow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">dataflow_template</span><span class="p">):</span>
+        <span class="c1"># Builds RuntimeEnvironment from variables dictionary</span>
+        <span class="c1"># https://cloud.google.com/dataflow/docs/reference/rest/v1b3/RuntimeEnvironment</span>
+        <span class="n">environment</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;maxWorkers&#39;</span><span class="p">,</span> <span class="s1">&#39;zone&#39;</span><span class="p">,</span> <span class="s1">&#39;serviceAccountEmail&#39;</span><span class="p">,</span> <span class="s1">&#39;tempLocation&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;bypassTempDirValidation&#39;</span><span class="p">,</span> <span class="s1">&#39;machineType&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">variables</span><span class="p">:</span>
+                <span class="n">environment</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">variables</span><span class="p">[</span><span class="n">key</span><span class="p">]})</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;jobName&quot;</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span>
+                <span class="s2">&quot;parameters&quot;</span><span class="p">:</span> <span class="n">parameters</span><span class="p">,</span>
+                <span class="s2">&quot;environment&quot;</span><span class="p">:</span> <span class="n">environment</span><span class="p">}</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">templates</span><span class="p">()</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span><span class="n">projectId</span><span class="o">=</span><span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span c [...]
+                                                        <span class="n">gcsPath</span><span class="o">=</span><span class="n">dataflow_template</span><span class="p">,</span>
+                                                        <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="n">variables</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_set_variables</span><span class="p">(</span><span class="n">variables</span><span class="p">)</span>
+        <span class="n">_DataflowJob</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;project&#39;</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span> <span class="n">variables</span><span class="p">[</span><span class="s1">&#39;region&#39;</span><span class="p">],</span>
+                     <span class="bp">self</span><span class="o">.</span><span class="n">poll_sleep</span><span class="p">)</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">response</span></div>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
new file mode 100644
index 0000000..4ca7edd
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
@@ -0,0 +1,463 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_dataproc_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_dataproc_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_dataproc_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">uuid</span>
+
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<span class="k">class</span> <span class="nc">_DataProcJob</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataproc_api</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">region</span><span class="o">=</span><span class="s1">&#39;global&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_api</span> <span class="o">=</span> <span class="n">dataproc_api</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">region</span> <span class="o">=</span> <span class="n">region</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span> <span class="o">=</span> <span class="n">dataproc_api</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">region</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">,</span>
+            <span class="n">body</span><span class="o">=</span><span class="n">job</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;reference&#39;</span><span class="p">][</span><span class="s1">&#39;jobId&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;DataProc job </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">])</span>
+        <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_api</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">jobs</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><spa [...]
+                <span class="n">projectId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">region</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">region</span><span class="p">,</span>
+                <span class="n">jobId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
+            <span class="k">if</span> <span class="s1">&#39;ERROR&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]:</span>
+                <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">&#39;DataProc job </span><span class="si">%s</span><span class="s1"> has errors&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;details&#39;</span><span class="p">])</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">))</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">if</span> <span class="s1">&#39;CANCELLED&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]:</span>
+                <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s1">&#39;DataProc job </span><span class="si">%s</span><span class="s1"> is cancelled&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">)</span>
+                <span class="k">if</span> <span class="s1">&#39;details&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;details&#39;</span><span class="p">])</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">))</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">if</span> <span class="s1">&#39;DONE&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]:</span>
+                <span class="k">return</span> <span class="kc">True</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                <span class="s1">&#39;DataProc job </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">job_id</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">])</span>
+            <span class="p">)</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">raise_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="k">if</span> <span class="s1">&#39;ERROR&#39;</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;state&#39;</span><span class="p">]:</span>
+            <span class="k">if</span> <span class="n">message</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">message</span> <span class="o">=</span> <span class="s2">&quot;Google DataProc job has error&quot;</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">message</span> <span class="o">+</span> <span class="s2">&quot;: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">][</span><span class="s1">&#39;details&#39;</span><span class="p" [...]
+
+    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span>
+
+
+<span class="k">class</span> <span class="nc">_DataProcJobBuilder</span><span class="p">:</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">,</span> <span class="n">job_type</span><span class="p">,</span> <span class="n">properties</span><span class="p">):</span>
+        <span class="n">name</span> <span class="o">=</span> <span class="n">task_id</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">())[:</span><span class="mi">8</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job_type</span> <span class="o">=</span> <span class="n">job_type</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s2">&quot;job&quot;</span><span class="p">:</span> <span class="p">{</span>
+                <span class="s2">&quot;reference&quot;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s2">&quot;projectId&quot;</span><span class="p">:</span> <span class="n">project_id</span><span class="p">,</span>
+                    <span class="s2">&quot;jobId&quot;</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span>
+                <span class="p">},</span>
+                <span class="s2">&quot;placement&quot;</span><span class="p">:</span> <span class="p">{</span>
+                    <span class="s2">&quot;clusterName&quot;</span><span class="p">:</span> <span class="n">cluster_name</span>
+                <span class="p">},</span>
+                <span class="n">job_type</span><span class="p">:</span> <span class="p">{</span>
+                <span class="p">}</span>
+            <span class="p">}</span>
+        <span class="p">}</span>
+        <span class="k">if</span> <span class="n">properties</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;properties&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">properties</span>
+
+    <span class="k">def</span> <span class="nf">add_variables</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variables</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">variables</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;scriptVariables&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">variables</span>
+
+    <span class="k">def</span> <span class="nf">add_args</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">args</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;args&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span>
+
+    <span class="k">def</span> <span class="nf">add_query</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;queryList&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;queries&#39;</span><span class="p">:</span> <span class="p">[</span>< [...]
+
+    <span class="k">def</span> <span class="nf">add_query_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query_uri</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;queryFileUri&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">query_uri</span>
+
+    <span class="k">def</span> <span class="nf">add_jar_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">jars</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">jars</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;jarFileUris&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">jars</span>
+
+    <span class="k">def</span> <span class="nf">add_archive_uris</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">archives</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">archives</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;archiveUris&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">archives</span>
+
+    <span class="k">def</span> <span class="nf">add_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">files</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">files</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;fileUris&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">files</span>
+
+    <span class="k">def</span> <span class="nf">add_python_file_uris</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pyfiles</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">pyfiles</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;pythonFileUris&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pyfiles</span>
+
+    <span class="k">def</span> <span class="nf">set_main</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">main_jar</span><span class="p">,</span> <span class="n">main_class</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">main_class</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">main_jar</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Set either main_jar or main_class&quot;</span><span class="p">)</span>
+        <span class="k">if</span> <span class="n">main_jar</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;mainJarFileUri&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">main_jar</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;mainClass&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">main_class</span>
+
+    <span class="k">def</span> <span class="nf">set_python_main</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">main</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="bp">self</span><span class="o">.</span><span class="n">job_type</span><span class="p">][</span><span class="s2">&quot;mainPythonFileUri&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">main</span>
+
+    <span class="k">def</span> <span class="nf">set_job_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">job</span><span class="p">[</span><span class="s2">&quot;job&quot;</span><span class="p">][</span><span class="s2">&quot;reference&quot;</span><span class="p">][</span><span class="s2">&quot;jobId&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p [...]
+
+    <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">job</span>
+
+
+<span class="k">class</span> <span class="nc">_DataProcOperation</span><span class="p">(</span><span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Continuously polls Dataproc Operation until it completes.&quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataproc_api</span><span class="p">,</span> <span class="n">operation</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_api</span> <span class="o">=</span> <span class="n">dataproc_api</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">operation</span> <span class="o">=</span> <span class="n">operation</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">operation_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
+
+    <span class="k">def</span> <span class="nf">wait_for_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_done</span><span class="p">():</span>
+            <span class="k">return</span> <span class="kc">True</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s1">&#39;Waiting for Dataproc Operation </span><span class="si">%s</span><span class="s1"> to finish&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation_name</span><span class="p">)</span>
+        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">operation</span> <span class="o">=</span> <span class="p">(</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">dataproc_api</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span>
+                <span class="o">.</span><span class="n">regions</span><span class="p">()</span>
+                <span class="o">.</span><span class="n">operations</span><span class="p">()</span>
+                <span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">operation_name</span><span class="p">)</span>
+                <span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="mi">5</span><span class="p">))</span>
+
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_done</span><span class="p">():</span>
+                <span class="k">return</span> <span class="kc">True</span>
+
+    <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span>
+
+    <span class="k">def</span> <span class="nf">_check_done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="s1">&#39;done&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">:</span>
+            <span class="k">if</span> <span class="s1">&#39;error&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
+                    <span class="s1">&#39;Dataproc Operation </span><span class="si">%s</span><span class="s1"> failed with error: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">operation_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">[</span><span class="s1">&#39;error&#39;</span><span class="p">][</span><span class="s1">&#39;message&#39;</span><span class="p">])</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_raise_error</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+                    <span class="s1">&#39;Dataproc Operation </span><span class="si">%s</span><span class="s1"> done&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+                <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">return</span> <span class="kc">False</span>
+
+    <span class="k">def</span> <span class="nf">_raise_error</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Google Dataproc Operation </span><span class="si">%s</span><span class="s1"> failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
+                        <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">operation_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">operation</span><span class="p">[</span><span class="s1">&#39;error&#39;</span><span class="p">][</span><span class="s1">&#39;message&#39;</span><span class="p">]))</span>
+
+
+<div class="viewcode-block" id="DataProcHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook">[docs]</a><span class="k">class</span> <span class="nc">DataProcHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Hook for Google Cloud Dataproc APIs.&quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
+                 <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">api_version</span><span class="o">=</span><span class="s1">&#39;v1beta2&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">DataProcHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span> <span class="o">=</span> <span class="n">api_version</span>
+
+<div class="viewcode-block" id="DataProcHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns a Google Cloud Dataproc service object.&quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;dataproc&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">get_cluster</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">region</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">regions</span><span class="p">()</span><span class="o">.</span><span class="n">clusters</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+            <span class="n">projectId</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+            <span class="n">region</span><span class="o">=</span><span class="n">region</span><span class="p">,</span>
+            <span class="n">clusterName</span><span class="o">=</span><span class="n">cluster_name</span>
+        <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">num_retries</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">submit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">region</span><span class="o">=</span><span class="s1">&#39;global&#39;</span><span class="p">):</span>
+        <span class="n">submitted</span> <span class="o">=</span> <span class="n">_DataProcJob</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">project_id</span><span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">region</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">submitted</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">():</span>
+            <span class="n">submitted</span><span class="o">.</span><span class="n">raise_error</span><span class="p">(</span><span class="s1">&#39;DataProcTask has errors&#39;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">create_job_template</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">,</span> <span class="n">job_type</span><span class="p">,</span> <span class="n">properties</span><span class="p">):</span>
+        <span class="k">return</span> <span class="n">_DataProcJobBuilder</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">,</span> <span class="n">task_id</span><span class="p">,</span> <span class="n">cluster_name</span><span class="p">,</span>
+                                   <span class="n">job_type</span><span class="p">,</span> <span class="n">properties</span><span class="p">)</span>
+
+<div class="viewcode-block" id="DataProcHook.await"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_dataproc_hook.DataProcHook.await">[docs]</a>    <span class="k">def</span> <span class="nf">await</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Awaits for Google Cloud Dataproc Operation to complete.&quot;&quot;&quot;</span>
+        <span class="n">submitted</span> <span class="o">=</span> <span class="n">_DataProcOperation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">(),</span> <span class="n">operation</span><span class="p">)</span>
+        <span class="n">submitted</span><span class="o">.</span><span class="n">wait_for_done</span><span class="p">()</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
index 82450ae..df9ea25 100644
--- a/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
+++ b/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -236,14 +238,14 @@
 <span class="sd">        :type project_id: string</span>
 
 <span class="sd">        :param job: MLEngine Job object that should be provided to the MLEngine</span>
-<span class="sd">            API, such as:</span>
-<span class="sd">            {</span>
-<span class="sd">              &#39;jobId&#39;: &#39;my_job_id&#39;,</span>
-<span class="sd">              &#39;trainingInput&#39;: {</span>
-<span class="sd">                &#39;scaleTier&#39;: &#39;STANDARD_1&#39;,</span>
-<span class="sd">                ...</span>
-<span class="sd">              }</span>
-<span class="sd">            }</span>
+<span class="sd">            API, such as: ::</span>
+<span class="sd">                {</span>
+<span class="sd">                  &#39;jobId&#39;: &#39;my_job_id&#39;,</span>
+<span class="sd">                  &#39;trainingInput&#39;: {</span>
+<span class="sd">                    &#39;scaleTier&#39;: &#39;STANDARD_1&#39;,</span>
+<span class="sd">                    ...</span>
+<span class="sd">                  }</span>
+<span class="sd">                }</span>
 <span class="sd">        :type job: dict</span>
 
 <span class="sd">        :param use_existing_job_fn: In case that a MLEngine job with the same</span>
diff --git a/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
new file mode 100644
index 0000000..19713d1
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
@@ -0,0 +1,519 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.gcp_pubsub_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.gcp_pubsub_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.gcp_pubsub_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">uuid</span> <span class="k">import</span> <span class="n">uuid4</span>
+
+<span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
+<span class="kn">from</span> <span class="nn">apiclient</span> <span class="k">import</span> <span class="n">errors</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+
+
+<span class="k">def</span> <span class="nf">_format_subscription</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">):</span>
+    <span class="k">return</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/subscriptions/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">)</span>
+
+
+<span class="k">def</span> <span class="nf">_format_topic</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">):</span>
+    <span class="k">return</span> <span class="s1">&#39;projects/</span><span class="si">{}</span><span class="s1">/topics/</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">PubSubException</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
+    <span class="k">pass</span>
+
+
+<div class="viewcode-block" id="PubSubHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook">[docs]</a><span class="k">class</span> <span class="nc">PubSubHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Hook for accessing Google Pub/Sub.</span>
+
+<span class="sd">    The GCP project against which actions are applied is determined by</span>
+<span class="sd">    the project embedded in the Connection referenced by gcp_conn_id.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gcp_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">PubSubHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">gcp_conn_id</span><span class="p">,</span> <span class="n">delegate_to</span><span class="o">=</span><span class="n">delegate_to</span><span class="p">)</span>
+
+<div class="viewcode-block" id="PubSubHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Returns a Pub/Sub service object.</span>
+
+<span class="sd">        :rtype: apiclient.discovery.Resource</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;pubsub&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.publish"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.publish">[docs]</a>    <span class="k">def</span> <span class="nf">publish</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">messages</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Publishes messages to a Pub/Sub topic.</span>
+
+<span class="sd">        :param project: the GCP project ID in which to publish</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param topic: the Pub/Sub topic to which to publish; do not</span>
+<span class="sd">            include the ``projects/{project}/topics/`` prefix.</span>
+<span class="sd">        :type topic: string</span>
+<span class="sd">        :param messages: messages to publish; if the data field in a</span>
+<span class="sd">            message is set, it should already be base64 encoded.</span>
+<span class="sd">        :type messages: list of PubSub messages; see</span>
+<span class="sd">            http://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;messages&#39;</span><span class="p">:</span> <span class="n">messages</span><span class="p">}</span>
+        <span class="n">full_topic</span> <span class="o">=</span> <span class="n">_format_topic</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">)</span>
+        <span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">topics</span><span class="p">()</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span>
+            <span class="n">topic</span><span class="o">=</span><span class="n">full_topic</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">request</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                <span class="s1">&#39;Error publishing to topic </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_topic</span><span class="p">),</span> <span class="n">e</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.create_topic"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.create_topic">[docs]</a>    <span class="k">def</span> <span class="nf">create_topic</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">fail_if_exists</span><span class="o">=</s [...]
+        <span class="sd">&quot;&quot;&quot;Creates a Pub/Sub topic, if it does not already exist.</span>
+
+<span class="sd">        :param project: the GCP project ID in which to create</span>
+<span class="sd">            the topic</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param topic: the Pub/Sub topic name to create; do not</span>
+<span class="sd">            include the ``projects/{project}/topics/`` prefix.</span>
+<span class="sd">        :type topic: string</span>
+<span class="sd">        :param fail_if_exists: if set, raise an exception if the topic</span>
+<span class="sd">            already exists</span>
+<span class="sd">        :type fail_if_exists: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_topic</span> <span class="o">=</span> <span class="n">_format_topic</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">topics</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+                <span class="n">name</span><span class="o">=</span><span class="n">full_topic</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{})</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># Status code 409 indicates that the topic already exists.</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">])</span> <span class="o">==</span> <span class="s1">&#39;409&#39;</span><span class="p">:</span>
+                <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;Topic already exists: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_topic</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">fail_if_exists</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                    <span class="s1">&#39;Error creating topic </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_topic</span><span class="p">),</span> <span class="n">e</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.delete_topic"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.delete_topic">[docs]</a>    <span class="k">def</span> <span class="nf">delete_topic</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">fail_if_not_exists</span><span class="o"> [...]
+        <span class="sd">&quot;&quot;&quot;Deletes a Pub/Sub topic if it exists.</span>
+
+<span class="sd">        :param project: the GCP project ID in which to delete the topic</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param topic: the Pub/Sub topic name to delete; do not</span>
+<span class="sd">            include the ``projects/{project}/topics/`` prefix.</span>
+<span class="sd">        :type topic: string</span>
+<span class="sd">        :param fail_if_not_exists: if set, raise an exception if the topic</span>
+<span class="sd">            does not exist</span>
+<span class="sd">        :type fail_if_not_exists: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_topic</span> <span class="o">=</span> <span class="n">_format_topic</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">topic</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">topics</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">topic</span><span class="o">=</span><span class="n">full_topic</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># Status code 409 indicates that the topic was not found</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">])</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;Topic does not exist: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_topic</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">fail_if_not_exists</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                    <span class="s1">&#39;Error deleting topic </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_topic</span><span class="p">),</span> <span class="n">e</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.create_subscription"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.create_subscription">[docs]</a>    <span class="k">def</span> <span class="nf">create_subscription</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">topic_project</span><span class="p">,</span> <span class="n">topic</span><span class="p">,</span> <span class="n">subscription</ [...]
+                            <span class="n">subscription_project</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ack_deadline_secs</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
+                            <span class="n">fail_if_exists</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Creates a Pub/Sub subscription, if it does not already exist.</span>
+
+<span class="sd">        :param topic_project: the GCP project ID of the topic that the</span>
+<span class="sd">            subscription will be bound to.</span>
+<span class="sd">        :type topic_project: string</span>
+<span class="sd">        :param topic: the Pub/Sub topic name that the subscription will be bound</span>
+<span class="sd">            to create; do not include the ``projects/{project}/subscriptions/``</span>
+<span class="sd">            prefix.</span>
+<span class="sd">        :type topic: string</span>
+<span class="sd">        :param subscription: the Pub/Sub subscription name. If empty, a random</span>
+<span class="sd">            name will be generated using the uuid module</span>
+<span class="sd">        :type subscription: string</span>
+<span class="sd">        :param subscription_project: the GCP project ID where the subscription</span>
+<span class="sd">            will be created. If unspecified, ``topic_project`` will be used.</span>
+<span class="sd">        :type subscription_project: string</span>
+<span class="sd">        :param ack_deadline_secs: Number of seconds that a subscriber has to</span>
+<span class="sd">            acknowledge each message pulled from the subscription</span>
+<span class="sd">        :type ack_deadline_secs: int</span>
+<span class="sd">        :param fail_if_exists: if set, raise an exception if the topic</span>
+<span class="sd">            already exists</span>
+<span class="sd">        :type fail_if_exists: bool</span>
+<span class="sd">        :return: subscription name which will be the system-generated value if</span>
+<span class="sd">            the ``subscription`` parameter is not supplied</span>
+<span class="sd">        :rtype: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_topic</span> <span class="o">=</span> <span class="n">_format_topic</span><span class="p">(</span><span class="n">topic_project</span><span class="p">,</span> <span class="n">topic</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">subscription</span><span class="p">:</span>
+            <span class="n">subscription</span> <span class="o">=</span> <span class="s1">&#39;sub-</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">uuid4</span><span class="p">())</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">subscription_project</span><span class="p">:</span>
+            <span class="n">subscription_project</span> <span class="o">=</span> <span class="n">topic_project</span>
+        <span class="n">full_subscription</span> <span class="o">=</span> <span class="n">_format_subscription</span><span class="p">(</span><span class="n">subscription_project</span><span class="p">,</span>
+                                                 <span class="n">subscription</span><span class="p">)</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;topic&#39;</span><span class="p">:</span> <span class="n">full_topic</span><span class="p">,</span>
+            <span class="s1">&#39;ackDeadlineSeconds&#39;</span><span class="p">:</span> <span class="n">ack_deadline_secs</span>
+        <span class="p">}</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">subscriptions</span><span class="p">()</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
+                <span class="n">name</span><span class="o">=</span><span class="n">full_subscription</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># Status code 409 indicates that the subscription already exists.</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">])</span> <span class="o">==</span> <span class="s1">&#39;409&#39;</span><span class="p">:</span>
+                <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;Subscription already exists: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">full_subscription</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">fail_if_exists</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                    <span class="s1">&#39;Error creating subscription </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_subscription</span><span class="p">),</span>
+                    <span class="n">e</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">subscription</span></div>
+
+<div class="viewcode-block" id="PubSubHook.delete_subscription"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.delete_subscription">[docs]</a>    <span class="k">def</span> <span class="nf">delete_subscription</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span>
+                            <span class="n">fail_if_not_exists</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Deletes a Pub/Sub subscription, if it exists.</span>
+
+<span class="sd">        :param project: the GCP project ID where the subscription exists</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param subscription: the Pub/Sub subscription name to delete; do not</span>
+<span class="sd">            include the ``projects/{project}/subscriptions/`` prefix.</span>
+<span class="sd">        :type subscription: string</span>
+<span class="sd">        :param fail_if_not_exists: if set, raise an exception if the topic</span>
+<span class="sd">            does not exist</span>
+<span class="sd">        :type fail_if_not_exists: bool</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_subscription</span> <span class="o">=</span> <span class="n">_format_subscription</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">subscriptions</span><span class="p">()</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span>
+                <span class="n">subscription</span><span class="o">=</span><span class="n">full_subscription</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="c1"># Status code 404 indicates that the subscription was not found</span>
+            <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">])</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;Subscription does not exist: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">full_subscription</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">fail_if_not_exists</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                    <span class="s1">&#39;Error deleting subscription </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">full_subscription</span><span class="p">),</span>
+                    <span class="n">e</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.pull"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.pull">[docs]</a>    <span class="k">def</span> <span class="nf">pull</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span> <span class="n">max_messages</span><span class="p">,</span>
+             <span class="n">return_immediately</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Pulls up to ``max_messages`` messages from Pub/Sub subscription.</span>
+
+<span class="sd">        :param project: the GCP project ID where the subscription exists</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param subscription: the Pub/Sub subscription name to pull from; do not</span>
+<span class="sd">            include the &#39;projects/{project}/topics/&#39; prefix.</span>
+<span class="sd">        :type subscription: string</span>
+<span class="sd">        :param max_messages: The maximum number of messages to return from</span>
+<span class="sd">            the Pub/Sub API.</span>
+<span class="sd">        :type max_messages: int</span>
+<span class="sd">        :param return_immediately: If set, the Pub/Sub API will immediately</span>
+<span class="sd">            return if no messages are available. Otherwise, the request will</span>
+<span class="sd">            block for an undisclosed, but bounded period of time</span>
+<span class="sd">        :type return_immediately: bool</span>
+<span class="sd">        :return A list of Pub/Sub ReceivedMessage objects each containing</span>
+<span class="sd">            an ``ackId`` property and a ``message`` property, which includes</span>
+<span class="sd">            the base64-encoded message content. See</span>
+<span class="sd">            https://cloud.google.com/pubsub/docs/reference/rest/v1/\</span>
+<span class="sd">                projects.subscriptions/pull#ReceivedMessage</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_subscription</span> <span class="o">=</span> <span class="n">_format_subscription</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">)</span>
+        <span class="n">body</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;maxMessages&#39;</span><span class="p">:</span> <span class="n">max_messages</span><span class="p">,</span>
+            <span class="s1">&#39;returnImmediately&#39;</span><span class="p">:</span> <span class="n">return_immediately</span>
+        <span class="p">}</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">subscriptions</span><span class="p">()</span><span class="o">.</span><span class="n">pull</span><span class="p">(</span>
+                <span class="n">subscription</span><span class="o">=</span><span class="n">full_subscription</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="n">body</span><span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;receivedMessages&#39;</span><span class="p">,</span> <span class="p">[])</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                <span class="s1">&#39;Error pulling messages from subscription </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                    <span class="n">full_subscription</span><span class="p">),</span> <span class="n">e</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PubSubHook.acknowledge"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.gcp_pubsub_hook.PubSubHook.acknowledge">[docs]</a>    <span class="k">def</span> <span class="nf">acknowledge</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span> <span class="n">ack_ids</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Pulls up to ``max_messages`` messages from Pub/Sub subscription.</span>
+
+<span class="sd">        :param project: the GCP project name or ID in which to create</span>
+<span class="sd">            the topic</span>
+<span class="sd">        :type project: string</span>
+<span class="sd">        :param subscription: the Pub/Sub subscription name to delete; do not</span>
+<span class="sd">            include the &#39;projects/{project}/topics/&#39; prefix.</span>
+<span class="sd">        :type subscription: string</span>
+<span class="sd">        :param ack_ids: List of ReceivedMessage ackIds from a previous pull</span>
+<span class="sd">            response</span>
+<span class="sd">        :type ack_ids: list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">full_subscription</span> <span class="o">=</span> <span class="n">_format_subscription</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="n">subscription</span><span class="p">)</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">service</span><span class="o">.</span><span class="n">projects</span><span class="p">()</span><span class="o">.</span><span class="n">subscriptions</span><span class="p">()</span><span class="o">.</span><span class="n">acknowledge</span><span class="p">(</span>
+                <span class="n">subscription</span><span class="o">=</span><span class="n">full_subscription</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;ackIds&#39;</span><span class="p">:</span> <span class="n">ack_ids</span><span class="p">}</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">PubSubException</span><span class="p">(</span>
+                <span class="s1">&#39;Error acknowledging </span><span class="si">{}</span><span class="s1"> messages pulled from subscription </span><span class="si">{}</span><span class="s1">&#39;</span>
+                <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">ack_ids</span><span class="p">),</span> <span class="n">full_subscription</span><span class="p">),</span> <span class="n">e</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/gcs_hook.html b/_modules/airflow/contrib/hooks/gcs_hook.html
index 6f3bc49..5db94f8 100644
--- a/_modules/airflow/contrib/hooks/gcs_hook.html
+++ b/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -169,23 +171,31 @@
   <h1>Source code for airflow.contrib.hooks.gcs_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
 <span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
 <span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 <span class="c1">#</span>
 <span class="kn">from</span> <span class="nn">apiclient.discovery</span> <span class="k">import</span> <span class="n">build</span>
 <span class="kn">from</span> <span class="nn">apiclient.http</span> <span class="k">import</span> <span class="n">MediaFileUpload</span>
 <span class="kn">from</span> <span class="nn">googleapiclient</span> <span class="k">import</span> <span class="n">errors</span>
 
 <span class="kn">from</span> <span class="nn">airflow.contrib.hooks.gcp_api_base_hook</span> <span class="k">import</span> <span class="n">GoogleCloudBaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+<span class="kn">import</span> <span class="nn">re</span>
 
 
 <div class="viewcode-block" id="GoogleCloudStorageHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook">[docs]</a><span class="k">class</span> <span class="nc">GoogleCloudStorageHook</span><span class="p">(</span><span class="n">GoogleCloudBaseHook</span><span class="p">):</span>
@@ -195,7 +205,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_storage_default&#39;</span><span class="p">,</span>
+                 <span class="n">google_cloud_storage_conn_id</span><span class="o">=</span><span class="s1">&#39;google_cloud_default&#39;</span><span class="p">,</span>
                  <span class="n">delegate_to</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="nb">super</span><span class="p">(</span><span class="n">GoogleCloudStorageHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">google_cloud_storage_conn_id</span><span class="p">,</span>
                                                      <span class="n">delegate_to</span><span class="p">)</span>
@@ -207,7 +217,6 @@
         <span class="n">http_authorized</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_authorize</span><span class="p">()</span>
         <span class="k">return</span> <span class="n">build</span><span class="p">(</span><span class="s1">&#39;storage&#39;</span><span class="p">,</span> <span class="s1">&#39;v1&#39;</span><span class="p">,</span> <span class="n">http</span><span class="o">=</span><span class="n">http_authorized</span><span class="p">)</span></div>
 
-
     <span class="c1"># pylint:disable=redefined-builtin</span>
 <div class="viewcode-block" id="GoogleCloudStorageHook.copy"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.copy">[docs]</a>    <span class="k">def</span> <span class="nf">copy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">,</span> <span class="n">destination_bucket</span><s [...]
              <span class="n">destination_object</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
@@ -217,10 +226,10 @@
 <span class="sd">        destination_bucket or destination_object can be omitted, in which case</span>
 <span class="sd">        source bucket/object is used, but not both.</span>
 
-<span class="sd">        :param bucket: The bucket of the object to copy from.</span>
-<span class="sd">        :type bucket: string</span>
-<span class="sd">        :param object: The object to copy.</span>
-<span class="sd">        :type object: string</span>
+<span class="sd">        :param source_bucket: The bucket of the object to copy from.</span>
+<span class="sd">        :type source_bucket: string</span>
+<span class="sd">        :param source_object: The object to copy.</span>
+<span class="sd">        :type source_object: string</span>
 <span class="sd">        :param destination_bucket: The destination of the object to copied to.</span>
 <span class="sd">            Can be omitted; then the same bucket is used.</span>
 <span class="sd">        :type destination_bucket: string</span>
@@ -252,9 +261,60 @@
                 <span class="k">return</span> <span class="kc">False</span>
             <span class="k">raise</span></div>
 
+<div class="viewcode-block" id="GoogleCloudStorageHook.rewrite"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.rewrite">[docs]</a>    <span class="k">def</span> <span class="nf">rewrite</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">,</span> <span class="n">destination_bucket [...]
+                <span class="n">destination_object</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Has the same functionality as copy, except that will work on files</span>
+<span class="sd">        over 5 TB, as well as when copying between locations and/or storage</span>
+<span class="sd">        classes.</span>
+
+<span class="sd">        destination_object can be omitted, in which case source_object is used.</span>
+
+<span class="sd">        :param source_bucket: The bucket of the object to copy from.</span>
+<span class="sd">        :type source_bucket: string</span>
+<span class="sd">        :param source_object: The object to copy.</span>
+<span class="sd">        :type source_object: string</span>
+<span class="sd">        :param destination_bucket: The destination of the object to copied to.</span>
+<span class="sd">        :type destination_bucket: string</span>
+<span class="sd">        :param destination_object: The (renamed) path of the object if given.</span>
+<span class="sd">            Can be omitted; then the same name is used.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">destination_object</span> <span class="o">=</span> <span class="n">destination_object</span> <span class="ow">or</span> <span class="n">source_object</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">source_bucket</span> <span class="o">==</span> <span class="n">destination_bucket</span> <span class="ow">and</span>
+                <span class="n">source_object</span> <span class="o">==</span> <span class="n">destination_object</span><span class="p">):</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                <span class="s1">&#39;Either source/destination bucket or source/destination object &#39;</span>
+                <span class="s1">&#39;must be different, not both the same: bucket=</span><span class="si">%s</span><span class="s1">, object=</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span>
+                <span class="p">(</span><span class="n">source_bucket</span><span class="p">,</span> <span class="n">source_object</span><span class="p">))</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">source_bucket</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">source_object</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;source_bucket and source_object cannot be empty.&#39;</span><span class="p">)</span>
+
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">request_count</span> <span class="o">=</span> <span class="mi">1</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                <span class="o">.</span><span class="n">rewrite</span><span class="p">(</span><span class="n">sourceBucket</span><span class="o">=</span><span class="n">source_bucket</span><span class="p">,</span> <span class="n">sourceObject</span><span class="o">=</span><span class="n">source_object</span><span class="p">,</span>
+                         <span class="n">destinationBucket</span><span class="o">=</span><span class="n">destination_bucket</span><span class="p">,</span>
+                         <span class="n">destinationObject</span><span class="o">=</span><span class="n">destination_object</span><span class="p">,</span> <span class="n">body</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span> \
+                <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Rewrite request #</span><span class="si">%s</span><span class="s1">: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">request_count</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+            <span class="k">while</span> <span class="ow">not</span> <span class="n">result</span><span class="p">[</span><span class="s1">&#39;done&#39;</span><span class="p">]:</span>
+                <span class="n">request_count</span> <span class="o">+=</span> <span class="mi">1</span>
+                <span class="n">result</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span> \
+                    <span class="o">.</span><span class="n">rewrite</span><span class="p">(</span><span class="n">sourceBucket</span><span class="o">=</span><span class="n">source_bucket</span><span class="p">,</span> <span class="n">sourceObject</span><span class="o">=</span><span class="n">source_object</span><span class="p">,</span>
+                             <span class="n">destinationBucket</span><span class="o">=</span><span class="n">destination_bucket</span><span class="p">,</span>
+                             <span class="n">destinationObject</span><span class="o">=</span><span class="n">destination_object</span><span class="p">,</span>
+                             <span class="n">rewriteToken</span><span class="o">=</span><span class="n">result</span><span class="p">[</span><span class="s1">&#39;rewriteToken&#39;</span><span class="p">],</span> <span class="n">body</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span> \
+                    <span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Rewrite request #</span><span class="si">%s</span><span class="s1">: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">request_count</span><span class="p">,</span> <span class="n">result</span><span class="p">)</span>
+            <span class="k">return</span> <span class="kc">True</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">return</span> <span class="kc">False</span>
+            <span class="k">raise</span></div>
 
     <span class="c1"># pylint:disable=redefined-builtin</span>
-<div class="viewcode-block" id="GoogleCloudStorageHook.download"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.download">[docs]</a>    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class=" [...]
+<div class="viewcode-block" id="GoogleCloudStorageHook.download"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.download">[docs]</a>    <span class="k">def</span> <span class="nf">download</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">filename</span><span class=" [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Get a file from Google Cloud Storage.</span>
 
@@ -388,7 +448,7 @@
                 <span class="k">return</span> <span class="kc">False</span>
             <span class="k">raise</span></div>
 
-<div class="viewcode-block" id="GoogleCloudStorageHook.list"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.list">[docs]</a>    <span class="k">def</span> <span class="nf">list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">versions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
+<div class="viewcode-block" id="GoogleCloudStorageHook.list"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.list">[docs]</a>    <span class="k">def</span> <span class="nf">list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">versions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <sp [...]
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        List all objects from the bucket with the give string prefix in name</span>
 
@@ -400,6 +460,8 @@
 <span class="sd">        :type maxResults: integer</span>
 <span class="sd">        :param prefix: prefix string which filters objects whose name begin with this prefix</span>
 <span class="sd">        :type prefix: string</span>
+<span class="sd">        :param delimiter: filters objects based on the delimiter (for e.g &#39;.csv&#39;)</span>
+<span class="sd">        :type delimiter: string</span>
 <span class="sd">        :return: a stream of object names matching the filtering criteria</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
@@ -412,16 +474,21 @@
                 <span class="n">versions</span><span class="o">=</span><span class="n">versions</span><span class="p">,</span>
                 <span class="n">maxResults</span><span class="o">=</span><span class="n">maxResults</span><span class="p">,</span>
                 <span class="n">pageToken</span><span class="o">=</span><span class="n">pageToken</span><span class="p">,</span>
-                <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span>
+                <span class="n">prefix</span><span class="o">=</span><span class="n">prefix</span><span class="p">,</span>
+                <span class="n">delimiter</span><span class="o">=</span><span class="n">delimiter</span>
             <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
 
-            <span class="k">if</span> <span class="s1">&#39;items&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No items found for prefix: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">prefix</span><span class="p">)</span>
-                <span class="k">break</span>
+            <span class="k">if</span> <span class="s1">&#39;prefixes&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                <span class="k">if</span> <span class="s1">&#39;items&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No items found for prefix: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">prefix</span><span class="p">)</span>
+                    <span class="k">break</span>
 
-            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;items&#39;</span><span class="p">]:</span>
-                <span class="k">if</span> <span class="n">item</span> <span class="ow">and</span> <span class="s1">&#39;name&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">:</span>
-                    <span class="n">ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+                <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;items&#39;</span><span class="p">]:</span>
+                    <span class="k">if</span> <span class="n">item</span> <span class="ow">and</span> <span class="s1">&#39;name&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">:</span>
+                        <span class="n">ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;prefixes&#39;</span><span class="p">]:</span>
+                    <span class="n">ids</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
 
             <span class="k">if</span> <span class="s1">&#39;nextPageToken&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
                 <span class="c1"># no further pages of results, so stop the loop</span>
@@ -431,7 +498,203 @@
             <span class="k">if</span> <span class="ow">not</span> <span class="n">pageToken</span><span class="p">:</span>
                 <span class="c1"># empty next page token</span>
                 <span class="k">break</span>
-        <span class="k">return</span> <span class="n">ids</span></div></div>
+        <span class="k">return</span> <span class="n">ids</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.get_size"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.get_size">[docs]</a>    <span class="k">def</span> <span class="nf">get_size</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the size of a file in Google Cloud Storage.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to check in the Google cloud storage bucket.</span>
+<span class="sd">        :type object: string</span>
+
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Checking the file size of object: </span><span class="si">%s</span><span class="s1"> in bucket: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">bucket</span><span class="p">)</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span>
+                <span class="nb">object</span><span class="o">=</span><span class="nb">object</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="k">if</span> <span class="s1">&#39;name&#39;</span> <span class="ow">in</span> <span class="n">response</span> <span class="ow">and</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;/&#39;</span><span class="p">:</span>
+                <span class="c1"># Remove Directories &amp; Just check size of files</span>
+                <span class="n">size</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;size&#39;</span><span class="p">]</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;The file size of </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1"> bytes.&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">size</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Object is not a file&#39;</span><span class="p">)</span>
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Object Not Found&#39;</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.get_crc32c"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.get_crc32c">[docs]</a>    <span class="k">def</span> <span class="nf">get_crc32c</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the CRC32c checksum of an object in Google Cloud Storage.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to check in the Google cloud</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving the crc32c checksum of &#39;</span>
+                      <span class="s1">&#39;object: </span><span class="si">%s</span><span class="s1"> in bucket: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">bucket</span><span class="p">)</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span>
+                <span class="nb">object</span><span class="o">=</span><span class="nb">object</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="n">crc32c</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;crc32c&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;The crc32c checksum of </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">crc32c</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">crc32c</span>
+
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Object Not Found&#39;</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.get_md5hash"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.get_md5hash">[docs]</a>    <span class="k">def</span> <span class="nf">get_md5hash</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bucket</span><span class="p">,</span> <span class="nb">object</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets the MD5 hash of an object in Google Cloud Storage.</span>
+
+<span class="sd">        :param bucket: The Google cloud storage bucket where the object is.</span>
+<span class="sd">        :type bucket: string</span>
+<span class="sd">        :param object: The name of the object to check in the Google cloud</span>
+<span class="sd">            storage bucket.</span>
+<span class="sd">        :type object: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving the MD5 hash of &#39;</span>
+                      <span class="s1">&#39;object: </span><span class="si">%s</span><span class="s1"> in bucket: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">bucket</span><span class="p">)</span>
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">objects</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
+                <span class="n">bucket</span><span class="o">=</span><span class="n">bucket</span><span class="p">,</span>
+                <span class="nb">object</span><span class="o">=</span><span class="nb">object</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="n">md5hash</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;md5Hash&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;The md5Hash of </span><span class="si">%s</span><span class="s1"> is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="nb">object</span><span class="p">,</span> <span class="n">md5hash</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">md5hash</span>
+
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">ex</span><span class="o">.</span><span class="n">resp</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;404&#39;</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">&#39;Object Not Found&#39;</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="GoogleCloudStorageHook.create_bucket"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.gcs_hook.GoogleCloudStorageHook.create_bucket">[docs]</a>    <span class="k">def</span> <span class="nf">create_bucket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                      <span class="n">bucket_name</span><span class="p">,</span>
+                      <span class="n">storage_class</span><span class="o">=</span><span class="s1">&#39;MULTI_REGIONAL&#39;</span><span class="p">,</span>
+                      <span class="n">location</span><span class="o">=</span><span class="s1">&#39;US&#39;</span><span class="p">,</span>
+                      <span class="n">project_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                      <span class="n">labels</span><span class="o">=</span><span class="kc">None</span>
+                      <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a new bucket. Google Cloud Storage uses a flat namespace, so</span>
+<span class="sd">        you can&#39;t create a bucket with a name that is already in use.</span>
+
+<span class="sd">        .. seealso::</span>
+<span class="sd">            For more information, see Bucket Naming Guidelines:</span>
+<span class="sd">            https://cloud.google.com/storage/docs/bucketnaming.html#requirements</span>
+
+<span class="sd">        :param bucket_name: The name of the bucket.</span>
+<span class="sd">        :type bucket_name: string</span>
+<span class="sd">        :param storage_class: This defines how objects in the bucket are stored</span>
+<span class="sd">            and determines the SLA and the cost of storage. Values include</span>
+
+<span class="sd">            - ``MULTI_REGIONAL``</span>
+<span class="sd">            - ``REGIONAL``</span>
+<span class="sd">            - ``STANDARD``</span>
+<span class="sd">            - ``NEARLINE``</span>
+<span class="sd">            - ``COLDLINE``.</span>
+<span class="sd">            If this value is not specified when the bucket is</span>
+<span class="sd">            created, it will default to STANDARD.</span>
+<span class="sd">        :type storage_class: string</span>
+<span class="sd">        :param location: The location of the bucket.</span>
+<span class="sd">            Object data for objects in the bucket resides in physical storage</span>
+<span class="sd">            within this region. Defaults to US.</span>
+
+<span class="sd">            .. seealso::</span>
+<span class="sd">                https://developers.google.com/storage/docs/bucket-locations</span>
+
+<span class="sd">        :type location: string</span>
+<span class="sd">        :param project_id: The ID of the GCP Project.</span>
+<span class="sd">        :type project_id: string</span>
+<span class="sd">        :param labels: User-provided labels, in key/value pairs.</span>
+<span class="sd">        :type labels: dict</span>
+<span class="sd">        :return: If successful, it returns the ``id`` of the bucket.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">project_id</span> <span class="o">=</span> <span class="n">project_id</span> <span class="k">if</span> <span class="n">project_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span>
+        <span class="n">storage_classes</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="s1">&#39;MULTI_REGIONAL&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;REGIONAL&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;NEARLINE&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;COLDLINE&#39;</span><span class="p">,</span>
+            <span class="s1">&#39;STANDARD&#39;</span><span class="p">,</span>  <span class="c1"># alias for MULTI_REGIONAL/REGIONAL, based on location</span>
+        <span class="p">]</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Creating Bucket: </span><span class="si">%s</span><span class="s1">; Location: </span><span class="si">%s</span><span class="s1">; Storage Class: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                      <span class="n">bucket_name</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">storage_class</span><span class="p">)</span>
+        <span class="k">assert</span> <span class="n">storage_class</span> <span class="ow">in</span> <span class="n">storage_classes</span><span class="p">,</span> \
+            <span class="s1">&#39;Invalid value (</span><span class="si">{}</span><span class="s1">) passed to storage_class. Value should be &#39;</span> \
+            <span class="s1">&#39;one of </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">storage_class</span><span class="p">,</span> <span class="n">storage_classes</span><span class="p">)</span>
+
+        <span class="k">assert</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> \
+            <span class="s1">&#39;Bucket names must start with a number or letter.&#39;</span>
+
+        <span class="k">assert</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;[a-zA-Z0-9]+&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span> \
+            <span class="s1">&#39;Bucket names must end with a number or letter.&#39;</span>
+
+        <span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">bucket_resource</span> <span class="o">=</span> <span class="p">{</span>
+            <span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="n">bucket_name</span><span class="p">,</span>
+            <span class="s1">&#39;location&#39;</span><span class="p">:</span> <span class="n">location</span><span class="p">,</span>
+            <span class="s1">&#39;storageClass&#39;</span><span class="p">:</span> <span class="n">storage_class</span>
+        <span class="p">}</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;The Default Project ID is </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">project_id</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">labels</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">bucket_resource</span><span class="p">[</span><span class="s1">&#39;labels&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">labels</span>
+
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">buckets</span><span class="p">()</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span>
+                <span class="n">project</span><span class="o">=</span><span class="n">project_id</span><span class="p">,</span>
+                <span class="n">body</span><span class="o">=</span><span class="n">bucket_resource</span>
+            <span class="p">)</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Bucket: </span><span class="si">%s</span><span class="s1"> created successfully.&#39;</span><span class="p">,</span> <span class="n">bucket_name</span><span class="p">)</span>
+
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span>
+
+        <span class="k">except</span> <span class="n">errors</span><span class="o">.</span><span class="n">HttpError</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                <span class="s1">&#39;Bucket creation failed. Error was: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ex</span><span class="o">.</span><span class="n">content</span><span class="p">)</span>
+            <span class="p">)</span></div></div>
+
+
+<span class="k">def</span> <span class="nf">_parse_gcs_url</span><span class="p">(</span><span class="n">gsurl</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Given a Google Cloud Storage URL (gs://&lt;bucket&gt;/&lt;blob&gt;), returns a</span>
+<span class="sd">    tuple containing the corresponding bucket and blob.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="c1"># Python 3</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="k">import</span> <span class="n">urlparse</span>
+    <span class="c1"># Python 2</span>
+    <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+        <span class="kn">from</span> <span class="nn">urlparse</span> <span class="k">import</span> <span class="n">urlparse</span>
+
+    <span class="n">parsed_url</span> <span class="o">=</span> <span class="n">urlparse</span><span class="p">(</span><span class="n">gsurl</span><span class="p">)</span>
+    <span class="k">if</span> <span class="ow">not</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Please provide a bucket name&#39;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">bucket</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">netloc</span>
+        <span class="c1"># Remove leading &#39;/&#39; but NOT trailing one</span>
+        <span class="n">blob</span> <span class="o">=</span> <span class="n">parsed_url</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">bucket</span><span class="p">,</span> <span class="n">blob</span>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html b/_modules/airflow/contrib/hooks/jenkins_hook.html
similarity index 51%
copy from _modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
copy to _modules/airflow/contrib/hooks/jenkins_hook.html
index 7f2f1ca..783bfa6 100644
--- a/_modules/airflow/contrib/operators/emr_terminate_job_flow_operator.html
+++ b/_modules/airflow/contrib/hooks/jenkins_hook.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>airflow.contrib.operators.emr_terminate_job_flow_operator &mdash; Airflow Documentation</title>
+  <title>airflow.contrib.hooks.jenkins_hook &mdash; Airflow Documentation</title>
   
 
   
@@ -91,7 +91,7 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../configuration.html">Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
@@ -99,8 +99,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
 </ul>
@@ -149,7 +151,7 @@
         
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>airflow.contrib.operators.emr_terminate_job_flow_operator</li>
+      <li>airflow.contrib.hooks.jenkins_hook</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -166,59 +168,55 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for airflow.contrib.operators.emr_terminate_job_flow_operator</h1><div class="highlight"><pre>
+  <h1>Source code for airflow.contrib.hooks.jenkins_hook</h1><div class="highlight"><pre>
 <span></span><span class="c1"># -*- coding: utf-8 -*-</span>
 <span class="c1">#</span>
-<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
-<span class="c1"># you may not use this file except in compliance with the License.</span>
-<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
 <span class="c1">#</span>
-<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c1">#</span>
-<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c1"># See the License for the specific language governing permissions and</span>
-<span class="c1"># limitations under the License.</span>
-<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="k">import</span> <span class="n">BaseOperator</span>
-<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="k">import</span> <span class="n">apply_defaults</span>
-<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
-<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.emr_hook</span> <span class="k">import</span> <span class="n">EmrHook</span>
-
-
-<div class="viewcode-block" id="EmrTerminateJobFlowOperator"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.operators.emr_terminate_job_flow_operator.EmrTerminateJobFlowOperator">[docs]</a><span class="k">class</span> <span class="nc">EmrTerminateJobFlowOperator</span><span class="p">(</span><span class="n">BaseOperator</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Operator to terminate EMR JobFlows.</span>
 
-<span class="sd">    :param job_flow_id: id of the JobFlow to terminate</span>
-<span class="sd">    :type job_flow_name: str</span>
-<span class="sd">    :param aws_conn_id: aws connection to uses</span>
-<span class="sd">    :type aws_conn_id: str</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+<span class="kn">import</span> <span class="nn">jenkins</span>
+<span class="kn">import</span> <span class="nn">distutils</span>
+
+
+<div class="viewcode-block" id="JenkinsHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.jenkins_hook.JenkinsHook">[docs]</a><span class="k">class</span> <span class="nc">JenkinsHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook to manage connection to jenkins server</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">template_fields</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;job_flow_id&#39;</span><span class="p">]</span>
-    <span class="n">template_ext</span> <span class="o">=</span> <span class="p">()</span>
-    <span class="n">ui_color</span> <span class="o">=</span> <span class="s1">&#39;#f9c915&#39;</span>
-
-    <span class="nd">@apply_defaults</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span>
-            <span class="n">job_flow_id</span><span class="p">,</span>
-            <span class="n">aws_conn_id</span><span class="o">=</span><span class="s1">&#39;s3_default&#39;</span><span class="p">,</span>
-            <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="nb">super</span><span class="p">(</span><span class="n">EmrTerminateJobFlowOperator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span> <span class="o">=</span> <span class="n">job_flow_id</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span> <span class="o">=</span> <span class="n">aws_conn_id</span>
-
-    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-        <span class="n">emr</span> <span class="o">=</span> <span class="n">EmrHook</span><span class="p">(</span><span class="n">aws_conn_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">aws_conn_id</span><span class="p">)</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Terminating JobFlow </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">emr</span><span class="o">.</span><span class="n">terminate_job_flows</span><span class="p">(</span><span class="n">JobFlowIds</span><span class="o">=</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">])</span>
-
-        <span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;ResponseMetadata&#39;</span><span class="p">][</span><span class="s1">&#39;HTTPStatusCode&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
-            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;JobFlow termination failed: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">response</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;JobFlow with id </span><span class="si">%s</span><span class="s1"> terminated&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">job_flow_id</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn_id</span><span class="o">=</span><span class="s1">&#39;jenkins_default&#39;</span><span class="p">):</span>
+        <span class="n">connection</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="n">connection</span>
+        <span class="n">connectionPrefix</span> <span class="o">=</span> <span class="s1">&#39;http&#39;</span>
+        <span class="c1"># connection.extra contains info about using https (true) or http (false)</span>
+        <span class="k">if</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
+            <span class="n">connection</span><span class="o">.</span><span class="n">extra</span> <span class="o">=</span> <span class="s1">&#39;false&#39;</span>
+            <span class="c1"># set a default value to connection.extra</span>
+            <span class="c1"># to avoid rising ValueError in strtobool</span>
+        <span class="k">if</span> <span class="n">distutils</span><span class="o">.</span><span class="n">util</span><span class="o">.</span><span class="n">strtobool</span><span class="p">(</span><span class="n">connection</span><span class="o">.</span><span class="n">extra</span><span class="p">):</span>
+            <span class="n">connectionPrefix</span> <span class="o">=</span> <span class="s1">&#39;https&#39;</span>
+        <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">://</span><span class="si">%s</span><span class="s1">:</span><span class="si">%d</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">connectionPrefix</span><span class="p">,</span> <span class="n">connection</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">conne [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Trying to connect to </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">url</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">jenkins_server</span> <span class="o">=</span> <span class="n">jenkins</span><span class="o">.</span><span class="n">Jenkins</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">connection</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">connection</span><span class="o">.</span><span class="n">password</span><span class= [...]
+
+    <span class="k">def</span> <span class="nf">get_jenkins_server</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">jenkins_server</span></div>
 </pre></div>
 
            </div>
diff --git a/_modules/airflow/contrib/hooks/jira_hook.html b/_modules/airflow/contrib/hooks/jira_hook.html
new file mode 100644
index 0000000..7dc6dc0
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/jira_hook.html
@@ -0,0 +1,319 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.jira_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.jira_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.jira_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="kn">from</span> <span class="nn">jira</span> <span class="k">import</span> <span class="n">JIRA</span>
+<span class="kn">from</span> <span class="nn">jira.exceptions</span> <span class="k">import</span> <span class="n">JIRAError</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="JiraHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.jira_hook.JiraHook">[docs]</a><span class="k">class</span> <span class="nc">JiraHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Jira interaction hook, a Wrapper around JIRA Python SDK.</span>
+
+<span class="sd">    :param jira_conn_id: reference to a pre-defined Jira Connection</span>
+<span class="sd">    :type jira_conn_id: string</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">jira_conn_id</span><span class="o">=</span><span class="s1">&#39;jira_default&#39;</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">JiraHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">jira_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">jira_conn_id</span> <span class="o">=</span> <span class="n">jira_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">&#39;Creating Jira client for conn_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">jira_conn_id</span><span class="p">)</span>
+
+            <span class="n">get_server_info</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="n">validate</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="n">extra_options</span> <span class="o">=</span> <span class="p">{}</span>
+            <span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span>
+
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">jira_conn_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">jira_conn_id</span><span class="p">)</span>
+                <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                    <span class="n">extra_options</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+                    <span class="c1"># only required attributes are taken for now,</span>
+                    <span class="c1"># more can be added ex: async, logging, max_retries</span>
+
+                    <span class="c1"># verify</span>
+                    <span class="k">if</span> <span class="s1">&#39;verify&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
+                            <span class="ow">and</span> <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;verify&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                        <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;verify&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span>
+
+                    <span class="c1"># validate</span>
+                    <span class="k">if</span> <span class="s1">&#39;validate&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
+                            <span class="ow">and</span> <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;validate&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                        <span class="n">validate</span> <span class="o">=</span> <span class="kc">False</span>
+
+                    <span class="k">if</span> <span class="s1">&#39;get_server_info&#39;</span> <span class="ow">in</span> <span class="n">extra_options</span> \
+                            <span class="ow">and</span> <span class="n">extra_options</span><span class="p">[</span><span class="s1">&#39;get_server_info&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;false&#39;</span><span class="p">:</span>
+                        <span class="n">get_server_info</span> <span class="o">=</span> <span class="kc">False</span>
+
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">JIRA</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+                                       <span class="n">options</span><span class="o">=</span><span class="n">extra_options</span><span class="p">,</span>
+                                       <span class="n">basic_auth</span><span class="o">=</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">),</span>
+                                       <span class="n">get_server_info</span><span class="o">=</span><span class="n">get_server_info</span><span class="p">,</span>
+                                       <span class="n">validate</span><span class="o">=</span><span class="n">validate</span><span class="p">)</span>
+                <span class="k">except</span> <span class="n">JIRAError</span> <span class="k">as</span> <span class="n">jira_error</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Failed to create jira client, jira error: </span><span class="si">%s</span><span class="s1">&#39;</span>
+                                           <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">jira_error</span><span class="p">))</span>
+                <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+                    <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Failed to create jira client, error: </span><span class="si">%s</span><span class="s1">&#39;</span>
+                                           <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/pinot_hook.html b/_modules/airflow/contrib/hooks/pinot_hook.html
new file mode 100644
index 0000000..a34b554
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/pinot_hook.html
@@ -0,0 +1,340 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.pinot_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.pinot_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.pinot_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">six</span>
+
+<span class="kn">from</span> <span class="nn">pinotdb</span> <span class="k">import</span> <span class="n">connect</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi_hook</span> <span class="k">import</span> <span class="n">DbApiHook</span>
+
+
+<div class="viewcode-block" id="PinotDbApiHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook">[docs]</a><span class="k">class</span> <span class="nc">PinotDbApiHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Connect to pinot db(https://github.com/linkedin/pinot) to issue pql</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;pinot_broker_conn_id&#39;</span>
+    <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;pinot_broker_default&#39;</span>
+    <span class="n">supports_autocommit</span> <span class="o">=</span> <span class="kc">False</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">PinotDbApiHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+
+<div class="viewcode-block" id="PinotDbApiHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Establish a connection to pinot broker through pinot dbqpi.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pinot_broker_conn_id</span><span class="p">)</span>
+        <span class="n">pinot_broker_conn</span> <span class="o">=</span> <span class="n">connect</span><span class="p">(</span>
+            <span class="n">host</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">port</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+            <span class="n">path</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;/pql&#39;</span><span class="p">),</span>
+            <span class="n">scheme</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;schema&#39;</span><span class="p">,</span> <span class="s1">&#39;http&#39;</span><span class="p">)</span>
+        <span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Get the connection to pinot &#39;</span>
+                      <span class="s1">&#39;broker on </span><span class="si">{host}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">))</span>
+        <span class="k">return</span> <span class="n">pinot_broker_conn</span></div>
+
+<div class="viewcode-block" id="PinotDbApiHook.get_uri"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.get_uri">[docs]</a>    <span class="k">def</span> <span class="nf">get_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get the connection uri for pinot broker.</span>
+
+<span class="sd">        e.g: http://localhost:9000/pql</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">))</span>
+        <span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">host</span> <span class="o">+=</span> <span class="s1">&#39;:</span><span class="si">{port}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">port</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
+        <span class="n">conn_type</span> <span class="o">=</span> <span class="s1">&#39;http&#39;</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">conn</span><span class="o">.</span><span class="n">conn_type</span> <span class="k">else</span> <span class="n">conn</span><span class="o">.</span><span class="n">conn_type</span>
+        <span class="n">endpoint</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;endpoint&#39;</span><span class="p">,</span> <span class="s1">&#39;pql&#39;</span><span class="p">)</span>
+        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">{conn_type}</span><span class="s1">://</span><span class="si">{host}</span><span class="s1">/</span><span class="si">{endpoint}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">conn_type</span><span class="o">=</span><span class="n">conn_type</span><span class="p">,</span> <span class="n">host</span><span class="o">=</span><span class="n">host</span><span class="p">,</span> <span class="n">endpoint</span><span class="o">=</span><span class="n">endpoint</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="PinotDbApiHook.get_records"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.get_records">[docs]</a>    <span class="k">def</span> <span class="nf">get_records</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes the sql and returns a set of records.</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">six</span><span class="o">.</span><span class="n">PY2</span><span class="p">:</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
+
+        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span> <span class="k">as</span> <span class="n">cur</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="PinotDbApiHook.get_first"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.pinot_hook.PinotDbApiHook.get_first">[docs]</a>    <span class="k">def</span> <span class="nf">get_first</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Executes the sql and returns the first resulting row.</span>
+
+<span class="sd">        :param sql: the sql statement to be executed (str) or a list of</span>
+<span class="sd">            sql statements to execute</span>
+<span class="sd">        :type sql: str or list</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">six</span><span class="o">.</span><span class="n">PY2</span><span class="p">:</span>
+            <span class="n">sql</span> <span class="o">=</span> <span class="n">sql</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
+
+        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span> <span class="k">as</span> <span class="n">cur</span><span class="p">:</span>
+            <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">sql</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">cur</span><span class="o">.</span><span class="n">fetchone</span><span class="p">()</span></div>
+
+    <span class="k">def</span> <span class="nf">set_autocommit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conn</span><span class="p">,</span> <span class="n">autocommit</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">get_pandas_df</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">insert_rows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table</span><span class="p">,</span> <span class="n">rows</span><span class="p">,</span> <span class="n">target_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">commit_every</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/qubole_hook.html b/_modules/airflow/contrib/hooks/qubole_hook.html
new file mode 100644
index 0000000..c5fbc73
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/qubole_hook.html
@@ -0,0 +1,449 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.qubole_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.qubole_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.qubole_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="kn">import</span> <span class="nn">datetime</span>
+<span class="kn">import</span> <span class="nn">six</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow</span> <span class="k">import</span> <span class="n">configuration</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.state</span> <span class="k">import</span> <span class="n">State</span>
+
+<span class="kn">from</span> <span class="nn">qds_sdk.qubole</span> <span class="k">import</span> <span class="n">Qubole</span>
+<span class="kn">from</span> <span class="nn">qds_sdk.commands</span> <span class="k">import</span> <span class="n">Command</span><span class="p">,</span> <span class="n">HiveCommand</span><span class="p">,</span> <span class="n">PrestoCommand</span><span class="p">,</span> <span class="n">HadoopCommand</span><span class="p">,</span> \
+    <span class="n">PigCommand</span><span class="p">,</span> <span class="n">ShellCommand</span><span class="p">,</span> <span class="n">SparkCommand</span><span class="p">,</span> <span class="n">DbTapQueryCommand</span><span class="p">,</span> <span class="n">DbExportCommand</span><span class="p">,</span> \
+    <span class="n">DbImportCommand</span>
+
+
+<span class="n">COMMAND_CLASSES</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;hivecmd&quot;</span><span class="p">:</span> <span class="n">HiveCommand</span><span class="p">,</span>
+    <span class="s2">&quot;prestocmd&quot;</span><span class="p">:</span> <span class="n">PrestoCommand</span><span class="p">,</span>
+    <span class="s2">&quot;hadoopcmd&quot;</span><span class="p">:</span> <span class="n">HadoopCommand</span><span class="p">,</span>
+    <span class="s2">&quot;shellcmd&quot;</span><span class="p">:</span> <span class="n">ShellCommand</span><span class="p">,</span>
+    <span class="s2">&quot;pigcmd&quot;</span><span class="p">:</span> <span class="n">PigCommand</span><span class="p">,</span>
+    <span class="s2">&quot;sparkcmd&quot;</span><span class="p">:</span> <span class="n">SparkCommand</span><span class="p">,</span>
+    <span class="s2">&quot;dbtapquerycmd&quot;</span><span class="p">:</span> <span class="n">DbTapQueryCommand</span><span class="p">,</span>
+    <span class="s2">&quot;dbexportcmd&quot;</span><span class="p">:</span> <span class="n">DbExportCommand</span><span class="p">,</span>
+    <span class="s2">&quot;dbimportcmd&quot;</span><span class="p">:</span> <span class="n">DbImportCommand</span>
+<span class="p">}</span>
+
+<span class="n">HYPHEN_ARGS</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;app_id&#39;</span><span class="p">,</span> <span class="s1">&#39;note_id&#39;</span><span class="p">]</span>
+
+<span class="n">POSITIONAL_ARGS</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;sub_command&#39;</span><span class="p">,</span> <span class="s1">&#39;parameters&#39;</span><span class="p">]</span>
+
+<span class="n">COMMAND_ARGS</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;hivecmd&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;sample_size&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;prestocmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;hadoopcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;sub_command&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;shellcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;script&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;files&#39;</span><span class="p">,</span> <span class="s1">&#39;archives&#39;</span><span class="p">,</span> <span class="s1">&#39;parameters&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span>
+                 <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;pigcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;script&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;parameters&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span>
+               <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;dbtapquerycmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;db_tap_id&#39;</span><span class="p">,</span> <span class="s1">&#39;query&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;sparkcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;program&#39;</span><span class="p">,</span> <span class="s1">&#39;cmdline&#39;</span><span class="p">,</span> <span class="s1">&#39;sql&#39;</span><span class="p">,</span> <span class="s1">&#39;script_location&#39;</span><span class="p">,</span> <span class="s1">&#39;macros&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span>
+                 <span class="s1">&#39;cluster_label&#39;</span><span class="p">,</span> <span class="s1">&#39;language&#39;</span><span class="p">,</span> <span class="s1">&#39;app_id&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">,</span> <span class="s1">&#39;arguments&#39;</span><span class="p">,</span> <span class="s1">&#39;note_id&#39;</span><span class="p">,</span>
+                 <span class="s1">&#39;user_program_arguments&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;dbexportcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;mode&#39;</span><span class="p">,</span> <span class="s1">&#39;hive_table&#39;</span><span class="p">,</span> <span class="s1">&#39;partition_spec&#39;</span><span class="p">,</span> <span class="s1">&#39;dbtap_id&#39;</span><span class="p">,</span> <span class="s1">&#39;db_table&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;db_update_mode&#39;</span><span class="p">,</span> <span class="s1">&#39;db_update_keys&#39;</span><span class="p">,</span> <span class="s1">&#39;export_dir&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;fields_terminated_by&#39;</span><span class="p">,</span> <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">],</span>
+    <span class="s1">&#39;dbimportcmd&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;mode&#39;</span><span class="p">,</span> <span class="s1">&#39;hive_table&#39;</span><span class="p">,</span> <span class="s1">&#39;dbtap_id&#39;</span><span class="p">,</span> <span class="s1">&#39;db_table&#39;</span><span class="p">,</span> <span class="s1">&#39;where_clause&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;parallelism&#39;</span><span class="p">,</span> <span class="s1">&#39;extract_query&#39;</span><span class="p">,</span> <span class="s1">&#39;boundary_query&#39;</span><span class="p">,</span> <span class="s1">&#39;split_column&#39;</span><span class="p">,</span>
+                    <span class="s1">&#39;tags&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">]</span>
+<span class="p">}</span>
+
+
+<div class="viewcode-block" id="QuboleHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.qubole_hook.QuboleHook">[docs]</a><span class="k">class</span> <span class="nc">QuboleHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;qubole_conn_id&#39;</span><span class="p">])</span>
+        <span class="n">Qubole</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="n">api_token</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span><span class="p">,</span> <span class="n">api_url</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;task_id&#39;</span><span class="p">]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">=</span> <span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;dag&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">dag_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span> <span class="o">=</span> <span class="n">kwargs</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cls</span> <span class="o">=</span> <span class="n">COMMAND_CLASSES</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;command_type&#39;</span><span class="p">]]</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">handle_failure_retry</span><span class="p">(</span><span class="n">context</span><span class="p">):</span>
+        <span class="n">ti</span> <span class="o">=</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;ti&#39;</span><span class="p">]</span>
+        <span class="n">cmd_id</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s1">&#39;qbol_cmd_id&#39;</span><span class="p">,</span> <span class="n">task_ids</span><span class="o">=</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">cmd_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">cmd</span> <span class="o">=</span> <span class="n">Command</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">cmd_id</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">cmd</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">log</span> <span class="o">=</span> <span class="n">LoggingMixin</span><span class="p">()</span><span class="o">.</span><span class="n">log</span>
+                <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;done&#39;</span><span class="p">:</span>
+                    <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Command ID: </span><span class="si">%s</span><span class="s1"> has been succeeded, hence marking this &#39;</span>
+                                <span class="s1">&#39;TI as Success.&#39;</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span>
+                    <span class="n">ti</span><span class="o">.</span><span class="n">state</span> <span class="o">=</span> <span class="n">State</span><span class="o">.</span><span class="n">SUCCESS</span>
+                <span class="k">elif</span> <span class="n">cmd</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;running&#39;</span><span class="p">:</span>
+                    <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Cancelling the Qubole Command Id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span>
+                    <span class="n">cmd</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">execute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">args</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">create_cmd_args</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="o">**</span><span class="n">args</span><span class="p">)</span>
+        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;task_instance&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">xcom_push</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s1">&#39;qbol_cmd_id&#39;</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
+            <span class="s2">&quot;Qubole command created with Id: </span><span class="si">%s</span><span class="s2"> and Status: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">status</span>
+        <span class="p">)</span>
+
+        <span class="k">while</span> <span class="ow">not</span> <span class="n">Command</span><span class="o">.</span><span class="n">is_done</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">status</span><span class="p">):</span>
+            <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">Qubole</span><span class="o">.</span><span class="n">poll_interval</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Command Id: </span><span class="si">%s</span><span class="s2"> and Status: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">id</span><span class="p [...]
+
+        <span class="k">if</span> <span class="s1">&#39;fetch_logs&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;fetch_logs&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Logs for Command Id: </span><span class="si">%s</span><span class="s2"> </span><span class="se">\n</span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n"> [...]
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="s1">&#39;done&#39;</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s1">&#39;Command Id: </span><span class="si">{0}</span><span class="s1"> failed with Status: </span><span class="si">{1}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                                   <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">status</span><span class="p">))</span>
+
+<div class="viewcode-block" id="QuboleHook.kill"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.qubole_hook.QuboleHook.kill">[docs]</a>    <span class="k">def</span> <span class="nf">kill</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Kill (cancel) a Qubole commmand</span>
+<span class="sd">        :param ti: Task Instance of the dag, used to determine the Quboles command id</span>
+<span class="sd">        :return: response from Qubole</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">cmd_id</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s2">&quot;qbol_cmd_id&quot;</span><span class="p">,</span> <span class="n">task_ids</span><span class="o">=</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">cmd_id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Sending KILL signal to Qubole Command Id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="QuboleHook.get_results"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.qubole_hook.QuboleHook.get_results">[docs]</a>    <span class="k">def</span> <span class="nf">get_results</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">fp</span><span class="o">=</span><span class="kc">None [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get results (or just s3 locations) of a command from Qubole and save into a file</span>
+<span class="sd">        :param ti: Task Instance of the dag, used to determine the Quboles command id</span>
+<span class="sd">        :param fp: Optional file pointer, will create one and return if None passed</span>
+<span class="sd">        :param inline: True to download actual results, False to get s3 locations only</span>
+<span class="sd">        :param delim: Replaces the CTL-A chars with the given delim, defaults to &#39;,&#39;</span>
+<span class="sd">        :param fetch: when inline is True, get results directly from s3 (if large)</span>
+<span class="sd">        :return: file location containing actual results or s3 locations of results</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">fp</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">iso</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+            <span class="n">logpath</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span>
+                <span class="n">configuration</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;core&#39;</span><span class="p">,</span> <span class="s1">&#39;BASE_LOG_FOLDER&#39;</span><span class="p">)</span>
+            <span class="p">)</span>
+            <span class="n">resultpath</span> <span class="o">=</span> <span class="n">logpath</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span> <span class="o">+</span> <span class="s1">&#39;/resul [...]
+            <span class="n">configuration</span><span class="o">.</span><span class="n">mkdir_p</span><span class="p">(</span><span class="n">resultpath</span><span class="p">)</span>
+            <span class="n">fp</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">resultpath</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">iso</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">cmd_id</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s2">&quot;qbol_cmd_id&quot;</span><span class="p">,</span> <span class="n">task_ids</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">cmd_id</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span><span class="o">.</span><span class="n">get_results</span><span class="p">(</span><span class="n">fp</span><span class="p">,</span> <span class="n">inline</span><span class="p">,</span> <span class="n">delim</span><span class="p">,</span> <span class="n">fetch</span><span class="p">)</span>
+        <span class="n">fp</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
+        <span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="k">return</span> <span class="n">fp</span><span class="o">.</span><span class="n">name</span></div>
+
+<div class="viewcode-block" id="QuboleHook.get_log"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.qubole_hook.QuboleHook.get_log">[docs]</a>    <span class="k">def</span> <span class="nf">get_log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get Logs of a command from Qubole</span>
+<span class="sd">        :param ti: Task Instance of the dag, used to determine the Quboles command id</span>
+<span class="sd">        :return: command log as text</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">cmd_id</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s2">&quot;qbol_cmd_id&quot;</span><span class="p">,</span> <span class="n">task_ids</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+        <span class="n">Command</span><span class="o">.</span><span class="n">get_log_id</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="QuboleHook.get_jobs_id"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.qubole_hook.QuboleHook.get_jobs_id">[docs]</a>    <span class="k">def</span> <span class="nf">get_jobs_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Get jobs associated with a Qubole commands</span>
+<span class="sd">        :param ti: Task Instance of the dag, used to determine the Quboles command id</span>
+<span class="sd">        :return: Job informations assoiciated with command</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmd</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">cmd_id</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">xcom_pull</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="s2">&quot;qbol_cmd_id&quot;</span><span class="p">,</span> <span class="n">task_ids</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">)</span>
+        <span class="n">Command</span><span class="o">.</span><span class="n">get_jobs_id</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="p">,</span> <span class="n">cmd_id</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">create_cmd_args</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+        <span class="n">args</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="n">cmd_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s1">&#39;command_type&#39;</span><span class="p">]</span>
+        <span class="n">inplace_args</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">tags</span> <span class="o">=</span> <span class="nb">set</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span> <span class="n">context</span><span class="p">[</span><span class="s1">&#39;run_id&#39;</span><span class="p">]])</span>
+
+        <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+            <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">COMMAND_ARGS</span><span class="p">[</span><span class="n">cmd_type</span><span class="p">]:</span>
+                <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">HYPHEN_ARGS</span><span class="p">:</span>
+                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class=" [...]
+                <span class="k">elif</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">POSITIONAL_ARGS</span><span class="p">:</span>
+                    <span class="n">inplace_args</span> <span class="o">=</span> <span class="n">v</span>
+                <span class="k">elif</span> <span class="n">k</span> <span class="o">==</span> <span class="s1">&#39;tags&#39;</span><span class="p">:</span>
+                    <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">):</span>
+                        <span class="n">tags</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">v</span><span class="p">)</span>
+                    <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span>
+                        <span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">v</span><span class="p">:</span>
+                            <span class="n">tags</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--</span><span class="si">{0}</span><span class="s2">=</span><span class="si">{1}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="n">v</span><span class="p">))</span>
+
+            <span class="k">if</span> <span class="n">k</span> <span class="o">==</span> <span class="s1">&#39;notify&#39;</span> <span class="ow">and</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
+                <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--notify&quot;</span><span class="p">)</span>
+
+        <span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot;--tags=</span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">, [...]
+
+        <span class="k">if</span> <span class="n">inplace_args</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">args</span> <span class="o">+=</span> <span class="n">inplace_args</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">args</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/redis_hook.html b/_modules/airflow/contrib/hooks/redis_hook.html
new file mode 100644
index 0000000..1d0c202
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/redis_hook.html
@@ -0,0 +1,328 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.redis_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.redis_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.redis_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">RedisHook module</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="kn">from</span> <span class="nn">redis</span> <span class="k">import</span> <span class="n">StrictRedis</span>
+
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="k">import</span> <span class="n">LoggingMixin</span>
+
+
+<div class="viewcode-block" id="RedisHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.redis_hook.RedisHook">[docs]</a><span class="k">class</span> <span class="nc">RedisHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">,</span> <span class="n">LoggingMixin</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Hook to interact with Redis database</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">redis_conn_id</span><span class="o">=</span><span class="s1">&#39;redis_default&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Prepares hook to connect to a Redis database.</span>
+
+<span class="sd">        :param conn_id:     the name of the connection that has the parameters</span>
+<span class="sd">                            we need to connect to Redis.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">redis_conn_id</span> <span class="o">=</span> <span class="n">redis_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">redis_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">port</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">password</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">db</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;db&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+            <span class="sd">&#39;&#39;&#39;Connection &quot;{conn}&quot;:</span>
+<span class="sd">            \thost: {host}</span>
+<span class="sd">            \tport: {port}</span>
+<span class="sd">            \textra: {extra}</span>
+<span class="sd">            &#39;&#39;&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="n">conn</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">redis_conn_id</span><span class="p">,</span>
+                <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+                <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                <span class="n">extra</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span>
+            <span class="p">)</span>
+        <span class="p">)</span>
+
+<div class="viewcode-block" id="RedisHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.redis_hook.RedisHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a Redis connection.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span>
+                <span class="s1">&#39;generating Redis client for conn_id &quot;</span><span class="si">%s</span><span class="s1">&quot; on </span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">:</span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">redis_conn_id</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">db</span>
+            <span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">StrictRedis</span><span class="p">(</span>
+                    <span class="n">host</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+                    <span class="n">port</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                    <span class="n">password</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">,</span>
+                    <span class="n">db</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">general_error</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span>
+                    <span class="s1">&#39;Failed to create Redis client, error: </span><span class="si">{error}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">error</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">general_error</span><span class="p">)</span>
+                    <span class="p">)</span>
+                <span class="p">)</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span></div>
+
+<div class="viewcode-block" id="RedisHook.key_exists"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.redis_hook.RedisHook.key_exists">[docs]</a>    <span class="k">def</span> <span class="nf">key_exists</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Checks if a key exists in Redis database</span>
+
+<span class="sd">        :param key: The key to check the existence.</span>
+<span class="sd">        :type key: string</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">key</span><span class="p">)</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/redshift_hook.html b/_modules/airflow/contrib/hooks/redshift_hook.html
new file mode 100644
index 0000000..314fd9e
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/redshift_hook.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.redshift_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.redshift_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.redshift_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">airflow.contrib.hooks.aws_hook</span> <span class="k">import</span> <span class="n">AwsHook</span>
+
+
+<div class="viewcode-block" id="RedshiftHook"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook">[docs]</a><span class="k">class</span> <span class="nc">RedshiftHook</span><span class="p">(</span><span class="n">AwsHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with AWS Redshift, using the boto3 library</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_client_type</span><span class="p">(</span><span class="s1">&#39;redshift&#39;</span><span class="p">)</span>
+
+    <span class="c1"># TODO: Wrap create_cluster_snapshot</span>
+<div class="viewcode-block" id="RedshiftHook.cluster_status"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook.cluster_status">[docs]</a>    <span class="k">def</span> <span class="nf">cluster_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cluster_identifier</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Return status of a cluster</span>
+
+<span class="sd">        :param cluster_identifier: unique identifier of a cluster</span>
+<span class="sd">        :type cluster_identifier: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">describe_clusters</span><span class="p">(</span>
+                <span class="n">ClusterIdentifier</span><span class="o">=</span><span class="n">cluster_identifier</span><span class="p">)[</span><span class="s1">&#39;Clusters&#39;</span><span class="p">]</span>
+            <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;ClusterStatus&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">response</span> <span class="k">else</span> <span class="kc">None</span>
+        <span class="k">except</span> <span class="n">conn</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ClusterNotFoundFault</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s1">&#39;cluster_not_found&#39;</span></div>
+
+<div class="viewcode-block" id="RedshiftHook.delete_cluster"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook.delete_cluster">[docs]</a>    <span class="k">def</span> <span class="nf">delete_cluster</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span>
+            <span class="n">cluster_identifier</span><span class="p">,</span>
+            <span class="n">skip_final_cluster_snapshot</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
+            <span class="n">final_cluster_snapshot_identifier</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Delete a cluster and optionally create a snapshot</span>
+
+<span class="sd">        :param cluster_identifier: unique identifier of a cluster</span>
+<span class="sd">        :type cluster_identifier: str</span>
+<span class="sd">        :param skip_final_cluster_snapshot: determines cluster snapshot creation</span>
+<span class="sd">        :type skip_final_cluster_snapshot: bool</span>
+<span class="sd">        :param final_cluster_snapshot_identifier: name of final cluster snapshot</span>
+<span class="sd">        :type final_cluster_snapshot_identifier: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">delete_cluster</span><span class="p">(</span>
+            <span class="n">ClusterIdentifier</span><span class="o">=</span><span class="n">cluster_identifier</span><span class="p">,</span>
+            <span class="n">SkipFinalClusterSnapshot</span><span class="o">=</span><span class="n">skip_final_cluster_snapshot</span><span class="p">,</span>
+            <span class="n">FinalClusterSnapshotIdentifier</span><span class="o">=</span><span class="n">final_cluster_snapshot_identifier</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Cluster&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Cluster&#39;</span><span class="p">]</span> <span class="k">else</span> <span class="kc">None</span></div>
+
+<div class="viewcode-block" id="RedshiftHook.describe_cluster_snapshots"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook.describe_cluster_snapshots">[docs]</a>    <span class="k">def</span> <span class="nf">describe_cluster_snapshots</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cluster_identifier</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Gets a list of snapshots for a cluster</span>
+
+<span class="sd">        :param cluster_identifier: unique identifier of a cluster</span>
+<span class="sd">        :type cluster_identifier: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">describe_cluster_snapshots</span><span class="p">(</span>
+            <span class="n">ClusterIdentifier</span><span class="o">=</span><span class="n">cluster_identifier</span>
+        <span class="p">)</span>
+        <span class="k">if</span> <span class="s1">&#39;Snapshots&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
+            <span class="k">return</span> <span class="kc">None</span>
+        <span class="n">snapshots</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Snapshots&#39;</span><span class="p">]</span>
+        <span class="n">snapshots</span> <span class="o">=</span> <span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;Status&#39;</span><span class="p">],</span> <span class="n">snapshots</span><span class="p">)</span>
+        <span class="n">snapshots</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;SnapshotCreateTime&#39;</span><span class="p">],</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">snapshots</span></div>
+
+<div class="viewcode-block" id="RedshiftHook.restore_from_cluster_snapshot"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook.restore_from_cluster_snapshot">[docs]</a>    <span class="k">def</span> <span class="nf">restore_from_cluster_snapshot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cluster_identifier</span><span class="p">,</span> <span class="n">snapshot_identifier</sp [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Restores a cluster from its snapshot</span>
+
+<span class="sd">        :param cluster_identifier: unique identifier of a cluster</span>
+<span class="sd">        :type cluster_identifier: str</span>
+<span class="sd">        :param snapshot_identifier: unique identifier for a snapshot of a cluster</span>
+<span class="sd">        :type snapshot_identifier: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">restore_from_cluster_snapshot</span><span class="p">(</span>
+            <span class="n">ClusterIdentifier</span><span class="o">=</span><span class="n">cluster_identifier</span><span class="p">,</span>
+            <span class="n">SnapshotIdentifier</span><span class="o">=</span><span class="n">snapshot_identifier</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Cluster&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Cluster&#39;</span><span class="p">]</span> <span class="k">else</span> <span class="kc">None</span></div>
+
+<div class="viewcode-block" id="RedshiftHook.create_cluster_snapshot"><a class="viewcode-back" href="../../../../integration.html#airflow.contrib.hooks.redshift_hook.RedshiftHook.create_cluster_snapshot">[docs]</a>    <span class="k">def</span> <span class="nf">create_cluster_snapshot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">snapshot_identifier</span><span class="p">,</span> <span class="n">cluster_identifier</span><span class="p" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a snapshot of a cluster</span>
+
+<span class="sd">        :param snapshot_identifier: unique identifier for a snapshot of a cluster</span>
+<span class="sd">        :type snapshot_identifier: str</span>
+<span class="sd">        :param cluster_identifier: unique identifier of a cluster</span>
+<span class="sd">        :type cluster_identifier: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span><span class="o">.</span><span class="n">create_cluster_snapshot</span><span class="p">(</span>
+            <span class="n">SnapshotIdentifier</span><span class="o">=</span><span class="n">snapshot_identifier</span><span class="p">,</span>
+            <span class="n">ClusterIdentifier</span><span class="o">=</span><span class="n">cluster_identifier</span><span class="p">,</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Snapshot&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Snapshot&#39;</span><span class="p">]</span> <span class="k">else</span> <span class="kc">None</span></div></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/sftp_hook.html b/_modules/airflow/contrib/hooks/sftp_hook.html
new file mode 100644
index 0000000..6b048cb
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/sftp_hook.html
@@ -0,0 +1,404 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.sftp_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.sftp_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.sftp_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">stat</span>
+<span class="kn">import</span> <span class="nn">pysftp</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">datetime</span>
+<span class="kn">from</span> <span class="nn">airflow.hooks.base_hook</span> <span class="k">import</span> <span class="n">BaseHook</span>
+
+
+<div class="viewcode-block" id="SFTPHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook">[docs]</a><span class="k">class</span> <span class="nc">SFTPHook</span><span class="p">(</span><span class="n">BaseHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with SFTP. Aims to be interchangeable with FTPHook.</span>
+
+<span class="sd">    Pitfalls: - In contrast with FTPHook describe_directory only returns size, type and</span>
+<span class="sd">                modify. It doesn&#39;t return unix.owner, unix.mode, perm, unix.group and</span>
+<span class="sd">                unique.</span>
+<span class="sd">              - retrieve_file and store_file only take a local full path and not a</span>
+<span class="sd">                buffer.</span>
+<span class="sd">              - If no mode is passed to create_directory it will be created with 777</span>
+<span class="sd">                permissions.</span>
+
+<span class="sd">    Errors that may occur throughout but should be handled downstream.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ftp_conn_id</span><span class="o">=</span><span class="s1">&#39;sftp_default&#39;</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span> <span class="o">=</span> <span class="n">ftp_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span>
+
+<div class="viewcode-block" id="SFTPHook.get_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns an SFTP connection object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">params</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ftp_conn_id</span><span class="p">)</span>
+            <span class="n">cnopts</span> <span class="o">=</span> <span class="n">pysftp</span><span class="o">.</span><span class="n">CnOpts</span><span class="p">()</span>
+            <span class="k">if</span> <span class="p">(</span><span class="s1">&#39;ignore_hostkey_verification&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span> <span class="ow">and</span>
+                    <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;ignore_hostkey_verification&#39;</span><span class="p">]):</span>
+                <span class="n">cnopts</span><span class="o">.</span><span class="n">hostkeys</span> <span class="o">=</span> <span class="kc">None</span>
+            <span class="n">conn_params</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="s1">&#39;host&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+                <span class="s1">&#39;port&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+                <span class="s1">&#39;username&#39;</span><span class="p">:</span> <span class="n">params</span><span class="o">.</span><span class="n">login</span><span class="p">,</span>
+                <span class="s1">&#39;cnopts&#39;</span><span class="p">:</span> <span class="n">cnopts</span>
+            <span class="p">}</span>
+            <span class="k">if</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;password&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">password</span>
+            <span class="k">if</span> <span class="s1">&#39;private_key&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;private_key&#39;</span><span class="p">]</span>
+            <span class="k">if</span> <span class="s1">&#39;private_key_pass&#39;</span> <span class="ow">in</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">:</span>
+                <span class="n">conn_params</span><span class="p">[</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">params</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s1">&#39;private_key_pass&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="n">pysftp</span><span class="o">.</span><span class="n">Connection</span><span class="p">(</span><span class="o">**</span><span class="n">conn_params</span><span class="p">)</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span></div>
+
+<div class="viewcode-block" id="SFTPHook.close_conn"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.close_conn">[docs]</a>    <span class="k">def</span> <span class="nf">close_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Closes the connection. An error will occur if the</span>
+<span class="sd">        connection wasnt ever opened.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">conn</span> <span class="o">=</span> <span class="kc">None</span></div>
+
+<div class="viewcode-block" id="SFTPHook.describe_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.describe_directory">[docs]</a>    <span class="k">def</span> <span class="nf">describe_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a dictionary of {filename: {attributes}} for all files</span>
+<span class="sd">        on the remote system (where the MLSD command is supported).</span>
+<span class="sd">        :param path: full path to the remote directory</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">flist</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">listdir_attr</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+        <span class="n">files</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">flist</span><span class="p">:</span>
+            <span class="n">modify</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span>
+                <span class="n">f</span><span class="o">.</span><span class="n">st_mtime</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span>
+            <span class="n">files</span><span class="p">[</span><span class="n">f</span><span class="o">.</span><span class="n">filename</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
+                <span class="s1">&#39;size&#39;</span><span class="p">:</span> <span class="n">f</span><span class="o">.</span><span class="n">st_size</span><span class="p">,</span>
+                <span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;dir&#39;</span> <span class="k">if</span> <span class="n">stat</span><span class="o">.</span><span class="n">S_ISDIR</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">st_mode</span><span class="p">)</span> <span class="k">else</span> <span class="s1">&#39;file&#39;</span><span class="p">,</span>
+                <span class="s1">&#39;modify&#39;</span><span class="p">:</span> <span class="n">modify</span><span class="p">}</span>
+        <span class="k">return</span> <span class="n">files</span></div>
+
+<div class="viewcode-block" id="SFTPHook.list_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.list_directory">[docs]</a>    <span class="k">def</span> <span class="nf">list_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns a list of files on the remote system.</span>
+<span class="sd">        :param path: full path to the remote directory to list</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">files</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">files</span></div>
+
+<div class="viewcode-block" id="SFTPHook.create_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.create_directory">[docs]</a>    <span class="k">def</span> <span class="nf">create_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="mi">777</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates a directory on the remote system.</span>
+<span class="sd">        :param path: full path to the remote directory to create</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        :param mode: int representation of octal mode for directory</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SFTPHook.delete_directory"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.delete_directory">[docs]</a>    <span class="k">def</span> <span class="nf">delete_directory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Deletes a directory on the remote system.</span>
+<span class="sd">        :param path: full path to the remote directory to delete</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SFTPHook.retrieve_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.retrieve_file">[docs]</a>    <span class="k">def</span> <span class="nf">retrieve_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Transfers the remote file to a local location.</span>
+<span class="sd">        If local_full_path is a string path, the file will be put</span>
+<span class="sd">        at that location</span>
+<span class="sd">        :param remote_full_path: full path to the remote file</span>
+<span class="sd">        :type remote_full_path: str</span>
+<span class="sd">        :param local_full_path: full path to the local file</span>
+<span class="sd">        :type local_full_path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Retrieving file from FTP: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">))</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path</span><span class="p">)</span>
+        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Finished retrieving file from FTP: </span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">remote_full_path</span><span class="p">))</span></div>
+
+<div class="viewcode-block" id="SFTPHook.store_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.store_file">[docs]</a>    <span class="k">def</span> <span class="nf">store_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">,</span> <span class="n">local_full_path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Transfers a local file to the remote location.</span>
+<span class="sd">        If local_full_path_or_buffer is a string path, the file will be read</span>
+<span class="sd">        from that location</span>
+<span class="sd">        :param remote_full_path: full path to the remote file</span>
+<span class="sd">        :type remote_full_path: str</span>
+<span class="sd">        :param local_full_path: full path to the local file</span>
+<span class="sd">        :type local_full_path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="n">local_full_path</span><span class="p">,</span> <span class="n">remote_full_path</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="SFTPHook.delete_file"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.sftp_hook.SFTPHook.delete_file">[docs]</a>    <span class="k">def</span> <span class="nf">delete_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Removes a file on the FTP Server</span>
+<span class="sd">        :param path: full path to the remote file</span>
+<span class="sd">        :type path: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">conn</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></div>
+
+    <span class="k">def</span> <span class="nf">get_mod_time</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_conn</span><span class="p">()</span>
+        <span class="n">ftp_mdtm</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">path</span><span class="p">)</span><span class="o">.</span><span class="n">st_mtime</span>
+        <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">ftp_mdtm</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span></div>
+</pre></div>
+
+           </div>
+           <div class="articleComments">
+            
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true,
+            SOURCELINK_SUFFIX: '.txt'
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/_modules/airflow/contrib/hooks/slack_webhook_hook.html b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
new file mode 100644
index 0000000..e3e9dfc
--- /dev/null
+++ b/_modules/airflow/contrib/hooks/slack_webhook_hook.html
@@ -0,0 +1,364 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.slack_webhook_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+        <link rel="index" title="Index"
+              href="../../../../genindex.html"/>
+        <link rel="search" title="Search" href="../../../../search.html"/>
+    <link rel="top" title="Airflow Documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="../../../../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+   
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search">
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">Experimental Rest API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../code.html">API Reference</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+        
+      <li>airflow.contrib.hooks.slack_webhook_hook</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for airflow.contrib.hooks.slack_webhook_hook</h1><div class="highlight"><pre>
+<span></span><span class="c1"># -*- coding: utf-8 -*-</span>
+<span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+<span class="c1">#</span>
+<span class="kn">import</span> <span class="nn">json</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.http_hook</span> <span class="k">import</span> <span class="n">HttpHook</span>
+<span class="kn">from</span> <span class="nn">airflow.exceptions</span> <span class="k">import</span> <span class="n">AirflowException</span>
+
+
+<div class="viewcode-block" id="SlackWebhookHook"><a class="viewcode-back" href="../../../../code.html#airflow.contrib.hooks.slack_webhook_hook.SlackWebhookHook">[docs]</a><span class="k">class</span> <span class="nc">SlackWebhookHook</span><span class="p">(</span><span class="n">HttpHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    This hook allows you to post messages to Slack using incoming webhooks.</span>
+<span class="sd">    Takes both Slack webhook token directly and connection that has Slack webhook token.</span>
+<span class="sd">    If both supplied, Slack webhook token will be used.</span>
+
+<span class="sd">    Each Slack webhook token can be pre-configured to use a specific channel, username and</span>
+<span class="sd">    icon. You can override these defaults in this hook.</span>
+
+<span class="sd">    :param http_conn_id: connection that has Slack webhook token in the extra field</span>
+<span class="sd">    :type http_conn_id: str</span>
+<span class="sd">    :param webhook_token: Slack webhook token</span>
+<span class="sd">    :type webhook_token: str</span>
+<span class="sd">    :param message: The message you want to send on Slack</span>
+<span class="sd">    :type message: str</span>
+<span class="sd">    :param channel: The channel the message should be posted to</span>
+<span class="sd">    :type channel: str</span>
+<span class="sd">    :param username: The username to post to slack with</span>
+<span class="sd">    :type username: str</span>
+<span class="sd">    :param icon_emoji: The emoji to use as icon for the user posting to Slack</span>
+<span class="sd">    :type icon_emoji: str</span>
+<span class="sd">    :param link_names: Whether or not to find and link channel and usernames in your</span>
+<span class="sd">                       message</span>
+<span class="sd">    :type link_names: bool</span>
+<span class="sd">    :param proxy: Proxy to use to make the Slack webhook call</span>
+<span class="sd">    :type proxy: str</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
+                 <span class="n">http_conn_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">webhook_token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">message</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+                 <span class="n">channel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">username</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">icon_emoji</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="n">link_names</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
+                 <span class="n">proxy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
+                 <span class="o">*</span><span class="n">args</span><span class="p">,</span>
+                 <span class="o">**</span><span class="n">kwargs</span>
+                 <span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span class="n">SlackWebhookHook</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">http_conn_id</span> <span class="o">=</span> <span class="n">http_conn_id</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">webhook_token</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_token</span><span class="p">(</span><span class="n">webhook_token</span><span class="p">,</span> <span class="n">http_conn_id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">message</span> <span class="o">=</span> <span class="n">message</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">channel</span> <span class="o">=</span> <span class="n">channel</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">icon_emoji</span> <span class="o">=</span> <span class="n">icon_emoji</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">link_names</span> <span class="o">=</span> <span class="n">link_names</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">proxy</span> <span class="o">=</span> <span class="n">proxy</span>
... 88592 lines suppressed ...


[airflow-site] 25/30: [AIRFLOW-5574] Fix Google Analytics script loading (#5)

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit dc1ef1ae1f24b6b91ede1a5ad0ee7d9f71d40d80
Author: Kamil Breguła <mi...@users.noreply.github.com>
AuthorDate: Tue Oct 1 12:28:15 2019 +0100

    [AIRFLOW-5574] Fix Google Analytics script loading (#5)
---
 1.10.5/_api/airflow/contrib/executors/index.html                 | 9 ++++++++-
 .../airflow/contrib/executors/kubernetes_executor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html        | 9 ++++++++-
 .../contrib/hooks/azure_container_instance_hook/index.html       | 9 ++++++++-
 .../contrib/hooks/azure_container_registry_hook/index.html       | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_volume_hook/index.html | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/hooks/azure_data_lake_hook/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/hooks/azure_fileshare_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html       | 9 ++++++++-
 .../_api/airflow/contrib/hooks/discord_webhook_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html             | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html   | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_natural_language_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html    | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_speech_to_text_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html        | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_text_to_speech_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html  | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_video_intelligence_hook/index.html | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html          | 9 ++++++++-
 .../_api/airflow/contrib/operators/adls_list_operator/index.html | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html     | 9 ++++++++-
 .../airflow/contrib/operators/aws_athena_operator/index.html     | 9 ++++++++-
 .../contrib/operators/aws_sqs_publish_operator/index.html        | 9 ++++++++-
 .../_api/airflow/contrib/operators/awsbatch_operator/index.html  | 9 ++++++++-
 .../operators/azure_container_instances_operator/index.html      | 9 ++++++++-
 .../airflow/contrib/operators/azure_cosmos_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/bigquery_check_operator/index.html | 9 ++++++++-
 .../_api/airflow/contrib/operators/bigquery_get_data/index.html  | 9 ++++++++-
 .../_api/airflow/contrib/operators/bigquery_operator/index.html  | 9 ++++++++-
 .../contrib/operators/bigquery_table_delete_operator/index.html  | 9 ++++++++-
 .../airflow/contrib/operators/bigquery_to_bigquery/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html | 9 ++++++++-
 .../_api/airflow/contrib/operators/cassandra_to_gcs/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/databricks_operator/index.html     | 9 ++++++++-
 .../_api/airflow/contrib/operators/dataflow_operator/index.html  | 9 ++++++++-
 .../_api/airflow/contrib/operators/dataproc_operator/index.html  | 9 ++++++++-
 .../contrib/operators/datastore_export_operator/index.html       | 9 ++++++++-
 .../contrib/operators/datastore_import_operator/index.html       | 9 ++++++++-
 .../_api/airflow/contrib/operators/dingding_operator/index.html  | 9 ++++++++-
 .../contrib/operators/discord_webhook_operator/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/druid_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/emr_add_steps_operator/index.html  | 9 ++++++++-
 .../contrib/operators/emr_create_job_flow_operator/index.html    | 9 ++++++++-
 .../contrib/operators/emr_terminate_job_flow_operator/index.html | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/gcp_bigtable_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_cloud_build_operator/index.html        | 9 ++++++++-
 .../airflow/contrib/operators/gcp_compute_operator/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/gcp_container_operator/index.html  | 9 ++++++++-
 .../_api/airflow/contrib/operators/gcp_dlp_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcp_function_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_natural_language_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcp_spanner_operator/index.html    | 9 ++++++++-
 .../contrib/operators/gcp_speech_to_text_operator/index.html     | 9 ++++++++-
 .../_api/airflow/contrib/operators/gcp_sql_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_text_to_speech_operator/index.html     | 9 ++++++++-
 .../airflow/contrib/operators/gcp_transfer_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcp_translate_operator/index.html  | 9 ++++++++-
 .../contrib/operators/gcp_translate_speech_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_video_intelligence_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/gcp_vision_operator/index.html     | 9 ++++++++-
 .../_api/airflow/contrib/operators/gcs_acl_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcs_delete_operator/index.html     | 9 ++++++++-
 .../airflow/contrib/operators/gcs_download_operator/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/operators/gcs_list_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html       | 9 ++++++++-
 .../_api/airflow/contrib/operators/hipchat_operator/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/operators/hive_to_dynamodb/index.html   | 9 ++++++++-
 .../contrib/operators/imap_attachment_to_s3_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/index.html                 | 9 ++++++++-
 .../contrib/operators/jenkins_job_trigger_operator/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/jira_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/kubernetes_pod_operator/index.html | 9 ++++++++-
 .../_api/airflow/contrib/operators/mlengine_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/opsgenie_alert_operator/index.html | 9 ++++++++-
 .../operators/oracle_to_azure_data_lake_transfer/index.html      | 9 ++++++++-
 .../contrib/operators/oracle_to_oracle_transfer/index.html       | 9 ++++++++-
 .../contrib/operators/postgres_to_gcs_operator/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/qubole_check_operator/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/redis_publish_operator/index.html  | 9 ++++++++-
 .../airflow/contrib/operators/s3_copy_object_operator/index.html | 9 ++++++++-
 .../contrib/operators/s3_delete_objects_operator/index.html      | 9 ++++++++-
 .../_api/airflow/contrib/operators/s3_list_operator/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/operators/s3_to_gcs_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/s3_to_sftp_operator/index.html     | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_base_operator/index.html | 9 ++++++++-
 .../operators/sagemaker_endpoint_config_operator/index.html      | 9 ++++++++-
 .../contrib/operators/sagemaker_endpoint_operator/index.html     | 9 ++++++++-
 .../contrib/operators/sagemaker_model_operator/index.html        | 9 ++++++++-
 .../contrib/operators/sagemaker_training_operator/index.html     | 9 ++++++++-
 .../contrib/operators/sagemaker_transform_operator/index.html    | 9 ++++++++-
 .../contrib/operators/sagemaker_tuning_operator/index.html       | 9 ++++++++-
 .../contrib/operators/segment_track_event_operator/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html   | 9 ++++++++-
 .../airflow/contrib/operators/sftp_to_s3_operator/index.html     | 9 ++++++++-
 .../airflow/contrib/operators/slack_webhook_operator/index.html  | 9 ++++++++-
 .../_api/airflow/contrib/operators/snowflake_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/sns_publish_operator/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/spark_jdbc_operator/index.html     | 9 ++++++++-
 .../_api/airflow/contrib/operators/spark_sql_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/spark_submit_operator/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html    | 9 ++++++++-
 .../_api/airflow/contrib/operators/vertica_operator/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html | 9 ++++++++-
 .../_api/airflow/contrib/operators/vertica_to_mysql/index.html   | 9 ++++++++-
 .../contrib/operators/wasb_delete_blob_operator/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html | 9 ++++++++-
 .../contrib/sensors/aws_glue_catalog_partition_sensor/index.html | 9 ++++++++-
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html    | 9 ++++++++-
 .../_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html   | 9 ++++++++-
 .../airflow/contrib/sensors/cassandra_record_sensor/index.html   | 9 ++++++++-
 .../airflow/contrib/sensors/cassandra_table_sensor/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html   | 9 ++++++++-
 .../_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html        | 9 ++++++++-
 .../_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html       | 9 ++++++++-
 .../airflow/contrib/sensors/imap_attachment_sensor/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html  | 9 ++++++++-
 .../_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_base_sensor/index.html     | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_training_sensor/index.html | 9 ++++++++-
 .../contrib/sensors/sagemaker_transform_sensor/index.html        | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_tuning_sensor/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/executors/base_executor/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/executors/celery_executor/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/executors/dask_executor/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/executors/index.html                         | 9 ++++++++-
 1.10.5/_api/airflow/executors/local_executor/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/executors/sequential_executor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/hooks/S3_hook/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/hooks/base_hook/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/hooks/dbapi_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/docker_hook/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/hooks/druid_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/hdfs_hook/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/hooks/hive_hooks/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/http_hook/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/hooks/index.html                             | 9 ++++++++-
 1.10.5/_api/airflow/hooks/jdbc_hook/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/hooks/mssql_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/mysql_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/oracle_hook/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/hooks/pig_hook/index.html                    | 9 ++++++++-
 1.10.5/_api/airflow/hooks/postgres_hook/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/hooks/presto_hook/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/hooks/samba_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/slack_hook/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/hooks/sqlite_hook/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/hooks/webhdfs_hook/index.html                | 9 ++++++++-
 1.10.5/_api/airflow/hooks/zendesk_hook/index.html                | 9 ++++++++-
 1.10.5/_api/airflow/models/base/index.html                       | 9 ++++++++-
 1.10.5/_api/airflow/models/baseoperator/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/models/chart/index.html                      | 9 ++++++++-
 1.10.5/_api/airflow/models/connection/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/models/crypto/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/models/dag/index.html                        | 9 ++++++++-
 1.10.5/_api/airflow/models/dagbag/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/models/dagpickle/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/models/dagrun/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/models/errors/index.html                     | 9 ++++++++-
 1.10.5/_api/airflow/models/index.html                            | 9 ++++++++-
 1.10.5/_api/airflow/models/knownevent/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/models/kubernetes/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/models/log/index.html                        | 9 ++++++++-
 1.10.5/_api/airflow/models/pool/index.html                       | 9 ++++++++-
 1.10.5/_api/airflow/models/skipmixin/index.html                  | 9 ++++++++-
 1.10.5/_api/airflow/models/slamiss/index.html                    | 9 ++++++++-
 1.10.5/_api/airflow/models/taskfail/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/models/taskinstance/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/models/taskreschedule/index.html             | 9 ++++++++-
 1.10.5/_api/airflow/models/user/index.html                       | 9 ++++++++-
 1.10.5/_api/airflow/models/variable/index.html                   | 9 ++++++++-
 1.10.5/_api/airflow/models/xcom/index.html                       | 9 ++++++++-
 1.10.5/_api/airflow/operators/bash_operator/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/branch_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/check_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/dagrun_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/docker_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/druid_check_operator/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/operators/dummy_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/email_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/generic_transfer/index.html        | 9 ++++++++-
 1.10.5/_api/airflow/operators/hive_operator/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/hive_stats_operator/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/operators/hive_to_druid/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/hive_to_mysql/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/operators/http_operator/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/index.html                         | 9 ++++++++-
 1.10.5/_api/airflow/operators/jdbc_operator/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/latest_only_operator/index.html    | 9 ++++++++-
 1.10.5/_api/airflow/operators/mssql_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/mssql_to_hive/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/mysql_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/mysql_to_hive/index.html           | 9 ++++++++-
 1.10.5/_api/airflow/operators/oracle_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/pig_operator/index.html            | 9 ++++++++-
 1.10.5/_api/airflow/operators/postgres_operator/index.html       | 9 ++++++++-
 1.10.5/_api/airflow/operators/presto_check_operator/index.html   | 9 ++++++++-
 1.10.5/_api/airflow/operators/presto_to_mysql/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/python_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html | 9 ++++++++-
 .../_api/airflow/operators/s3_file_transform_operator/index.html | 9 ++++++++-
 1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html | 9 ++++++++-
 1.10.5/_api/airflow/operators/sensors/index.html                 | 9 ++++++++-
 1.10.5/_api/airflow/operators/slack_operator/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/operators/sqlite_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/operators/subdag_operator/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/sensors/base_sensor_operator/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/sensors/external_task_sensor/index.html      | 9 ++++++++-
 1.10.5/_api/airflow/sensors/hdfs_sensor/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html     | 9 ++++++++-
 1.10.5/_api/airflow/sensors/http_sensor/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/sensors/index.html                           | 9 ++++++++-
 .../_api/airflow/sensors/metastore_partition_sensor/index.html   | 9 ++++++++-
 .../_api/airflow/sensors/named_hive_partition_sensor/index.html  | 9 ++++++++-
 1.10.5/_api/airflow/sensors/s3_key_sensor/index.html             | 9 ++++++++-
 1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html          | 9 ++++++++-
 1.10.5/_api/airflow/sensors/sql_sensor/index.html                | 9 ++++++++-
 1.10.5/_api/airflow/sensors/time_delta_sensor/index.html         | 9 ++++++++-
 1.10.5/_api/airflow/sensors/time_sensor/index.html               | 9 ++++++++-
 1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html           | 9 ++++++++-
 1.10.5/_api/index.html                                           | 9 ++++++++-
 .../airflow/contrib/example_dags/example_dingding_operator.html  | 9 ++++++++-
 .../contrib/example_dags/example_gcp_bigtable_operators.html     | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_cloud_build.html    | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_compute.html        | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_compute_igm.html    | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_function.html       | 9 ++++++++-
 .../contrib/example_dags/example_gcp_natural_language.html       | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_spanner.html        | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_speech.html         | 9 ++++++++-
 .../_modules/airflow/contrib/example_dags/example_gcp_sql.html   | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_sql_query.html      | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_transfer.html       | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_translate.html      | 9 ++++++++-
 .../contrib/example_dags/example_gcp_video_intelligence.html     | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_vision.html         | 9 ++++++++-
 .../_modules/airflow/contrib/example_dags/example_gcs_acl.html   | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcs_to_bq_operator.html | 9 ++++++++-
 .../_modules/airflow/contrib/executors/kubernetes_executor.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/executors/mesos_executor.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_firehose_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_hook.html              | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html          | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_instance_hook.html     | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_registry_hook.html     | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_volume_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/azure_cosmos_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/azure_data_lake_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/azure_fileshare_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/discord_webhook_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/emr_hook.html              | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/fs_hook.html               | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html              | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_api_base_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_container_hook.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_function_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html     | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_natural_language_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html      | 9 ++++++++-
 .../_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html          | 9 ++++++++-
 .../_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_transfer_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_translate_hook.html    | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_video_intelligence_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html              | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html             | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/imap_hook.html             | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/jira_hook.html             | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html            | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html   | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html            | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/qubole_check_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html           | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/redis_hook.html            | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/segment_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html             | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/slack_webhook_hook.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_script.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/spark_submit_hook.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html            | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html              | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html             | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html            | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators.html                   | 9 ++++++++-
 .../_modules/airflow/contrib/operators/adls_list_operator.html   | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html       | 9 ++++++++-
 .../_modules/airflow/contrib/operators/aws_athena_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/aws_sqs_publish_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/awsbatch_operator.html | 9 ++++++++-
 .../contrib/operators/azure_container_instances_operator.html    | 9 ++++++++-
 .../airflow/contrib/operators/azure_cosmos_operator.html         | 9 ++++++++-
 .../airflow/contrib/operators/bigquery_check_operator.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/bigquery_get_data.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/bigquery_operator.html | 9 ++++++++-
 .../contrib/operators/bigquery_table_delete_operator.html        | 9 ++++++++-
 .../_modules/airflow/contrib/operators/bigquery_to_bigquery.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/bigquery_to_gcs.html   | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/cassandra_to_gcs.html  | 9 ++++++++-
 .../_modules/airflow/contrib/operators/databricks_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/dataflow_operator.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/dataproc_operator.html | 9 ++++++++-
 .../airflow/contrib/operators/datastore_export_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/datastore_import_operator.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/dingding_operator.html | 9 ++++++++-
 .../airflow/contrib/operators/discord_webhook_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/druid_operator.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/ecs_operator.html      | 9 ++++++++-
 .../airflow/contrib/operators/emr_add_steps_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/emr_create_job_flow_operator.html  | 9 ++++++++-
 .../contrib/operators/emr_terminate_job_flow_operator.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/file_to_gcs.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/file_to_wasb.html      | 9 ++++++++-
 .../airflow/contrib/operators/gcp_bigtable_operator.html         | 9 ++++++++-
 .../airflow/contrib/operators/gcp_cloud_build_operator.html      | 9 ++++++++-
 .../_modules/airflow/contrib/operators/gcp_compute_operator.html | 9 ++++++++-
 .../airflow/contrib/operators/gcp_container_operator.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcp_dlp_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/gcp_function_operator.html         | 9 ++++++++-
 .../airflow/contrib/operators/gcp_natural_language_operator.html | 9 ++++++++-
 .../_modules/airflow/contrib/operators/gcp_spanner_operator.html | 9 ++++++++-
 .../airflow/contrib/operators/gcp_speech_to_text_operator.html   | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcp_sql_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/gcp_text_to_speech_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcp_transfer_operator.html         | 9 ++++++++-
 .../airflow/contrib/operators/gcp_translate_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/gcp_translate_speech_operator.html | 9 ++++++++-
 .../contrib/operators/gcp_video_intelligence_operator.html       | 9 ++++++++-
 .../_modules/airflow/contrib/operators/gcp_vision_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_acl_operator.html  | 9 ++++++++-
 .../_modules/airflow/contrib/operators/gcs_delete_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/gcs_download_operator.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_list_operator.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_to_bq.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_to_gcs.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/gcs_to_s3.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/hipchat_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/hive_to_dynamodb.html  | 9 ++++++++-
 .../contrib/operators/imap_attachment_to_s3_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/jenkins_job_trigger_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/jira_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/kubernetes_pod_operator.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/mlengine_operator.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/mongo_to_s3.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/mssql_to_gcs.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/mysql_to_gcs.html      | 9 ++++++++-
 .../airflow/contrib/operators/opsgenie_alert_operator.html       | 9 ++++++++-
 .../contrib/operators/oracle_to_azure_data_lake_transfer.html    | 9 ++++++++-
 .../airflow/contrib/operators/oracle_to_oracle_transfer.html     | 9 ++++++++-
 .../airflow/contrib/operators/postgres_to_gcs_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/pubsub_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/qubole_check_operator.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/qubole_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/redis_publish_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/s3_copy_object_operator.html       | 9 ++++++++-
 .../airflow/contrib/operators/s3_delete_objects_operator.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/s3_list_operator.html  | 9 ++++++++-
 .../_modules/airflow/contrib/operators/s3_to_gcs_operator.html   | 9 ++++++++-
 .../_modules/airflow/contrib/operators/s3_to_sftp_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_base_operator.html       | 9 ++++++++-
 .../contrib/operators/sagemaker_endpoint_config_operator.html    | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_endpoint_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_model_operator.html      | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_training_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_transform_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_tuning_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/segment_track_event_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/sftp_operator.html     | 9 ++++++++-
 .../_modules/airflow/contrib/operators/sftp_to_s3_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/slack_webhook_operator.html        | 9 ++++++++-
 .../_modules/airflow/contrib/operators/snowflake_operator.html   | 9 ++++++++-
 .../_modules/airflow/contrib/operators/sns_publish_operator.html | 9 ++++++++-
 .../_modules/airflow/contrib/operators/spark_jdbc_operator.html  | 9 ++++++++-
 .../_modules/airflow/contrib/operators/spark_sql_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/spark_submit_operator.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/sql_to_gcs.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/sqoop_operator.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/ssh_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/vertica_operator.html  | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/vertica_to_hive.html   | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/vertica_to_mysql.html  | 9 ++++++++-
 .../airflow/contrib/operators/wasb_delete_blob_operator.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/operators/winrm_operator.html    | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/aws_athena_sensor.html   | 9 ++++++++-
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html       | 9 ++++++++-
 .../airflow/contrib/sensors/aws_redshift_cluster_sensor.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/aws_sqs_sensor.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/azure_cosmos_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/bash_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/bigquery_sensor.html     | 9 ++++++++-
 .../airflow/contrib/sensors/cassandra_record_sensor.html         | 9 ++++++++-
 .../_modules/airflow/contrib/sensors/cassandra_table_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/datadog_sensor.html      | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/emr_base_sensor.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/emr_job_flow_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/emr_step_sensor.html     | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/file_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/ftp_sensor.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/gcp_transfer_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/gcs_sensor.html          | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/hdfs_sensor.html         | 9 ++++++++-
 .../_modules/airflow/contrib/sensors/imap_attachment_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/jira_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/mongo_sensor.html        | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/pubsub_sensor.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/python_sensor.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/qubole_sensor.html       | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/redis_key_sensor.html    | 9 ++++++++-
 .../_modules/airflow/contrib/sensors/redis_pub_sub_sensor.html   | 9 ++++++++-
 .../_modules/airflow/contrib/sensors/sagemaker_base_sensor.html  | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor.html       | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_training_sensor.html       | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_transform_sensor.html      | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_tuning_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/sftp_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/wasb_sensor.html         | 9 ++++++++-
 1.10.5/_modules/airflow/contrib/sensors/weekday_sensor.html      | 9 ++++++++-
 1.10.5/_modules/airflow/example_dags/example_bash_operator.html  | 9 ++++++++-
 .../_modules/airflow/example_dags/example_python_operator.html   | 9 ++++++++-
 1.10.5/_modules/airflow/exceptions.html                          | 9 ++++++++-
 1.10.5/_modules/airflow/executors.html                           | 9 ++++++++-
 1.10.5/_modules/airflow/executors/base_executor.html             | 9 ++++++++-
 1.10.5/_modules/airflow/executors/celery_executor.html           | 9 ++++++++-
 1.10.5/_modules/airflow/executors/dask_executor.html             | 9 ++++++++-
 1.10.5/_modules/airflow/executors/local_executor.html            | 9 ++++++++-
 1.10.5/_modules/airflow/executors/sequential_executor.html       | 9 ++++++++-
 1.10.5/_modules/airflow/hooks.html                               | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/S3_hook.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/base_hook.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/dbapi_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/docker_hook.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/druid_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/hdfs_hook.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/hive_hooks.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/http_hook.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/jdbc_hook.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/mssql_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/mysql_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/oracle_hook.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/pig_hook.html                      | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/postgres_hook.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/presto_hook.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/samba_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/slack_hook.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/sqlite_hook.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/webhdfs_hook.html                  | 9 ++++++++-
 1.10.5/_modules/airflow/hooks/zendesk_hook.html                  | 9 ++++++++-
 1.10.5/_modules/airflow/macros.html                              | 9 ++++++++-
 1.10.5/_modules/airflow/macros/hive.html                         | 9 ++++++++-
 1.10.5/_modules/airflow/models.html                              | 9 ++++++++-
 1.10.5/_modules/airflow/models/base.html                         | 9 ++++++++-
 1.10.5/_modules/airflow/models/baseoperator.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/models/chart.html                        | 9 ++++++++-
 1.10.5/_modules/airflow/models/connection.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/models/crypto.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/models/dag.html                          | 9 ++++++++-
 1.10.5/_modules/airflow/models/dagbag.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/models/dagpickle.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/models/dagrun.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/models/errors.html                       | 9 ++++++++-
 1.10.5/_modules/airflow/models/knownevent.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/models/kubernetes.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/models/log.html                          | 9 ++++++++-
 1.10.5/_modules/airflow/models/pool.html                         | 9 ++++++++-
 1.10.5/_modules/airflow/models/skipmixin.html                    | 9 ++++++++-
 1.10.5/_modules/airflow/models/slamiss.html                      | 9 ++++++++-
 1.10.5/_modules/airflow/models/taskfail.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/models/taskinstance.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/models/taskreschedule.html               | 9 ++++++++-
 1.10.5/_modules/airflow/models/user.html                         | 9 ++++++++-
 1.10.5/_modules/airflow/models/variable.html                     | 9 ++++++++-
 1.10.5/_modules/airflow/models/xcom.html                         | 9 ++++++++-
 1.10.5/_modules/airflow/operators.html                           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/bash_operator.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/branch_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/check_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/dagrun_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/docker_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/druid_check_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/operators/dummy_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/email_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/generic_transfer.html          | 9 ++++++++-
 1.10.5/_modules/airflow/operators/hive_operator.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/hive_stats_operator.html       | 9 ++++++++-
 1.10.5/_modules/airflow/operators/hive_to_druid.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/hive_to_mysql.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/hive_to_samba_operator.html    | 9 ++++++++-
 1.10.5/_modules/airflow/operators/http_operator.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/jdbc_operator.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/latest_only_operator.html      | 9 ++++++++-
 1.10.5/_modules/airflow/operators/mssql_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/mssql_to_hive.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/mysql_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/mysql_to_hive.html             | 9 ++++++++-
 1.10.5/_modules/airflow/operators/oracle_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/pig_operator.html              | 9 ++++++++-
 1.10.5/_modules/airflow/operators/postgres_operator.html         | 9 ++++++++-
 1.10.5/_modules/airflow/operators/presto_check_operator.html     | 9 ++++++++-
 1.10.5/_modules/airflow/operators/presto_to_mysql.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/python_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/redshift_to_s3_operator.html   | 9 ++++++++-
 .../_modules/airflow/operators/s3_file_transform_operator.html   | 9 ++++++++-
 1.10.5/_modules/airflow/operators/s3_to_hive_operator.html       | 9 ++++++++-
 1.10.5/_modules/airflow/operators/s3_to_redshift_operator.html   | 9 ++++++++-
 1.10.5/_modules/airflow/operators/sensors.html                   | 9 ++++++++-
 1.10.5/_modules/airflow/operators/slack_operator.html            | 9 ++++++++-
 1.10.5/_modules/airflow/operators/sqlite_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/operators/subdag_operator.html           | 9 ++++++++-
 1.10.5/_modules/airflow/sensors.html                             | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/base_sensor_operator.html        | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/external_task_sensor.html        | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/hdfs_sensor.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/hive_partition_sensor.html       | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/http_sensor.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/metastore_partition_sensor.html  | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/named_hive_partition_sensor.html | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/s3_key_sensor.html               | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/s3_prefix_sensor.html            | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/sql_sensor.html                  | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/time_delta_sensor.html           | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/time_sensor.html                 | 9 ++++++++-
 1.10.5/_modules/airflow/sensors/web_hdfs_sensor.html             | 9 ++++++++-
 1.10.5/_modules/airflow/utils/log/logging_mixin.html             | 9 ++++++++-
 1.10.5/_modules/index.html                                       | 9 ++++++++-
 1.10.5/api.html                                                  | 9 ++++++++-
 1.10.5/changelog.html                                            | 9 ++++++++-
 1.10.5/cli.html                                                  | 9 ++++++++-
 1.10.5/concepts.html                                             | 9 ++++++++-
 1.10.5/faq.html                                                  | 9 ++++++++-
 1.10.5/genindex.html                                             | 9 ++++++++-
 1.10.5/howto/check-health.html                                   | 9 ++++++++-
 1.10.5/howto/connection/aws.html                                 | 9 ++++++++-
 1.10.5/howto/connection/gcp.html                                 | 9 ++++++++-
 1.10.5/howto/connection/gcp_sql.html                             | 9 ++++++++-
 1.10.5/howto/connection/grpc.html                                | 9 ++++++++-
 1.10.5/howto/connection/index.html                               | 9 ++++++++-
 1.10.5/howto/connection/mysql.html                               | 9 ++++++++-
 1.10.5/howto/connection/oracle.html                              | 9 ++++++++-
 1.10.5/howto/connection/postgres.html                            | 9 ++++++++-
 1.10.5/howto/connection/ssh.html                                 | 9 ++++++++-
 1.10.5/howto/define_extra_link.html                              | 9 ++++++++-
 1.10.5/howto/executor/use-celery.html                            | 9 ++++++++-
 1.10.5/howto/executor/use-dask.html                              | 9 ++++++++-
 1.10.5/howto/executor/use-mesos.html                             | 9 ++++++++-
 1.10.5/howto/index.html                                          | 9 ++++++++-
 1.10.5/howto/initialize-database.html                            | 9 ++++++++-
 1.10.5/howto/operator/bash.html                                  | 9 ++++++++-
 1.10.5/howto/operator/dingding.html                              | 9 ++++++++-
 1.10.5/howto/operator/gcp/bigtable.html                          | 9 ++++++++-
 1.10.5/howto/operator/gcp/cloud_build.html                       | 9 ++++++++-
 1.10.5/howto/operator/gcp/compute.html                           | 9 ++++++++-
 1.10.5/howto/operator/gcp/function.html                          | 9 ++++++++-
 1.10.5/howto/operator/gcp/gcs.html                               | 9 ++++++++-
 1.10.5/howto/operator/gcp/index.html                             | 9 ++++++++-
 1.10.5/howto/operator/gcp/natural_language.html                  | 9 ++++++++-
 1.10.5/howto/operator/gcp/spanner.html                           | 9 ++++++++-
 1.10.5/howto/operator/gcp/speech.html                            | 9 ++++++++-
 1.10.5/howto/operator/gcp/sql.html                               | 9 ++++++++-
 1.10.5/howto/operator/gcp/transfer.html                          | 9 ++++++++-
 1.10.5/howto/operator/gcp/translate-speech.html                  | 9 ++++++++-
 1.10.5/howto/operator/gcp/translate.html                         | 9 ++++++++-
 1.10.5/howto/operator/gcp/video.html                             | 9 ++++++++-
 1.10.5/howto/operator/gcp/vision.html                            | 9 ++++++++-
 1.10.5/howto/operator/index.html                                 | 9 ++++++++-
 1.10.5/howto/operator/python.html                                | 9 ++++++++-
 1.10.5/howto/run-behind-proxy.html                               | 9 ++++++++-
 1.10.5/howto/run-with-systemd.html                               | 9 ++++++++-
 1.10.5/howto/run-with-upstart.html                               | 9 ++++++++-
 1.10.5/howto/secure-connections.html                             | 9 ++++++++-
 1.10.5/howto/set-config.html                                     | 9 ++++++++-
 1.10.5/howto/tracking-user-activity.html                         | 9 ++++++++-
 1.10.5/howto/use-test-config.html                                | 9 ++++++++-
 1.10.5/howto/write-logs.html                                     | 9 ++++++++-
 1.10.5/http-routingtable.html                                    | 9 ++++++++-
 1.10.5/index.html                                                | 9 ++++++++-
 1.10.5/installation.html                                         | 9 ++++++++-
 1.10.5/integration.html                                          | 9 ++++++++-
 1.10.5/kubernetes.html                                           | 9 ++++++++-
 1.10.5/license.html                                              | 9 ++++++++-
 1.10.5/lineage.html                                              | 9 ++++++++-
 1.10.5/macros.html                                               | 9 ++++++++-
 1.10.5/metrics.html                                              | 9 ++++++++-
 1.10.5/plugins.html                                              | 9 ++++++++-
 1.10.5/privacy_notice.html                                       | 9 ++++++++-
 1.10.5/profiling.html                                            | 9 ++++++++-
 1.10.5/project.html                                              | 9 ++++++++-
 1.10.5/py-modindex.html                                          | 9 ++++++++-
 1.10.5/scheduler.html                                            | 9 ++++++++-
 1.10.5/search.html                                               | 9 ++++++++-
 1.10.5/security.html                                             | 9 ++++++++-
 1.10.5/start.html                                                | 9 ++++++++-
 1.10.5/timezone.html                                             | 9 ++++++++-
 1.10.5/tutorial.html                                             | 9 ++++++++-
 1.10.5/ui.html                                                   | 9 ++++++++-
 _api/airflow/contrib/executors/index.html                        | 9 ++++++++-
 _api/airflow/contrib/executors/kubernetes_executor/index.html    | 9 ++++++++-
 _api/airflow/contrib/executors/mesos_executor/index.html         | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_athena_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_dynamodb_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_firehose_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html      | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_hook/index.html                   | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_lambda_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_logs_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_sns_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html               | 9 ++++++++-
 .../contrib/hooks/azure_container_instance_hook/index.html       | 9 ++++++++-
 .../contrib/hooks/azure_container_registry_hook/index.html       | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_volume_hook/index.html | 9 ++++++++-
 _api/airflow/contrib/hooks/azure_cosmos_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/azure_data_lake_hook/index.html       | 9 ++++++++-
 _api/airflow/contrib/hooks/azure_fileshare_hook/index.html       | 9 ++++++++-
 _api/airflow/contrib/hooks/bigquery_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/cassandra_hook/index.html             | 9 ++++++++-
 _api/airflow/contrib/hooks/cloudant_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/databricks_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/datadog_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/datastore_hook/index.html             | 9 ++++++++-
 _api/airflow/contrib/hooks/dingding_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/discord_webhook_hook/index.html       | 9 ++++++++-
 _api/airflow/contrib/hooks/emr_hook/index.html                   | 9 ++++++++-
 _api/airflow/contrib/hooks/fs_hook/index.html                    | 9 ++++++++-
 _api/airflow/contrib/hooks/ftp_hook/index.html                   | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_api_base_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_bigtable_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html       | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_compute_hook/index.html           | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_container_hook/index.html         | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_dataflow_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_dataproc_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_function_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_mlengine_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_natural_language_hook/index.html  | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_pubsub_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_spanner_hook/index.html           | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html    | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html    | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_transfer_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_translate_hook/index.html         | 9 ++++++++-
 .../airflow/contrib/hooks/gcp_video_intelligence_hook/index.html | 9 ++++++++-
 _api/airflow/contrib/hooks/gcp_vision_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/gcs_hook/index.html                   | 9 ++++++++-
 _api/airflow/contrib/hooks/grpc_hook/index.html                  | 9 ++++++++-
 _api/airflow/contrib/hooks/imap_hook/index.html                  | 9 ++++++++-
 _api/airflow/contrib/hooks/index.html                            | 9 ++++++++-
 _api/airflow/contrib/hooks/jenkins_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/jira_hook/index.html                  | 9 ++++++++-
 _api/airflow/contrib/hooks/mongo_hook/index.html                 | 9 ++++++++-
 _api/airflow/contrib/hooks/openfaas_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/opsgenie_alert_hook/index.html        | 9 ++++++++-
 _api/airflow/contrib/hooks/pinot_hook/index.html                 | 9 ++++++++-
 _api/airflow/contrib/hooks/qubole_check_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/qubole_hook/index.html                | 9 ++++++++-
 _api/airflow/contrib/hooks/redis_hook/index.html                 | 9 ++++++++-
 _api/airflow/contrib/hooks/redshift_hook/index.html              | 9 ++++++++-
 _api/airflow/contrib/hooks/sagemaker_hook/index.html             | 9 ++++++++-
 _api/airflow/contrib/hooks/salesforce_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/segment_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/sftp_hook/index.html                  | 9 ++++++++-
 _api/airflow/contrib/hooks/slack_webhook_hook/index.html         | 9 ++++++++-
 _api/airflow/contrib/hooks/snowflake_hook/index.html             | 9 ++++++++-
 _api/airflow/contrib/hooks/spark_jdbc_hook/index.html            | 9 ++++++++-
 _api/airflow/contrib/hooks/spark_jdbc_script/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/spark_sql_hook/index.html             | 9 ++++++++-
 _api/airflow/contrib/hooks/spark_submit_hook/index.html          | 9 ++++++++-
 _api/airflow/contrib/hooks/sqoop_hook/index.html                 | 9 ++++++++-
 _api/airflow/contrib/hooks/ssh_hook/index.html                   | 9 ++++++++-
 _api/airflow/contrib/hooks/vertica_hook/index.html               | 9 ++++++++-
 _api/airflow/contrib/hooks/wasb_hook/index.html                  | 9 ++++++++-
 _api/airflow/contrib/hooks/winrm_hook/index.html                 | 9 ++++++++-
 _api/airflow/contrib/operators/adls_list_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/adls_to_gcs/index.html            | 9 ++++++++-
 _api/airflow/contrib/operators/aws_athena_operator/index.html    | 9 ++++++++-
 .../contrib/operators/aws_sqs_publish_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/awsbatch_operator/index.html      | 9 ++++++++-
 .../operators/azure_container_instances_operator/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/azure_cosmos_operator/index.html  | 9 ++++++++-
 .../airflow/contrib/operators/bigquery_check_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/bigquery_get_data/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/bigquery_operator/index.html      | 9 ++++++++-
 .../contrib/operators/bigquery_table_delete_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/bigquery_to_bigquery/index.html   | 9 ++++++++-
 _api/airflow/contrib/operators/bigquery_to_gcs/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/cassandra_to_gcs/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/databricks_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/dataflow_operator/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/dataproc_operator/index.html      | 9 ++++++++-
 .../contrib/operators/datastore_export_operator/index.html       | 9 ++++++++-
 .../contrib/operators/datastore_import_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/dingding_operator/index.html      | 9 ++++++++-
 .../contrib/operators/discord_webhook_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/druid_operator/index.html         | 9 ++++++++-
 _api/airflow/contrib/operators/ecs_operator/index.html           | 9 ++++++++-
 _api/airflow/contrib/operators/emr_add_steps_operator/index.html | 9 ++++++++-
 .../contrib/operators/emr_create_job_flow_operator/index.html    | 9 ++++++++-
 .../contrib/operators/emr_terminate_job_flow_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/file_to_gcs/index.html            | 9 ++++++++-
 _api/airflow/contrib/operators/file_to_wasb/index.html           | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_bigtable_operator/index.html  | 9 ++++++++-
 .../contrib/operators/gcp_cloud_build_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_compute_operator/index.html   | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_container_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_dlp_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_function_operator/index.html  | 9 ++++++++-
 .../contrib/operators/gcp_natural_language_operator/index.html   | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_spanner_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_speech_to_text_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_sql_operator/index.html       | 9 ++++++++-
 .../contrib/operators/gcp_text_to_speech_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_transfer_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_translate_operator/index.html | 9 ++++++++-
 .../contrib/operators/gcp_translate_speech_operator/index.html   | 9 ++++++++-
 .../contrib/operators/gcp_video_intelligence_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/gcp_vision_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_acl_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_delete_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_download_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_list_operator/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_operator/index.html           | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_to_bq/index.html              | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_to_gcs/index.html             | 9 ++++++++-
 _api/airflow/contrib/operators/gcs_to_s3/index.html              | 9 ++++++++-
 _api/airflow/contrib/operators/hipchat_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/hive_to_dynamodb/index.html       | 9 ++++++++-
 .../contrib/operators/imap_attachment_to_s3_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/index.html                        | 9 ++++++++-
 .../contrib/operators/jenkins_job_trigger_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/jira_operator/index.html          | 9 ++++++++-
 .../airflow/contrib/operators/kubernetes_pod_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/mlengine_operator/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/mongo_to_s3/index.html            | 9 ++++++++-
 _api/airflow/contrib/operators/mssql_to_gcs/index.html           | 9 ++++++++-
 _api/airflow/contrib/operators/mysql_to_gcs/index.html           | 9 ++++++++-
 .../airflow/contrib/operators/opsgenie_alert_operator/index.html | 9 ++++++++-
 .../operators/oracle_to_azure_data_lake_transfer/index.html      | 9 ++++++++-
 .../contrib/operators/oracle_to_oracle_transfer/index.html       | 9 ++++++++-
 .../contrib/operators/postgres_to_gcs_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/pubsub_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/qubole_check_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/qubole_operator/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/redis_publish_operator/index.html | 9 ++++++++-
 .../airflow/contrib/operators/s3_copy_object_operator/index.html | 9 ++++++++-
 .../contrib/operators/s3_delete_objects_operator/index.html      | 9 ++++++++-
 _api/airflow/contrib/operators/s3_list_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/s3_to_gcs_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/s3_to_sftp_operator/index.html    | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_base_operator/index.html | 9 ++++++++-
 .../operators/sagemaker_endpoint_config_operator/index.html      | 9 ++++++++-
 .../contrib/operators/sagemaker_endpoint_operator/index.html     | 9 ++++++++-
 .../contrib/operators/sagemaker_model_operator/index.html        | 9 ++++++++-
 .../contrib/operators/sagemaker_training_operator/index.html     | 9 ++++++++-
 .../contrib/operators/sagemaker_transform_operator/index.html    | 9 ++++++++-
 .../contrib/operators/sagemaker_tuning_operator/index.html       | 9 ++++++++-
 .../contrib/operators/segment_track_event_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/sftp_operator/index.html          | 9 ++++++++-
 _api/airflow/contrib/operators/sftp_to_s3_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/slack_webhook_operator/index.html | 9 ++++++++-
 _api/airflow/contrib/operators/snowflake_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/sns_publish_operator/index.html   | 9 ++++++++-
 _api/airflow/contrib/operators/spark_jdbc_operator/index.html    | 9 ++++++++-
 _api/airflow/contrib/operators/spark_sql_operator/index.html     | 9 ++++++++-
 _api/airflow/contrib/operators/spark_submit_operator/index.html  | 9 ++++++++-
 _api/airflow/contrib/operators/sql_to_gcs/index.html             | 9 ++++++++-
 _api/airflow/contrib/operators/sqoop_operator/index.html         | 9 ++++++++-
 _api/airflow/contrib/operators/ssh_operator/index.html           | 9 ++++++++-
 _api/airflow/contrib/operators/vertica_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/vertica_to_hive/index.html        | 9 ++++++++-
 _api/airflow/contrib/operators/vertica_to_mysql/index.html       | 9 ++++++++-
 .../contrib/operators/wasb_delete_blob_operator/index.html       | 9 ++++++++-
 _api/airflow/contrib/operators/winrm_operator/index.html         | 9 ++++++++-
 _api/airflow/contrib/sensors/aws_athena_sensor/index.html        | 9 ++++++++-
 .../contrib/sensors/aws_glue_catalog_partition_sensor/index.html | 9 ++++++++-
 .../contrib/sensors/aws_redshift_cluster_sensor/index.html       | 9 ++++++++-
 _api/airflow/contrib/sensors/aws_sqs_sensor/index.html           | 9 ++++++++-
 _api/airflow/contrib/sensors/azure_cosmos_sensor/index.html      | 9 ++++++++-
 _api/airflow/contrib/sensors/bash_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/bigquery_sensor/index.html          | 9 ++++++++-
 _api/airflow/contrib/sensors/cassandra_record_sensor/index.html  | 9 ++++++++-
 _api/airflow/contrib/sensors/cassandra_table_sensor/index.html   | 9 ++++++++-
 _api/airflow/contrib/sensors/datadog_sensor/index.html           | 9 ++++++++-
 _api/airflow/contrib/sensors/emr_base_sensor/index.html          | 9 ++++++++-
 _api/airflow/contrib/sensors/emr_job_flow_sensor/index.html      | 9 ++++++++-
 _api/airflow/contrib/sensors/emr_step_sensor/index.html          | 9 ++++++++-
 _api/airflow/contrib/sensors/file_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/ftp_sensor/index.html               | 9 ++++++++-
 _api/airflow/contrib/sensors/gcp_transfer_sensor/index.html      | 9 ++++++++-
 _api/airflow/contrib/sensors/gcs_sensor/index.html               | 9 ++++++++-
 _api/airflow/contrib/sensors/hdfs_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/imap_attachment_sensor/index.html   | 9 ++++++++-
 _api/airflow/contrib/sensors/index.html                          | 9 ++++++++-
 _api/airflow/contrib/sensors/jira_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/mongo_sensor/index.html             | 9 ++++++++-
 _api/airflow/contrib/sensors/pubsub_sensor/index.html            | 9 ++++++++-
 _api/airflow/contrib/sensors/python_sensor/index.html            | 9 ++++++++-
 _api/airflow/contrib/sensors/qubole_sensor/index.html            | 9 ++++++++-
 _api/airflow/contrib/sensors/redis_key_sensor/index.html         | 9 ++++++++-
 _api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html     | 9 ++++++++-
 _api/airflow/contrib/sensors/sagemaker_base_sensor/index.html    | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html | 9 ++++++++-
 .../airflow/contrib/sensors/sagemaker_training_sensor/index.html | 9 ++++++++-
 .../contrib/sensors/sagemaker_transform_sensor/index.html        | 9 ++++++++-
 _api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html  | 9 ++++++++-
 _api/airflow/contrib/sensors/sftp_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/wasb_sensor/index.html              | 9 ++++++++-
 _api/airflow/contrib/sensors/weekday_sensor/index.html           | 9 ++++++++-
 _api/airflow/executors/base_executor/index.html                  | 9 ++++++++-
 _api/airflow/executors/celery_executor/index.html                | 9 ++++++++-
 _api/airflow/executors/dask_executor/index.html                  | 9 ++++++++-
 _api/airflow/executors/index.html                                | 9 ++++++++-
 _api/airflow/executors/local_executor/index.html                 | 9 ++++++++-
 _api/airflow/executors/sequential_executor/index.html            | 9 ++++++++-
 _api/airflow/hooks/S3_hook/index.html                            | 9 ++++++++-
 _api/airflow/hooks/base_hook/index.html                          | 9 ++++++++-
 _api/airflow/hooks/dbapi_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/docker_hook/index.html                        | 9 ++++++++-
 _api/airflow/hooks/druid_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/hdfs_hook/index.html                          | 9 ++++++++-
 _api/airflow/hooks/hive_hooks/index.html                         | 9 ++++++++-
 _api/airflow/hooks/http_hook/index.html                          | 9 ++++++++-
 _api/airflow/hooks/index.html                                    | 9 ++++++++-
 _api/airflow/hooks/jdbc_hook/index.html                          | 9 ++++++++-
 _api/airflow/hooks/mssql_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/mysql_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/oracle_hook/index.html                        | 9 ++++++++-
 _api/airflow/hooks/pig_hook/index.html                           | 9 ++++++++-
 _api/airflow/hooks/postgres_hook/index.html                      | 9 ++++++++-
 _api/airflow/hooks/presto_hook/index.html                        | 9 ++++++++-
 _api/airflow/hooks/samba_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/slack_hook/index.html                         | 9 ++++++++-
 _api/airflow/hooks/sqlite_hook/index.html                        | 9 ++++++++-
 _api/airflow/hooks/webhdfs_hook/index.html                       | 9 ++++++++-
 _api/airflow/hooks/zendesk_hook/index.html                       | 9 ++++++++-
 _api/airflow/models/base/index.html                              | 9 ++++++++-
 _api/airflow/models/baseoperator/index.html                      | 9 ++++++++-
 _api/airflow/models/chart/index.html                             | 9 ++++++++-
 _api/airflow/models/connection/index.html                        | 9 ++++++++-
 _api/airflow/models/crypto/index.html                            | 9 ++++++++-
 _api/airflow/models/dag/index.html                               | 9 ++++++++-
 _api/airflow/models/dagbag/index.html                            | 9 ++++++++-
 _api/airflow/models/dagpickle/index.html                         | 9 ++++++++-
 _api/airflow/models/dagrun/index.html                            | 9 ++++++++-
 _api/airflow/models/errors/index.html                            | 9 ++++++++-
 _api/airflow/models/index.html                                   | 9 ++++++++-
 _api/airflow/models/knownevent/index.html                        | 9 ++++++++-
 _api/airflow/models/kubernetes/index.html                        | 9 ++++++++-
 _api/airflow/models/log/index.html                               | 9 ++++++++-
 _api/airflow/models/pool/index.html                              | 9 ++++++++-
 _api/airflow/models/skipmixin/index.html                         | 9 ++++++++-
 _api/airflow/models/slamiss/index.html                           | 9 ++++++++-
 _api/airflow/models/taskfail/index.html                          | 9 ++++++++-
 _api/airflow/models/taskinstance/index.html                      | 9 ++++++++-
 _api/airflow/models/taskreschedule/index.html                    | 9 ++++++++-
 _api/airflow/models/user/index.html                              | 9 ++++++++-
 _api/airflow/models/variable/index.html                          | 9 ++++++++-
 _api/airflow/models/xcom/index.html                              | 9 ++++++++-
 _api/airflow/operators/bash_operator/index.html                  | 9 ++++++++-
 _api/airflow/operators/branch_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/check_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/dagrun_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/docker_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/druid_check_operator/index.html           | 9 ++++++++-
 _api/airflow/operators/dummy_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/email_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/generic_transfer/index.html               | 9 ++++++++-
 _api/airflow/operators/hive_operator/index.html                  | 9 ++++++++-
 _api/airflow/operators/hive_stats_operator/index.html            | 9 ++++++++-
 _api/airflow/operators/hive_to_druid/index.html                  | 9 ++++++++-
 _api/airflow/operators/hive_to_mysql/index.html                  | 9 ++++++++-
 _api/airflow/operators/hive_to_samba_operator/index.html         | 9 ++++++++-
 _api/airflow/operators/http_operator/index.html                  | 9 ++++++++-
 _api/airflow/operators/index.html                                | 9 ++++++++-
 _api/airflow/operators/jdbc_operator/index.html                  | 9 ++++++++-
 _api/airflow/operators/latest_only_operator/index.html           | 9 ++++++++-
 _api/airflow/operators/mssql_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/mssql_to_hive/index.html                  | 9 ++++++++-
 _api/airflow/operators/mysql_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/mysql_to_hive/index.html                  | 9 ++++++++-
 _api/airflow/operators/oracle_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/pig_operator/index.html                   | 9 ++++++++-
 _api/airflow/operators/postgres_operator/index.html              | 9 ++++++++-
 _api/airflow/operators/presto_check_operator/index.html          | 9 ++++++++-
 _api/airflow/operators/presto_to_mysql/index.html                | 9 ++++++++-
 _api/airflow/operators/python_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/redshift_to_s3_operator/index.html        | 9 ++++++++-
 _api/airflow/operators/s3_file_transform_operator/index.html     | 9 ++++++++-
 _api/airflow/operators/s3_to_hive_operator/index.html            | 9 ++++++++-
 _api/airflow/operators/s3_to_redshift_operator/index.html        | 9 ++++++++-
 _api/airflow/operators/sensors/index.html                        | 9 ++++++++-
 _api/airflow/operators/slack_operator/index.html                 | 9 ++++++++-
 _api/airflow/operators/sqlite_operator/index.html                | 9 ++++++++-
 _api/airflow/operators/subdag_operator/index.html                | 9 ++++++++-
 _api/airflow/sensors/base_sensor_operator/index.html             | 9 ++++++++-
 _api/airflow/sensors/external_task_sensor/index.html             | 9 ++++++++-
 _api/airflow/sensors/hdfs_sensor/index.html                      | 9 ++++++++-
 _api/airflow/sensors/hive_partition_sensor/index.html            | 9 ++++++++-
 _api/airflow/sensors/http_sensor/index.html                      | 9 ++++++++-
 _api/airflow/sensors/index.html                                  | 9 ++++++++-
 _api/airflow/sensors/metastore_partition_sensor/index.html       | 9 ++++++++-
 _api/airflow/sensors/named_hive_partition_sensor/index.html      | 9 ++++++++-
 _api/airflow/sensors/s3_key_sensor/index.html                    | 9 ++++++++-
 _api/airflow/sensors/s3_prefix_sensor/index.html                 | 9 ++++++++-
 _api/airflow/sensors/sql_sensor/index.html                       | 9 ++++++++-
 _api/airflow/sensors/time_delta_sensor/index.html                | 9 ++++++++-
 _api/airflow/sensors/time_sensor/index.html                      | 9 ++++++++-
 _api/airflow/sensors/web_hdfs_sensor/index.html                  | 9 ++++++++-
 _api/index.html                                                  | 9 ++++++++-
 .../airflow/contrib/example_dags/example_dingding_operator.html  | 9 ++++++++-
 .../contrib/example_dags/example_gcp_bigtable_operators.html     | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_cloud_build.html    | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_compute.html   | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcp_compute_igm.html    | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_function.html  | 9 ++++++++-
 .../contrib/example_dags/example_gcp_natural_language.html       | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_spanner.html   | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_speech.html    | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_sql.html       | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_sql_query.html | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_transfer.html  | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_translate.html | 9 ++++++++-
 .../contrib/example_dags/example_gcp_video_intelligence.html     | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcp_vision.html    | 9 ++++++++-
 _modules/airflow/contrib/example_dags/example_gcs_acl.html       | 9 ++++++++-
 .../airflow/contrib/example_dags/example_gcs_to_bq_operator.html | 9 ++++++++-
 _modules/airflow/contrib/executors/kubernetes_executor.html      | 9 ++++++++-
 _modules/airflow/contrib/executors/mesos_executor.html           | 9 ++++++++-
 _modules/airflow/contrib/hooks.html                              | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_athena_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_dynamodb_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_firehose_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_glue_catalog_hook.html        | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_hook.html                     | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_lambda_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_logs_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_sns_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html                 | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_instance_hook.html     | 9 ++++++++-
 .../airflow/contrib/hooks/azure_container_registry_hook.html     | 9 ++++++++-
 _modules/airflow/contrib/hooks/azure_container_volume_hook.html  | 9 ++++++++-
 _modules/airflow/contrib/hooks/azure_cosmos_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/azure_data_lake_hook.html         | 9 ++++++++-
 _modules/airflow/contrib/hooks/azure_fileshare_hook.html         | 9 ++++++++-
 _modules/airflow/contrib/hooks/bigquery_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/cassandra_hook.html               | 9 ++++++++-
 _modules/airflow/contrib/hooks/cloudant_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/databricks_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/datadog_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/datastore_hook.html               | 9 ++++++++-
 _modules/airflow/contrib/hooks/dingding_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/discord_webhook_hook.html         | 9 ++++++++-
 _modules/airflow/contrib/hooks/emr_hook.html                     | 9 ++++++++-
 _modules/airflow/contrib/hooks/fs_hook.html                      | 9 ++++++++-
 _modules/airflow/contrib/hooks/ftp_hook.html                     | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_api_base_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_bigtable_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_cloud_build_hook.html         | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_compute_hook.html             | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_container_hook.html           | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_dataflow_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_dataproc_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_function_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_mlengine_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_natural_language_hook.html    | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_pubsub_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_spanner_hook.html             | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html      | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html      | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_transfer_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_translate_hook.html           | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html  | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcp_vision_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/gcs_hook.html                     | 9 ++++++++-
 _modules/airflow/contrib/hooks/grpc_hook.html                    | 9 ++++++++-
 _modules/airflow/contrib/hooks/imap_hook.html                    | 9 ++++++++-
 _modules/airflow/contrib/hooks/jenkins_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/jira_hook.html                    | 9 ++++++++-
 _modules/airflow/contrib/hooks/mongo_hook.html                   | 9 ++++++++-
 _modules/airflow/contrib/hooks/openfaas_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/opsgenie_alert_hook.html          | 9 ++++++++-
 _modules/airflow/contrib/hooks/pinot_hook.html                   | 9 ++++++++-
 _modules/airflow/contrib/hooks/qubole_check_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/qubole_hook.html                  | 9 ++++++++-
 _modules/airflow/contrib/hooks/redis_hook.html                   | 9 ++++++++-
 _modules/airflow/contrib/hooks/redshift_hook.html                | 9 ++++++++-
 _modules/airflow/contrib/hooks/sagemaker_hook.html               | 9 ++++++++-
 _modules/airflow/contrib/hooks/salesforce_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/segment_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/sftp_hook.html                    | 9 ++++++++-
 _modules/airflow/contrib/hooks/slack_webhook_hook.html           | 9 ++++++++-
 _modules/airflow/contrib/hooks/snowflake_hook.html               | 9 ++++++++-
 _modules/airflow/contrib/hooks/spark_jdbc_hook.html              | 9 ++++++++-
 _modules/airflow/contrib/hooks/spark_jdbc_script.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/spark_sql_hook.html               | 9 ++++++++-
 _modules/airflow/contrib/hooks/spark_submit_hook.html            | 9 ++++++++-
 _modules/airflow/contrib/hooks/sqoop_hook.html                   | 9 ++++++++-
 _modules/airflow/contrib/hooks/ssh_hook.html                     | 9 ++++++++-
 _modules/airflow/contrib/hooks/vertica_hook.html                 | 9 ++++++++-
 _modules/airflow/contrib/hooks/wasb_hook.html                    | 9 ++++++++-
 _modules/airflow/contrib/hooks/winrm_hook.html                   | 9 ++++++++-
 _modules/airflow/contrib/operators.html                          | 9 ++++++++-
 _modules/airflow/contrib/operators/adls_list_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/adls_to_gcs.html              | 9 ++++++++-
 _modules/airflow/contrib/operators/aws_athena_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/aws_sqs_publish_operator.html | 9 ++++++++-
 _modules/airflow/contrib/operators/awsbatch_operator.html        | 9 ++++++++-
 .../contrib/operators/azure_container_instances_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/azure_cosmos_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/bigquery_check_operator.html  | 9 ++++++++-
 _modules/airflow/contrib/operators/bigquery_get_data.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/bigquery_operator.html        | 9 ++++++++-
 .../contrib/operators/bigquery_table_delete_operator.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/bigquery_to_bigquery.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/bigquery_to_gcs.html          | 9 ++++++++-
 _modules/airflow/contrib/operators/cassandra_to_gcs.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/databricks_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/dataflow_operator.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/dataproc_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/datastore_export_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/datastore_import_operator.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/dingding_operator.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/discord_webhook_operator.html | 9 ++++++++-
 _modules/airflow/contrib/operators/druid_operator.html           | 9 ++++++++-
 _modules/airflow/contrib/operators/ecs_operator.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/emr_add_steps_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/emr_create_job_flow_operator.html  | 9 ++++++++-
 .../contrib/operators/emr_terminate_job_flow_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/file_to_gcs.html              | 9 ++++++++-
 _modules/airflow/contrib/operators/file_to_wasb.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_bigtable_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_cloud_build_operator.html | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_compute_operator.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_container_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_dlp_operator.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_function_operator.html    | 9 ++++++++-
 .../airflow/contrib/operators/gcp_natural_language_operator.html | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_spanner_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/gcp_speech_to_text_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_sql_operator.html         | 9 ++++++++-
 .../airflow/contrib/operators/gcp_text_to_speech_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_transfer_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_translate_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/gcp_translate_speech_operator.html | 9 ++++++++-
 .../contrib/operators/gcp_video_intelligence_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/gcp_vision_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_acl_operator.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_delete_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_download_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_list_operator.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_operator.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_to_bq.html                | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_to_gcs.html               | 9 ++++++++-
 _modules/airflow/contrib/operators/gcs_to_s3.html                | 9 ++++++++-
 _modules/airflow/contrib/operators/hipchat_operator.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/hive_to_dynamodb.html         | 9 ++++++++-
 .../contrib/operators/imap_attachment_to_s3_operator.html        | 9 ++++++++-
 .../airflow/contrib/operators/jenkins_job_trigger_operator.html  | 9 ++++++++-
 _modules/airflow/contrib/operators/jira_operator.html            | 9 ++++++++-
 _modules/airflow/contrib/operators/kubernetes_pod_operator.html  | 9 ++++++++-
 _modules/airflow/contrib/operators/mlengine_operator.html        | 9 ++++++++-
 _modules/airflow/contrib/operators/mongo_to_s3.html              | 9 ++++++++-
 _modules/airflow/contrib/operators/mssql_to_gcs.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/mysql_to_gcs.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/opsgenie_alert_operator.html  | 9 ++++++++-
 .../contrib/operators/oracle_to_azure_data_lake_transfer.html    | 9 ++++++++-
 .../airflow/contrib/operators/oracle_to_oracle_transfer.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/postgres_to_gcs_operator.html | 9 ++++++++-
 _modules/airflow/contrib/operators/pubsub_operator.html          | 9 ++++++++-
 _modules/airflow/contrib/operators/qubole_check_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/qubole_operator.html          | 9 ++++++++-
 _modules/airflow/contrib/operators/redis_publish_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/s3_copy_object_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/s3_delete_objects_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/s3_list_operator.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/s3_to_gcs_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/s3_to_sftp_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/sagemaker_base_operator.html  | 9 ++++++++-
 .../contrib/operators/sagemaker_endpoint_config_operator.html    | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_endpoint_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/sagemaker_model_operator.html | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_training_operator.html   | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_transform_operator.html  | 9 ++++++++-
 .../airflow/contrib/operators/sagemaker_tuning_operator.html     | 9 ++++++++-
 .../airflow/contrib/operators/segment_track_event_operator.html  | 9 ++++++++-
 _modules/airflow/contrib/operators/sftp_operator.html            | 9 ++++++++-
 _modules/airflow/contrib/operators/sftp_to_s3_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/slack_webhook_operator.html   | 9 ++++++++-
 _modules/airflow/contrib/operators/snowflake_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/sns_publish_operator.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/spark_jdbc_operator.html      | 9 ++++++++-
 _modules/airflow/contrib/operators/spark_sql_operator.html       | 9 ++++++++-
 _modules/airflow/contrib/operators/spark_submit_operator.html    | 9 ++++++++-
 _modules/airflow/contrib/operators/sql_to_gcs.html               | 9 ++++++++-
 _modules/airflow/contrib/operators/sqoop_operator.html           | 9 ++++++++-
 _modules/airflow/contrib/operators/ssh_operator.html             | 9 ++++++++-
 _modules/airflow/contrib/operators/vertica_operator.html         | 9 ++++++++-
 _modules/airflow/contrib/operators/vertica_to_hive.html          | 9 ++++++++-
 _modules/airflow/contrib/operators/vertica_to_mysql.html         | 9 ++++++++-
 .../airflow/contrib/operators/wasb_delete_blob_operator.html     | 9 ++++++++-
 _modules/airflow/contrib/operators/winrm_operator.html           | 9 ++++++++-
 _modules/airflow/contrib/sensors/aws_athena_sensor.html          | 9 ++++++++-
 .../contrib/sensors/aws_glue_catalog_partition_sensor.html       | 9 ++++++++-
 .../airflow/contrib/sensors/aws_redshift_cluster_sensor.html     | 9 ++++++++-
 _modules/airflow/contrib/sensors/aws_sqs_sensor.html             | 9 ++++++++-
 _modules/airflow/contrib/sensors/azure_cosmos_sensor.html        | 9 ++++++++-
 _modules/airflow/contrib/sensors/bash_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/bigquery_sensor.html            | 9 ++++++++-
 _modules/airflow/contrib/sensors/cassandra_record_sensor.html    | 9 ++++++++-
 _modules/airflow/contrib/sensors/cassandra_table_sensor.html     | 9 ++++++++-
 _modules/airflow/contrib/sensors/datadog_sensor.html             | 9 ++++++++-
 _modules/airflow/contrib/sensors/emr_base_sensor.html            | 9 ++++++++-
 _modules/airflow/contrib/sensors/emr_job_flow_sensor.html        | 9 ++++++++-
 _modules/airflow/contrib/sensors/emr_step_sensor.html            | 9 ++++++++-
 _modules/airflow/contrib/sensors/file_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/ftp_sensor.html                 | 9 ++++++++-
 _modules/airflow/contrib/sensors/gcp_transfer_sensor.html        | 9 ++++++++-
 _modules/airflow/contrib/sensors/gcs_sensor.html                 | 9 ++++++++-
 _modules/airflow/contrib/sensors/hdfs_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/imap_attachment_sensor.html     | 9 ++++++++-
 _modules/airflow/contrib/sensors/jira_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/mongo_sensor.html               | 9 ++++++++-
 _modules/airflow/contrib/sensors/pubsub_sensor.html              | 9 ++++++++-
 _modules/airflow/contrib/sensors/python_sensor.html              | 9 ++++++++-
 _modules/airflow/contrib/sensors/qubole_sensor.html              | 9 ++++++++-
 _modules/airflow/contrib/sensors/redis_key_sensor.html           | 9 ++++++++-
 _modules/airflow/contrib/sensors/redis_pub_sub_sensor.html       | 9 ++++++++-
 _modules/airflow/contrib/sensors/sagemaker_base_sensor.html      | 9 ++++++++-
 _modules/airflow/contrib/sensors/sagemaker_endpoint_sensor.html  | 9 ++++++++-
 _modules/airflow/contrib/sensors/sagemaker_training_sensor.html  | 9 ++++++++-
 _modules/airflow/contrib/sensors/sagemaker_transform_sensor.html | 9 ++++++++-
 _modules/airflow/contrib/sensors/sagemaker_tuning_sensor.html    | 9 ++++++++-
 _modules/airflow/contrib/sensors/sftp_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/wasb_sensor.html                | 9 ++++++++-
 _modules/airflow/contrib/sensors/weekday_sensor.html             | 9 ++++++++-
 _modules/airflow/example_dags/example_bash_operator.html         | 9 ++++++++-
 _modules/airflow/example_dags/example_python_operator.html       | 9 ++++++++-
 _modules/airflow/exceptions.html                                 | 9 ++++++++-
 _modules/airflow/executors.html                                  | 9 ++++++++-
 _modules/airflow/executors/base_executor.html                    | 9 ++++++++-
 _modules/airflow/executors/celery_executor.html                  | 9 ++++++++-
 _modules/airflow/executors/dask_executor.html                    | 9 ++++++++-
 _modules/airflow/executors/local_executor.html                   | 9 ++++++++-
 _modules/airflow/executors/sequential_executor.html              | 9 ++++++++-
 _modules/airflow/hooks.html                                      | 9 ++++++++-
 _modules/airflow/hooks/S3_hook.html                              | 9 ++++++++-
 _modules/airflow/hooks/base_hook.html                            | 9 ++++++++-
 _modules/airflow/hooks/dbapi_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/docker_hook.html                          | 9 ++++++++-
 _modules/airflow/hooks/druid_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/hdfs_hook.html                            | 9 ++++++++-
 _modules/airflow/hooks/hive_hooks.html                           | 9 ++++++++-
 _modules/airflow/hooks/http_hook.html                            | 9 ++++++++-
 _modules/airflow/hooks/jdbc_hook.html                            | 9 ++++++++-
 _modules/airflow/hooks/mssql_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/mysql_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/oracle_hook.html                          | 9 ++++++++-
 _modules/airflow/hooks/pig_hook.html                             | 9 ++++++++-
 _modules/airflow/hooks/postgres_hook.html                        | 9 ++++++++-
 _modules/airflow/hooks/presto_hook.html                          | 9 ++++++++-
 _modules/airflow/hooks/samba_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/slack_hook.html                           | 9 ++++++++-
 _modules/airflow/hooks/sqlite_hook.html                          | 9 ++++++++-
 _modules/airflow/hooks/webhdfs_hook.html                         | 9 ++++++++-
 _modules/airflow/hooks/zendesk_hook.html                         | 9 ++++++++-
 _modules/airflow/macros.html                                     | 9 ++++++++-
 _modules/airflow/macros/hive.html                                | 9 ++++++++-
 _modules/airflow/models.html                                     | 9 ++++++++-
 _modules/airflow/models/base.html                                | 9 ++++++++-
 _modules/airflow/models/baseoperator.html                        | 9 ++++++++-
 _modules/airflow/models/chart.html                               | 9 ++++++++-
 _modules/airflow/models/connection.html                          | 9 ++++++++-
 _modules/airflow/models/crypto.html                              | 9 ++++++++-
 _modules/airflow/models/dag.html                                 | 9 ++++++++-
 _modules/airflow/models/dagbag.html                              | 9 ++++++++-
 _modules/airflow/models/dagpickle.html                           | 9 ++++++++-
 _modules/airflow/models/dagrun.html                              | 9 ++++++++-
 _modules/airflow/models/errors.html                              | 9 ++++++++-
 _modules/airflow/models/knownevent.html                          | 9 ++++++++-
 _modules/airflow/models/kubernetes.html                          | 9 ++++++++-
 _modules/airflow/models/log.html                                 | 9 ++++++++-
 _modules/airflow/models/pool.html                                | 9 ++++++++-
 _modules/airflow/models/skipmixin.html                           | 9 ++++++++-
 _modules/airflow/models/slamiss.html                             | 9 ++++++++-
 _modules/airflow/models/taskfail.html                            | 9 ++++++++-
 _modules/airflow/models/taskinstance.html                        | 9 ++++++++-
 _modules/airflow/models/taskreschedule.html                      | 9 ++++++++-
 _modules/airflow/models/user.html                                | 9 ++++++++-
 _modules/airflow/models/variable.html                            | 9 ++++++++-
 _modules/airflow/models/xcom.html                                | 9 ++++++++-
 _modules/airflow/operators.html                                  | 9 ++++++++-
 _modules/airflow/operators/bash_operator.html                    | 9 ++++++++-
 _modules/airflow/operators/branch_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/check_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/dagrun_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/docker_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/druid_check_operator.html             | 9 ++++++++-
 _modules/airflow/operators/dummy_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/email_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/generic_transfer.html                 | 9 ++++++++-
 _modules/airflow/operators/hive_operator.html                    | 9 ++++++++-
 _modules/airflow/operators/hive_stats_operator.html              | 9 ++++++++-
 _modules/airflow/operators/hive_to_druid.html                    | 9 ++++++++-
 _modules/airflow/operators/hive_to_mysql.html                    | 9 ++++++++-
 _modules/airflow/operators/hive_to_samba_operator.html           | 9 ++++++++-
 _modules/airflow/operators/http_operator.html                    | 9 ++++++++-
 _modules/airflow/operators/jdbc_operator.html                    | 9 ++++++++-
 _modules/airflow/operators/latest_only_operator.html             | 9 ++++++++-
 _modules/airflow/operators/mssql_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/mssql_to_hive.html                    | 9 ++++++++-
 _modules/airflow/operators/mysql_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/mysql_to_hive.html                    | 9 ++++++++-
 _modules/airflow/operators/oracle_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/pig_operator.html                     | 9 ++++++++-
 _modules/airflow/operators/postgres_operator.html                | 9 ++++++++-
 _modules/airflow/operators/presto_check_operator.html            | 9 ++++++++-
 _modules/airflow/operators/presto_to_mysql.html                  | 9 ++++++++-
 _modules/airflow/operators/python_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/redshift_to_s3_operator.html          | 9 ++++++++-
 _modules/airflow/operators/s3_file_transform_operator.html       | 9 ++++++++-
 _modules/airflow/operators/s3_to_hive_operator.html              | 9 ++++++++-
 _modules/airflow/operators/s3_to_redshift_operator.html          | 9 ++++++++-
 _modules/airflow/operators/sensors.html                          | 9 ++++++++-
 _modules/airflow/operators/slack_operator.html                   | 9 ++++++++-
 _modules/airflow/operators/sqlite_operator.html                  | 9 ++++++++-
 _modules/airflow/operators/subdag_operator.html                  | 9 ++++++++-
 _modules/airflow/sensors.html                                    | 9 ++++++++-
 _modules/airflow/sensors/base_sensor_operator.html               | 9 ++++++++-
 _modules/airflow/sensors/external_task_sensor.html               | 9 ++++++++-
 _modules/airflow/sensors/hdfs_sensor.html                        | 9 ++++++++-
 _modules/airflow/sensors/hive_partition_sensor.html              | 9 ++++++++-
 _modules/airflow/sensors/http_sensor.html                        | 9 ++++++++-
 _modules/airflow/sensors/metastore_partition_sensor.html         | 9 ++++++++-
 _modules/airflow/sensors/named_hive_partition_sensor.html        | 9 ++++++++-
 _modules/airflow/sensors/s3_key_sensor.html                      | 9 ++++++++-
 _modules/airflow/sensors/s3_prefix_sensor.html                   | 9 ++++++++-
 _modules/airflow/sensors/sql_sensor.html                         | 9 ++++++++-
 _modules/airflow/sensors/time_delta_sensor.html                  | 9 ++++++++-
 _modules/airflow/sensors/time_sensor.html                        | 9 ++++++++-
 _modules/airflow/sensors/web_hdfs_sensor.html                    | 9 ++++++++-
 _modules/airflow/utils/log/logging_mixin.html                    | 9 ++++++++-
 _modules/index.html                                              | 9 ++++++++-
 api.html                                                         | 9 ++++++++-
 changelog.html                                                   | 9 ++++++++-
 cli.html                                                         | 9 ++++++++-
 concepts.html                                                    | 9 ++++++++-
 faq.html                                                         | 9 ++++++++-
 genindex.html                                                    | 9 ++++++++-
 howto/check-health.html                                          | 9 ++++++++-
 howto/connection/aws.html                                        | 9 ++++++++-
 howto/connection/gcp.html                                        | 9 ++++++++-
 howto/connection/gcp_sql.html                                    | 9 ++++++++-
 howto/connection/grpc.html                                       | 9 ++++++++-
 howto/connection/index.html                                      | 9 ++++++++-
 howto/connection/mysql.html                                      | 9 ++++++++-
 howto/connection/oracle.html                                     | 9 ++++++++-
 howto/connection/postgres.html                                   | 9 ++++++++-
 howto/connection/ssh.html                                        | 9 ++++++++-
 howto/define_extra_link.html                                     | 9 ++++++++-
 howto/executor/use-celery.html                                   | 9 ++++++++-
 howto/executor/use-dask.html                                     | 9 ++++++++-
 howto/executor/use-mesos.html                                    | 9 ++++++++-
 howto/index.html                                                 | 9 ++++++++-
 howto/initialize-database.html                                   | 9 ++++++++-
 howto/operator/bash.html                                         | 9 ++++++++-
 howto/operator/dingding.html                                     | 9 ++++++++-
 howto/operator/gcp/bigtable.html                                 | 9 ++++++++-
 howto/operator/gcp/cloud_build.html                              | 9 ++++++++-
 howto/operator/gcp/compute.html                                  | 9 ++++++++-
 howto/operator/gcp/function.html                                 | 9 ++++++++-
 howto/operator/gcp/gcs.html                                      | 9 ++++++++-
 howto/operator/gcp/index.html                                    | 9 ++++++++-
 howto/operator/gcp/natural_language.html                         | 9 ++++++++-
 howto/operator/gcp/spanner.html                                  | 9 ++++++++-
 howto/operator/gcp/speech.html                                   | 9 ++++++++-
 howto/operator/gcp/sql.html                                      | 9 ++++++++-
 howto/operator/gcp/transfer.html                                 | 9 ++++++++-
 howto/operator/gcp/translate-speech.html                         | 9 ++++++++-
 howto/operator/gcp/translate.html                                | 9 ++++++++-
 howto/operator/gcp/video.html                                    | 9 ++++++++-
 howto/operator/gcp/vision.html                                   | 9 ++++++++-
 howto/operator/index.html                                        | 9 ++++++++-
 howto/operator/python.html                                       | 9 ++++++++-
 howto/run-behind-proxy.html                                      | 9 ++++++++-
 howto/run-with-systemd.html                                      | 9 ++++++++-
 howto/run-with-upstart.html                                      | 9 ++++++++-
 howto/secure-connections.html                                    | 9 ++++++++-
 howto/set-config.html                                            | 9 ++++++++-
 howto/tracking-user-activity.html                                | 9 ++++++++-
 howto/use-test-config.html                                       | 9 ++++++++-
 howto/write-logs.html                                            | 9 ++++++++-
 http-routingtable.html                                           | 9 ++++++++-
 index.html                                                       | 9 ++++++++-
 installation.html                                                | 9 ++++++++-
 integration.html                                                 | 9 ++++++++-
 kubernetes.html                                                  | 9 ++++++++-
 license.html                                                     | 9 ++++++++-
 lineage.html                                                     | 9 ++++++++-
 macros.html                                                      | 9 ++++++++-
 metrics.html                                                     | 9 ++++++++-
 plugins.html                                                     | 9 ++++++++-
 privacy_notice.html                                              | 9 ++++++++-
 profiling.html                                                   | 9 ++++++++-
 project.html                                                     | 9 ++++++++-
 py-modindex.html                                                 | 9 ++++++++-
 scheduler.html                                                   | 9 ++++++++-
 search.html                                                      | 9 ++++++++-
 security.html                                                    | 9 ++++++++-
 start.html                                                       | 9 ++++++++-
 timezone.html                                                    | 9 ++++++++-
 tutorial.html                                                    | 9 ++++++++-
 ui.html                                                          | 9 ++++++++-
 1442 files changed, 11536 insertions(+), 1442 deletions(-)

diff --git a/1.10.5/_api/airflow/contrib/executors/index.html b/1.10.5/_api/airflow/contrib/executors/index.html
index 6d91f3f..ee8e67f 100644
--- a/1.10.5/_api/airflow/contrib/executors/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/index.html
@@ -328,7 +328,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
index 9a4e99c..7cd0521 100644
--- a/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -586,7 +586,14 @@ for State.LAUNCHED</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
index 0b0ad3f..de20d26 100644
--- a/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
+++ b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -433,7 +433,14 @@ See <a class="reference external" href="http://mesos.apache.org/">http://mesos.a
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
index 9514273..45a6455 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -454,7 +454,14 @@ Returns one of the final states</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
index 352b27a..271a92e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -351,7 +351,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
index 8761d8f..880dd06 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -347,7 +347,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
index 75d9a2f..2c0c2a4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -436,7 +436,14 @@ a partition may be composed of multiple columns. For example:
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
index 416c94e..6eda6e1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -394,7 +394,14 @@ If IAM role is already an IAM role ARN, no change is made.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
index 8a3f280..130d641 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -353,7 +353,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
index 9ba4a95..d924532 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
@@ -384,7 +384,14 @@ at the end of the log (False).</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
index e769be9..0187d2f 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -352,7 +352,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
index 82c1296..f6fd256 100644
--- a/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -390,7 +390,14 @@ For details of the returned value see <code class="xref py py-meth docutils lite
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
index 0c32c56..926558b 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -472,7 +472,14 @@ If the exitcode is unknown 0 is returned.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
index 393f5b2..878d2c0 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -342,7 +342,14 @@ to start the container instance</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
index cedc258..e8243d4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -347,7 +347,14 @@ which file shares should be mounted</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
index a28ec78..1db809d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -437,7 +437,14 @@ collection in the CosmosDB database.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
index 47a464e..d2916d6 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -419,7 +419,14 @@ block for each API call. This block cannot be bigger than a chunk.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
index 81085b7..af5033f 100644
--- a/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -524,7 +524,14 @@ passed to the <cite>FileService()</cite> constructor.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
index 7458a6f..cca81df 100644
--- a/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/bigquery_hook/index.html
@@ -1276,7 +1276,14 @@ sequences (e.g. a list of tuples).</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
index 01e1a9b..d8c6712 100644
--- a/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/cassandra_hook/index.html
@@ -420,7 +420,14 @@ Use dot notation to target a specific keyspace.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
index a0de49b..9cb7e63 100644
--- a/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/cloudant_hook/index.html
@@ -346,7 +346,14 @@ documentation <a class="reference external" href="https://github.com/cloudant-la
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
index 6f063a7..81ec18d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/databricks_hook/index.html
@@ -529,7 +529,14 @@ magic function.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
index 2160ba2..3b12df2 100644
--- a/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/datadog_hook/index.html
@@ -410,7 +410,14 @@ to submit.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
index be59983..a351531 100644
--- a/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/datastore_hook/index.html
@@ -597,7 +597,14 @@ Cannot be used with a transaction.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
index 1f1591b..2e8d530 100644
--- a/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/dingding_hook/index.html
@@ -379,7 +379,14 @@ not don’t need generic params</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
index 76c748c..35e5d61 100644
--- a/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/discord_webhook_hook/index.html
@@ -389,7 +389,14 @@ to a valid Discord JSON payload.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
index 61d30ae..31b461c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/emr_hook/index.html
@@ -346,7 +346,14 @@ Overrides for this config may be passed as the job_flow_overrides.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
index af22739..22739c1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/fs_hook/index.html
@@ -347,7 +347,14 @@ Extra: {“path”: “/tmp”}</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
index f961f1b..b47fe78 100644
--- a/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/ftp_hook/index.html
@@ -542,7 +542,14 @@ file-like buffer</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
index 56de544..4917a61 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_api_base_hook/index.html
@@ -466,7 +466,14 @@ the service account that is authorized.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
index d229146..295ce9c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_bigtable_hook/index.html
@@ -494,7 +494,14 @@ from.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
index 104205d..b35d54d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_cloud_build_hook/index.html
@@ -407,7 +407,14 @@ asynchronous call.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
index c2ea306..ac38583 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_compute_hook/index.html
@@ -580,7 +580,14 @@ the default project_id from the GCP connection is used.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
index a899460..3e37b0a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_container_hook/index.html
@@ -497,7 +497,14 @@ individual attempt.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
index 5a0a678..7abec9c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dataflow_hook/index.html
@@ -428,7 +428,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
index ecfd866..bdd3df0 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dataproc_hook/index.html
@@ -495,7 +495,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
index c11ad21..74ba96d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_dlp_hook/index.html
@@ -1205,7 +1205,14 @@ individual attempt.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
index 8dcd10f..c26c3ca 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_function_hook/index.html
@@ -483,7 +483,14 @@ asynchronous call.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
index 9ee0dee..71107e1 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_kms_hook/index.html
@@ -404,7 +404,14 @@ provided when encrypting the message.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
index 27e9bdf..ab6128a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_mlengine_hook/index.html
@@ -450,7 +450,14 @@ raises an error otherwise.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
index b2baf06..326027c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_natural_language_hook/index.html
@@ -503,7 +503,14 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
index 706804b..3f07d87 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_pubsub_hook/index.html
@@ -506,7 +506,14 @@ response</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
index 5b092dc..bfc2e56 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_spanner_hook/index.html
@@ -577,7 +577,14 @@ database. If set to None or missing, the default project_id from the GCP connect
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
index 10fbbf0..533ad50 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_speech_to_text_hook/index.html
@@ -380,7 +380,14 @@ Note that if retry is specified, the timeout applies to each individual attempt.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
index a539659..3811265 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_sql_hook/index.html
@@ -900,7 +900,14 @@ that uses proxy or connects directly to the Google Cloud SQL database.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
index 759325c..79f07b8 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_text_to_speech_hook/index.html
@@ -389,7 +389,14 @@ Note that if retry is specified, the timeout applies to each individual attempt.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
index 007ac4c..5975818 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_transfer_hook/index.html
@@ -848,7 +848,14 @@ with a state in the list,</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
index 6ca0226..8520e1b 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_translate_hook/index.html
@@ -396,7 +396,14 @@ values and translations differ.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
index bfe0d29..48b9faf 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_video_intelligence_hook/index.html
@@ -387,7 +387,14 @@ Note that if retry is specified, the timeout applies to each individual attempt.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
index 04b7d3a..ae511e9 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcp_vision_hook/index.html
@@ -536,7 +536,14 @@ provided:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
index b1eb174..1df3138 100644
--- a/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/gcs_hook/index.html
@@ -648,7 +648,14 @@ into a single object.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
index 703f8aa..d22051d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/grpc_hook/index.html
@@ -350,7 +350,14 @@ They get formatted as shown below.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
index a2cc666..52b76ef 100644
--- a/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/imap_hook/index.html
@@ -590,7 +590,14 @@ where the attachments name matches the given name.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/index.html b/1.10.5/_api/airflow/contrib/hooks/index.html
index 223afab..1d79ae7 100644
--- a/1.10.5/_api/airflow/contrib/hooks/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/index.html
@@ -414,7 +414,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
index 1ca6e5e..56b53b4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/jenkins_hook/index.html
@@ -336,7 +336,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
index b2eb3ed..91c4591 100644
--- a/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/jira_hook/index.html
@@ -341,7 +341,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
index 9e1f7a8..3684b15 100644
--- a/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/mongo_hook/index.html
@@ -527,7 +527,14 @@ Can be omitted; then the database from the connection string is used.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
index 55144a7..2874878 100644
--- a/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/openfaas_hook/index.html
@@ -390,7 +390,14 @@ for example host : <a class="reference external" href="http://openfaas.faas.com"
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
index 186c403..1c78a8f 100644
--- a/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/opsgenie_alert_hook/index.html
@@ -371,7 +371,14 @@ See <a class="reference external" href="https://docs.opsgenie.com/docs/alert-api
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
index 5fedf0a..a22da7a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/pinot_hook/index.html
@@ -398,7 +398,14 @@ sql statements to execute</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
index 37248eb..06c7bb4 100644
--- a/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/qubole_check_hook/index.html
@@ -375,7 +375,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
index b221841..29add7e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/qubole_hook/index.html
@@ -428,7 +428,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
index b2951da..b827f68 100644
--- a/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/redis_hook/index.html
@@ -339,7 +339,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
index e1d99be..1ab96e5 100644
--- a/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/redshift_hook/index.html
@@ -401,7 +401,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
index 2b8664d..893a6a8 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sagemaker_hook/index.html
@@ -823,7 +823,14 @@ None implies no timeout for any SageMaker job.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
index 8f6f179..ff3f3b8 100644
--- a/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/salesforce_hook/index.html
@@ -467,7 +467,14 @@ was fetched from Salesforce.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
index ca3331a..6ba99b2 100644
--- a/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/segment_hook/index.html
@@ -349,7 +349,14 @@ retrieve data from it or write to that file.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
index 8ec5367..d466ddb 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sftp_hook/index.html
@@ -434,7 +434,14 @@ from that location
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
index 2dcf910..4872f08 100644
--- a/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/slack_webhook_hook/index.html
@@ -379,7 +379,14 @@ Slack json message
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
index 03c4aba..9229215 100644
--- a/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/snowflake_hook/index.html
@@ -379,7 +379,14 @@ from extra</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
index 1dfb063..8e5b468 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_hook/index.html
@@ -412,7 +412,14 @@ types.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
index 4271e9e..166d49d 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_jdbc_script/index.html
@@ -344,7 +344,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
index 7ddbc45..173ec76 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_sql_hook/index.html
@@ -391,7 +391,14 @@ as default.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
index 83998b0..ceecd01 100644
--- a/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/spark_submit_hook/index.html
@@ -500,7 +500,14 @@ master failure recovery</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
index eae74c4..eb9298e 100644
--- a/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/sqoop_hook/index.html
@@ -490,7 +490,14 @@ Don’t include prefix of – for sqoop options.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
index 365c12c..9ece52a 100644
--- a/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/ssh_hook/index.html
@@ -394,7 +394,14 @@ keepalive_interval seconds</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
index eb6a168..ec8731f 100644
--- a/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/vertica_hook/index.html
@@ -352,7 +352,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
index d2e8409..f2f1c6c 100644
--- a/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/wasb_hook/index.html
@@ -475,7 +475,14 @@ blob does not exist.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
index b0a0936..8b108cd 100644
--- a/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
+++ b/1.10.5/_api/airflow/contrib/hooks/winrm_hook/index.html
@@ -378,7 +378,14 @@ protocols like TLSv1.0, default is False</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
index 9ff60df..c51a7db 100644
--- a/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/adls_list_operator/index.html
@@ -376,7 +376,14 @@ folder in the specified ADLS account</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
index 0bbe287..d20b3ad 100644
--- a/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/adls_to_gcs/index.html
@@ -407,7 +407,14 @@ path ``/hello/world``to the GCS bucket ``mybucket``. ::
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html b/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
index 51e33b0..84087a9 100644
--- a/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/aws_athena_operator/index.html
@@ -381,7 +381,14 @@ query will be pushed to an XCom when it successfuly completes.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
index f3f244c..90a299d 100644
--- a/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/aws_sqs_publish_operator/index.html
@@ -375,7 +375,14 @@ For details of the returned dict see <code class="xref py py-meth docutils liter
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html b/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
index 798900b..f3d3fa6 100644
--- a/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/awsbatch_operator/index.html
@@ -411,7 +411,14 @@ Override the region_name in connection (if provided)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html b/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
index 79452a3..78d8e87 100644
--- a/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/azure_container_instances_operator/index.html
@@ -450,7 +450,14 @@ the container instance.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html b/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
index d6cbaaa..a15ba45 100644
--- a/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/azure_cosmos_operator/index.html
@@ -361,7 +361,14 @@ It will create both the database and collection if they do not already exist</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
index 54532b6..8567d37 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_check_operator/index.html
@@ -450,7 +450,14 @@ or standard SQL (false).</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
index a19abc8..6b6cdf4 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_get_data/index.html
@@ -390,7 +390,14 @@ delegation enabled.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
index eb45f95..2a6f05f 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_operator/index.html
@@ -728,7 +728,14 @@ More info:
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
index bea76f9..bd073a4 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_table_delete_operator/index.html
@@ -365,7 +365,14 @@ requested table does not exist.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
index ffc3093..83ed028 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_to_bigquery/index.html
@@ -389,7 +389,14 @@ passed to BigQuery</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
index e82b2f6..7cf0e37 100644
--- a/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/bigquery_to_gcs/index.html
@@ -384,7 +384,14 @@ passed to BigQuery</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
index 635694e..c9b6301 100644
--- a/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/cassandra_to_gcs/index.html
@@ -498,7 +498,14 @@ each will be converted to its corresponding data type in BQ.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html b/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
index f49e7f0..c9b9ec1 100644
--- a/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/databricks_operator/index.html
@@ -692,7 +692,14 @@ unreachable. Its value must be greater than or equal to 1.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
index 0a48799..2b4f418 100644
--- a/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dataflow_operator/index.html
@@ -616,7 +616,14 @@ will be returned immediately.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
index 3d3d95b..860623e 100644
--- a/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dataproc_operator/index.html
@@ -1005,7 +1005,14 @@ delegation enabled.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html b/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
index 2df59f5..030bc46 100644
--- a/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/datastore_export_operator/index.html
@@ -364,7 +364,14 @@ emptied prior to exports. This enables overwriting existing backups.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html b/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
index b398e9d..fec8530 100644
--- a/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/datastore_import_operator/index.html
@@ -362,7 +362,14 @@ execution status again</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html b/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
index d1f4734..3851682 100644
--- a/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/dingding_operator/index.html
@@ -366,7 +366,14 @@ including text, link, markdown, actionCard, feedCard</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html b/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
index 28ea55a..e07c453 100644
--- a/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/discord_webhook_operator/index.html
@@ -368,7 +368,14 @@ default webhook endpoint in the extra field in the form of
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html b/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
index 7f880b2..ee81bde 100644
--- a/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/druid_operator/index.html
@@ -359,7 +359,14 @@ accepts index jobs</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
index b3192ae..b0fd713 100644
--- a/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/ecs_operator/index.html
@@ -416,7 +416,14 @@ finished.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
index 457f180..1e7a80a 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_add_steps_operator/index.html
@@ -364,7 +364,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
index bb2d474..615f341 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_create_job_flow_operator/index.html
@@ -367,7 +367,14 @@ emr_connection extra. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html b/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
index 28126d0..8865d8e 100644
--- a/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/emr_terminate_job_flow_operator/index.html
@@ -363,7 +363,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
index dcf8d5e..68080f8 100644
--- a/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/file_to_gcs/index.html
@@ -360,7 +360,14 @@ Optionally can compress the file for upload.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html b/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
index cb73ff1..2b624d7 100644
--- a/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/file_to_wasb/index.html
@@ -358,7 +358,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
index 79be76a..92c21b9 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_bigtable_operator/index.html
@@ -609,7 +609,14 @@ No exception will be raised if the instance or the table does not exist.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
index 2786ac4..f61e4b6 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_cloud_build_operator/index.html
@@ -443,7 +443,14 @@ See: <a class="reference external" href="https://cloud.google.com/cloud-build/do
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
index 687e8ad..811783c 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_compute_operator/index.html
@@ -593,7 +593,14 @@ Defaults to False.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
index 30fd4f5..cff5927 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_container_operator/index.html
@@ -528,7 +528,14 @@ key_path, etc. They get formatted as shown below.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
index fc48d96..dbef560 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_dlp_operator/index.html
@@ -1524,7 +1524,14 @@ individual attempt.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
index bf0acd3..08bdcd0 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_function_operator/index.html
@@ -548,7 +548,14 @@ the pattern: <cite>^projects/[^/]+/locations/[^/]+/functions/[^/]+$</cite></p></
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
index 6578f02..e42d74c 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_natural_language_operator/index.html
@@ -483,7 +483,14 @@ retry is specified, the timeout applies to each individual attempt.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
index d8a660b..f6dc603 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_spanner_operator/index.html
@@ -586,7 +586,14 @@ Database.  If set to None or missing, the default project_id from the GCP connec
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
index 378d87f..e704ce2 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_speech_to_text_operator/index.html
@@ -374,7 +374,14 @@ Note that if retry is specified, the timeout applies to each individual attempt.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
index ff19cf9..9309f20 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_sql_operator/index.html
@@ -820,7 +820,14 @@ details on how to define gcpcloudsql:// connection.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
index dfea427..b2838a3 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_text_to_speech_operator/index.html
@@ -378,7 +378,14 @@ Note that if retry is specified, the timeout applies to each individual attempt.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
index 98fe306..6d15377 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_transfer_operator/index.html
@@ -883,7 +883,14 @@ With two additional improvements:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
index d1afc66..774bc9b 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_translate_operator/index.html
@@ -381,7 +381,14 @@ as <code class="docutils literal notranslate"><span class="pre">'base'</span></c
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
index c92887e..1ac868f 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_translate_speech_operator/index.html
@@ -394,7 +394,14 @@ Platform. Defaults to ‘google_cloud_default’.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
index c9cd737..9de68dd 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_video_intelligence_operator/index.html
@@ -468,7 +468,14 @@ Platform. Defaults to <code class="docutils literal notranslate"><span class="pr
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
index 2b1650f..2611dea 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcp_vision_operator/index.html
@@ -1066,7 +1066,14 @@ specified, requests will not be retried.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
index 1b8eee8..b1e9df4 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_acl_operator/index.html
@@ -409,7 +409,14 @@ connecting to Google Cloud Storage.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
index 639ecec..bfb8897 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_delete_operator/index.html
@@ -363,7 +363,14 @@ domain-wide delegation enabled.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
index 7d255e4..de2211a 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_download_operator/index.html
@@ -371,7 +371,14 @@ domain-wide delegation enabled.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
index 45c2b9f..2a8fc5c 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_list_operator/index.html
@@ -385,7 +385,14 @@ folder in <code class="docutils literal notranslate"><span class="pre">data</spa
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
index e1f25ad..2b9a1fe 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_operator/index.html
@@ -407,7 +407,14 @@ with <code class="docutils literal notranslate"><span class="pre">MULTI_REGIONAL
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
index 9462124..a4ca1a5 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_bq/index.html
@@ -445,7 +445,14 @@ It is suggested to set to True if table are create outside of Airflow.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
index 63b2ced..fb10dbe 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_gcs/index.html
@@ -440,7 +440,14 @@ process.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html b/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
index 44c0cbf..be2d9d9 100644
--- a/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/gcs_to_s3/index.html
@@ -394,7 +394,14 @@ in the destination bucket.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html b/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
index 6750cde..d4a604a 100644
--- a/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/hipchat_operator/index.html
@@ -398,7 +398,14 @@ More info: <a class="reference external" href="https://www.hipchat.com/docs/apiv
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html b/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
index 276010f..72797c3 100644
--- a/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/hive_to_dynamodb/index.html
@@ -373,7 +373,14 @@ be used for smallish amount of data.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html b/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
index 0dc5124..e944e89 100644
--- a/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/imap_attachment_to_s3_operator/index.html
@@ -364,7 +364,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/index.html b/1.10.5/_api/airflow/contrib/operators/index.html
index ae0e7bc..5029f9a 100644
--- a/1.10.5/_api/airflow/contrib/operators/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/index.html
@@ -442,7 +442,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html b/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
index 9db3d18..02325bd 100644
--- a/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/jenkins_job_trigger_operator/index.html
@@ -443,7 +443,14 @@ and the field ‘number’ then contains the build number.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html b/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
index b667e7e..ebdf9d4 100644
--- a/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/jira_operator/index.html
@@ -358,7 +358,14 @@ on which the provided jira_method will be executed</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html b/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
index 62ddd1a..3782dc9 100644
--- a/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
@@ -401,7 +401,14 @@ pod runtime information (ip, namespace, nodeName, podName)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html b/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
index 6b76d75..ecc8f93 100644
--- a/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mlengine_operator/index.html
@@ -585,7 +585,14 @@ creation request will be issued.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html b/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
index 28400b1..731f7df 100644
--- a/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mongo_to_s3/index.html
@@ -374,7 +374,14 @@ needs to be passed through</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
index 088ce50..51936d5 100644
--- a/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mssql_to_gcs/index.html
@@ -394,7 +394,14 @@ JSON/Google Cloud Storage/BigQuery.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
index dbab641..ac9c896 100644
--- a/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/mysql_to_gcs/index.html
@@ -391,7 +391,14 @@ date type documentation: <a class="reference external" href="https://cloud.googl
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html b/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
index 7a31f20..a1a90e8 100644
--- a/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/opsgenie_alert_operator/index.html
@@ -387,7 +387,14 @@ to a valid Opsgenie JSON payload.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html b/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
index 2ba99ef..3edd57e 100644
--- a/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/oracle_to_azure_data_lake_transfer/index.html
@@ -372,7 +372,14 @@ Oracle and stores the file locally before loading it into Azure Data Lake.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html b/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
index 51291a3..e9eca28 100644
--- a/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/oracle_to_oracle_transfer/index.html
@@ -368,7 +368,14 @@ database. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
index b64ae10..d8552e9 100644
--- a/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/postgres_to_gcs_operator/index.html
@@ -376,7 +376,14 @@ Decimals are converted to floats. Times are converted to seconds.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html b/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
index 22d96d3..21907a6 100644
--- a/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/pubsub_operator/index.html
@@ -569,7 +569,14 @@ variables in them.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html b/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
index 2a83f4e..9f90480 100644
--- a/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/qubole_check_operator/index.html
@@ -515,7 +515,14 @@ QuboleOperator and ValueCheckOperator are template-supported.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html b/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
index 4fdf13b..a14c444 100644
--- a/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/qubole_operator/index.html
@@ -666,7 +666,14 @@ double or single quotes</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
index 33f4e8d..cbe022e 100644
--- a/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/redis_publish_operator/index.html
@@ -360,7 +360,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
index 3a337cd..9953c14 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_copy_object_operator/index.html
@@ -386,7 +386,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
index 8768471..e797c2a 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_delete_objects_operator/index.html
@@ -380,7 +380,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
index 1cc5291..c022975 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_list_operator/index.html
@@ -396,7 +396,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
index 6a141d7..1c328fc 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_to_gcs_operator/index.html
@@ -407,7 +407,14 @@ templated, so you can use variables in them if you wish.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
index 08338d4..a5ae49b 100644
--- a/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/s3_to_sftp_operator/index.html
@@ -368,7 +368,14 @@ regardless of how the S3 url is passed.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
index 6038ad1..95dc6dc 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_base_operator/index.html
@@ -388,7 +388,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
index 0a92ebe..a41d679 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_config_operator/index.html
@@ -356,7 +356,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
index a5d178f..282cf4b 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_endpoint_operator/index.html
@@ -385,7 +385,14 @@ finish within max_ingestion_time seconds. If you set this parameter to None it n
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
index 70fb8f7..439ab0e 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_model_operator/index.html
@@ -356,7 +356,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
index 60459b8..a9e610e 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_training_operator/index.html
@@ -369,7 +369,14 @@ the operation does not timeout.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
index 57f7c30..9bd3d01 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_transform_operator/index.html
@@ -381,7 +381,14 @@ set this parameter to None, the operation does not timeout.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
index f296a5a..bb4c9ec 100644
--- a/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sagemaker_tuning_operator/index.html
@@ -368,7 +368,14 @@ set this parameter to None, the operation does not timeout.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html b/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
index e09961e..ac3fe8c 100644
--- a/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/segment_track_event_operator/index.html
@@ -362,7 +362,14 @@ Defaults to False</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
index 65c443b..08489bf 100644
--- a/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sftp_operator/index.html
@@ -416,7 +416,14 @@ does not exist.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
index 4b04a0a..d82a4dc 100644
--- a/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sftp_to_s3_operator/index.html
@@ -369,7 +369,14 @@ regardless of how the S3 url is passed.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html b/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
index 794f152..5b1c1f1 100644
--- a/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/slack_webhook_operator/index.html
@@ -369,7 +369,14 @@ message</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html b/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
index 153b56b..1186f0b 100644
--- a/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/snowflake_operator/index.html
@@ -378,7 +378,14 @@ connection’s extra JSON)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
index cb3b09b..d07fe2c 100644
--- a/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sns_publish_operator/index.html
@@ -359,7 +359,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
index 3106813..702fd99 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_jdbc_operator/index.html
@@ -409,7 +409,14 @@ types.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
index fa6d16f..9a52e14 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_sql_operator/index.html
@@ -376,7 +376,14 @@ executor (Default: 2)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html b/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
index c6a8289..f83a07f 100644
--- a/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/spark_submit_operator/index.html
@@ -395,7 +395,14 @@ Some distros may use spark2-submit.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html b/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
index 5c79109..3947fc4 100644
--- a/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sql_to_gcs/index.html
@@ -465,7 +465,14 @@ Google cloud storage.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html b/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
index fe5074f..14f2dc7 100644
--- a/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/sqoop_operator/index.html
@@ -360,7 +360,14 @@ Documentation for Apache Sqoop can be found here:
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html b/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
index 63a8ab5..a73d2b5 100644
--- a/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/ssh_operator/index.html
@@ -373,7 +373,14 @@ server will reject them silently if <cite>AcceptEnv</cite> is not set in SSH con
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
index 46d512d..d461f9d 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_operator/index.html
@@ -365,7 +365,14 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
index a1c1433..8954879 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_to_hive/index.html
@@ -387,7 +387,14 @@ and values. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html b/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
index f785327..b7303a7 100644
--- a/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/vertica_to_mysql/index.html
@@ -377,7 +377,14 @@ destination MySQL connection: {‘local_infile’: true}.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html b/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
index 7e7c69c..3b68174 100644
--- a/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/wasb_delete_blob_operator/index.html
@@ -359,7 +359,14 @@ blob does not exist.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html b/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
index 634313d..6b48ed2 100644
--- a/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
+++ b/1.10.5/_api/airflow/contrib/operators/winrm_operator/index.html
@@ -357,7 +357,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
index 62e8050..bdb539d 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_athena_sensor/index.html
@@ -388,7 +388,14 @@ check query status on athena, defaults to 10</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
index 3fe24e1..380402b 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_glue_catalog_partition_sensor/index.html
@@ -378,7 +378,14 @@ between each tries</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
index 303062f..0a1b30a 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_redshift_cluster_sensor/index.html
@@ -353,7 +353,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
index c4780a4..12305a9 100644
--- a/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/aws_sqs_sensor/index.html
@@ -366,7 +366,14 @@ is pushed through XCom with the key <code class="docutils literal notranslate"><
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
index 6bc45ad..f54ad9a 100644
--- a/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/azure_cosmos_sensor/index.html
@@ -353,7 +353,14 @@ matches the given query in CosmosDB. Example:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
index 84c0a9c..95f0a07 100644
--- a/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/bash_sensor/index.html
@@ -361,7 +361,14 @@ which will be cleaned afterwards</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
index c62888a..891f573 100644
--- a/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/bigquery_sensor/index.html
@@ -367,7 +367,14 @@ have domain-wide delegation enabled.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
index fedb475..7056247 100644
--- a/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/cassandra_record_sensor/index.html
@@ -354,7 +354,14 @@ instantiate it as follows:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
index c8c1653..9b6b033 100644
--- a/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/cassandra_table_sensor/index.html
@@ -352,7 +352,14 @@ in a keyspace ‘k’, instantiate it as follows:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
index acf8dc0..f059a56 100644
--- a/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/datadog_sensor/index.html
@@ -356,7 +356,14 @@ Airflow runs.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
index 9174f53..9fbfa01 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_base_sensor/index.html
@@ -347,7 +347,14 @@ Subclasses should also implement NON_TERMINAL_STATES and FAILED_STATE constants.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
index f59a31d..7bb1169 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_job_flow_sensor/index.html
@@ -376,7 +376,14 @@ If it fails the sensor errors, failing the task.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
index 4d67316..c03bf8c 100644
--- a/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/emr_step_sensor/index.html
@@ -379,7 +379,14 @@ If it fails the sensor errors, failing the task.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
index 062800b..cac231e 100644
--- a/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/file_sensor/index.html
@@ -362,7 +362,14 @@ the base path set within the connection)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
index 2b0dada..4f1fece 100644
--- a/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/ftp_sensor/index.html
@@ -381,7 +381,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
index 74c5ab2..bb95a18 100644
--- a/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/gcp_transfer_sensor/index.html
@@ -361,7 +361,14 @@ Platform.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
index 8662201..4054cc9 100644
--- a/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/gcs_sensor/index.html
@@ -522,7 +522,14 @@ has passed and updates the state of the sensor accordingly.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
index f792fb1..040a160 100644
--- a/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/hdfs_sensor/index.html
@@ -362,7 +362,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
index 642de74..d44bc45 100644
--- a/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/imap_attachment_sensor/index.html
@@ -372,7 +372,14 @@ The default value is ‘imap_default’.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/index.html b/1.10.5/_api/airflow/contrib/sensors/index.html
index f190eab..b0144fe 100644
--- a/1.10.5/_api/airflow/contrib/sensors/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/index.html
@@ -364,7 +364,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
index 6d4f44a..77a2938 100644
--- a/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/jira_sensor/index.html
@@ -383,7 +383,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
index 26d426d..7f57b35 100644
--- a/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/mongo_sensor/index.html
@@ -352,7 +352,14 @@ matches the given query in MongoDB. Example:</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
index 7bd2d76..c127102 100644
--- a/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/pubsub_sensor/index.html
@@ -365,7 +365,14 @@ variables in them.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
index c86c8f7..3cd6d66 100644
--- a/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/python_sensor/index.html
@@ -369,7 +369,14 @@ in your callable’s context after the template has been applied.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
index f3a61bb..c33fdb1 100644
--- a/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/qubole_sensor/index.html
@@ -397,7 +397,14 @@ also use <code class="docutils literal notranslate"><span class="pre">.txt</span
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
index fb5ba74..f095675 100644
--- a/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/redis_key_sensor/index.html
@@ -350,7 +350,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
index ca6eead..e4a96b8 100644
--- a/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/redis_pub_sub_sensor/index.html
@@ -360,7 +360,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
index a7c4c3a..4465fc6 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_base_sensor/index.html
@@ -373,7 +373,14 @@ Subclasses should also implement NON_TERMINAL_STATES and FAILED_STATE methods.</
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
index c1793ff..b677a7e 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_endpoint_sensor/index.html
@@ -376,7 +376,14 @@ If it fails the sensor errors, the task fails.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
index 2d8bc73..ff7d9d5 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_training_sensor/index.html
@@ -384,7 +384,14 @@ If it fails the sensor errors, failing the task.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
index 479c0ef..0571213 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_transform_sensor/index.html
@@ -377,7 +377,14 @@ containing the failure reason.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
index 7c151f2..cb30545 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sagemaker_tuning_sensor/index.html
@@ -377,7 +377,14 @@ containing the failure reason.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
index 67d92b0..8b7c8a8 100644
--- a/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/sftp_sensor/index.html
@@ -353,7 +353,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
index b05e141..8b1b8a1 100644
--- a/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/wasb_sensor/index.html
@@ -384,7 +384,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html b/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
index 30ae0db..6cf35d0 100644
--- a/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
+++ b/1.10.5/_api/airflow/contrib/sensors/weekday_sensor/index.html
@@ -391,7 +391,14 @@ don’t want to run anything on weekdays on the system.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/base_executor/index.html b/1.10.5/_api/airflow/executors/base_executor/index.html
index 119f889..561b144 100644
--- a/1.10.5/_api/airflow/executors/base_executor/index.html
+++ b/1.10.5/_api/airflow/executors/base_executor/index.html
@@ -443,7 +443,14 @@ all done.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/celery_executor/index.html b/1.10.5/_api/airflow/executors/celery_executor/index.html
index b9a32a1..3a9fb53 100644
--- a/1.10.5/_api/airflow/executors/celery_executor/index.html
+++ b/1.10.5/_api/airflow/executors/celery_executor/index.html
@@ -460,7 +460,14 @@ required to maintain such a system.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/dask_executor/index.html b/1.10.5/_api/airflow/executors/dask_executor/index.html
index f6a6548..876f223 100644
--- a/1.10.5/_api/airflow/executors/dask_executor/index.html
+++ b/1.10.5/_api/airflow/executors/dask_executor/index.html
@@ -361,7 +361,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/index.html b/1.10.5/_api/airflow/executors/index.html
index 45972af..a8e8d27 100644
--- a/1.10.5/_api/airflow/executors/index.html
+++ b/1.10.5/_api/airflow/executors/index.html
@@ -675,7 +675,14 @@ SequentialExecutor alongside sqlite as you first install it.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/local_executor/index.html b/1.10.5/_api/airflow/executors/local_executor/index.html
index 0a972cf..61df96b 100644
--- a/1.10.5/_api/airflow/executors/local_executor/index.html
+++ b/1.10.5/_api/airflow/executors/local_executor/index.html
@@ -485,7 +485,14 @@ coordinate work distribution.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/executors/sequential_executor/index.html b/1.10.5/_api/airflow/executors/sequential_executor/index.html
index 9610590..34d8bbd 100644
--- a/1.10.5/_api/airflow/executors/sequential_executor/index.html
+++ b/1.10.5/_api/airflow/executors/sequential_executor/index.html
@@ -350,7 +350,14 @@ SequentialExecutor alongside sqlite as you first install it.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/S3_hook/index.html b/1.10.5/_api/airflow/hooks/S3_hook/index.html
index 8d5371c..d8f300b 100644
--- a/1.10.5/_api/airflow/hooks/S3_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/S3_hook/index.html
@@ -655,7 +655,14 @@ keys to delete.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/base_hook/index.html b/1.10.5/_api/airflow/hooks/base_hook/index.html
index e2f7ecb..79123f3 100644
--- a/1.10.5/_api/airflow/hooks/base_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/base_hook/index.html
@@ -385,7 +385,14 @@ with them.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/dbapi_hook/index.html b/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
index 61840ca..a1a8bc2 100644
--- a/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/dbapi_hook/index.html
@@ -530,7 +530,14 @@ transaction. Set to 0 to insert all rows in one transaction.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/docker_hook/index.html b/1.10.5/_api/airflow/hooks/docker_hook/index.html
index 15ba7fb..0395dbd 100644
--- a/1.10.5/_api/airflow/hooks/docker_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/docker_hook/index.html
@@ -347,7 +347,14 @@ credentials and extra configuration are stored</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/druid_hook/index.html b/1.10.5/_api/airflow/hooks/druid_hook/index.html
index a0a23ca..6dfa8d7 100644
--- a/1.10.5/_api/airflow/hooks/druid_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/druid_hook/index.html
@@ -405,7 +405,14 @@ For ingestion, please use druidHook.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/hdfs_hook/index.html b/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
index 813b8f2..a0c98ed 100644
--- a/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/hdfs_hook/index.html
@@ -357,7 +357,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/hive_hooks/index.html b/1.10.5/_api/airflow/hooks/hive_hooks/index.html
index 0dd6c11..b8a3118 100644
--- a/1.10.5/_api/airflow/hooks/hive_hooks/index.html
+++ b/1.10.5/_api/airflow/hooks/hive_hooks/index.html
@@ -808,7 +808,14 @@ are using impala you may need to set it to false in the
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/http_hook/index.html b/1.10.5/_api/airflow/hooks/http_hook/index.html
index dd431c7..8b741a5 100644
--- a/1.10.5/_api/airflow/hooks/http_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/http_hook/index.html
@@ -426,7 +426,14 @@ See Tenacity documentation at <a class="reference external" href="https://github
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/index.html b/1.10.5/_api/airflow/hooks/index.html
index 2f6bb6e..f78c47f 100644
--- a/1.10.5/_api/airflow/hooks/index.html
+++ b/1.10.5/_api/airflow/hooks/index.html
@@ -366,7 +366,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/jdbc_hook/index.html b/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
index c174a56..bba7d5f 100644
--- a/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/jdbc_hook/index.html
@@ -368,7 +368,14 @@ Raises an airflow error if the given connection id doesn’t exist.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/mssql_hook/index.html b/1.10.5/_api/airflow/hooks/mssql_hook/index.html
index eab8040..90254fd 100644
--- a/1.10.5/_api/airflow/hooks/mssql_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/mssql_hook/index.html
@@ -362,7 +362,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/mysql_hook/index.html b/1.10.5/_api/airflow/hooks/mysql_hook/index.html
index f689881..d931c59 100644
--- a/1.10.5/_api/airflow/hooks/mysql_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/mysql_hook/index.html
@@ -423,7 +423,14 @@ Port is required. If none is provided, default 3306 is used</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/oracle_hook/index.html b/1.10.5/_api/airflow/hooks/oracle_hook/index.html
index 6f8fb7a..f02c8df 100644
--- a/1.10.5/_api/airflow/hooks/oracle_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/oracle_hook/index.html
@@ -418,7 +418,14 @@ Default 5000. Set greater than 0. Set 1 to insert each row in each transaction</
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/pig_hook/index.html b/1.10.5/_api/airflow/hooks/pig_hook/index.html
index fe0a370..fc90cde 100644
--- a/1.10.5/_api/airflow/hooks/pig_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/pig_hook/index.html
@@ -351,7 +351,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/postgres_hook/index.html b/1.10.5/_api/airflow/hooks/postgres_hook/index.html
index d7f0786..f1509fe 100644
--- a/1.10.5/_api/airflow/hooks/postgres_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/postgres_hook/index.html
@@ -419,7 +419,14 @@ each service</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/presto_hook/index.html b/1.10.5/_api/airflow/hooks/presto_hook/index.html
index 8d56a66..848233d 100644
--- a/1.10.5/_api/airflow/hooks/presto_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/presto_hook/index.html
@@ -410,7 +410,14 @@ returns.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/samba_hook/index.html b/1.10.5/_api/airflow/hooks/samba_hook/index.html
index 7ff625b..b35c452 100644
--- a/1.10.5/_api/airflow/hooks/samba_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/samba_hook/index.html
@@ -341,7 +341,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/slack_hook/index.html b/1.10.5/_api/airflow/hooks/slack_hook/index.html
index e5c3b85..219e67a 100644
--- a/1.10.5/_api/airflow/hooks/slack_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/slack_hook/index.html
@@ -341,7 +341,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/sqlite_hook/index.html b/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
index 1a003f0..7f2a533 100644
--- a/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/sqlite_hook/index.html
@@ -352,7 +352,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html b/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
index 7501c6e..b12ef25 100644
--- a/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/webhdfs_hook/index.html
@@ -412,7 +412,14 @@ A value of <cite>0</cite> (or negative) uses as many threads as there are files.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/hooks/zendesk_hook/index.html b/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
index 1c20d64..4b1c040 100644
--- a/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
+++ b/1.10.5/_api/airflow/hooks/zendesk_hook/index.html
@@ -365,7 +365,14 @@ to load. For more information on side-loading see
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/base/index.html b/1.10.5/_api/airflow/models/base/index.html
index ac9dda1..434041c 100644
--- a/1.10.5/_api/airflow/models/base/index.html
+++ b/1.10.5/_api/airflow/models/base/index.html
@@ -344,7 +344,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/baseoperator/index.html b/1.10.5/_api/airflow/models/baseoperator/index.html
index e6b63c0..18342ae 100644
--- a/1.10.5/_api/airflow/models/baseoperator/index.html
+++ b/1.10.5/_api/airflow/models/baseoperator/index.html
@@ -863,7 +863,14 @@ one of the options specified in <cite>extra_links</cite>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/chart/index.html b/1.10.5/_api/airflow/models/chart/index.html
index 73aaa04..3bc1c37 100644
--- a/1.10.5/_api/airflow/models/chart/index.html
+++ b/1.10.5/_api/airflow/models/chart/index.html
@@ -420,7 +420,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/connection/index.html b/1.10.5/_api/airflow/models/connection/index.html
index 17f71ed..3e3d61b 100644
--- a/1.10.5/_api/airflow/models/connection/index.html
+++ b/1.10.5/_api/airflow/models/connection/index.html
@@ -465,7 +465,14 @@ passwords when using operators or hooks.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/crypto/index.html b/1.10.5/_api/airflow/models/crypto/index.html
index d8bdff5..9ba5c5b 100644
--- a/1.10.5/_api/airflow/models/crypto/index.html
+++ b/1.10.5/_api/airflow/models/crypto/index.html
@@ -378,7 +378,14 @@ or because the Fernet key is invalid.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/dag/index.html b/1.10.5/_api/airflow/models/dag/index.html
index fc33735..f4682c6 100644
--- a/1.10.5/_api/airflow/models/dag/index.html
+++ b/1.10.5/_api/airflow/models/dag/index.html
@@ -1156,7 +1156,14 @@ Returns the dag run.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/dagbag/index.html b/1.10.5/_api/airflow/models/dagbag/index.html
index 653b363..a631e7a 100644
--- a/1.10.5/_api/airflow/models/dagbag/index.html
+++ b/1.10.5/_api/airflow/models/dagbag/index.html
@@ -433,7 +433,14 @@ un-anchored regexes, not shell-like glob patterns.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/dagpickle/index.html b/1.10.5/_api/airflow/models/dagpickle/index.html
index 7f1d830..1945bfa 100644
--- a/1.10.5/_api/airflow/models/dagpickle/index.html
+++ b/1.10.5/_api/airflow/models/dagpickle/index.html
@@ -362,7 +362,14 @@ the database.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/dagrun/index.html b/1.10.5/_api/airflow/models/dagrun/index.html
index e736c23..e8732fd 100644
--- a/1.10.5/_api/airflow/models/dagrun/index.html
+++ b/1.10.5/_api/airflow/models/dagrun/index.html
@@ -549,7 +549,14 @@ if one exists. None otherwise.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/errors/index.html b/1.10.5/_api/airflow/models/errors/index.html
index 1035747..4521803 100644
--- a/1.10.5/_api/airflow/models/errors/index.html
+++ b/1.10.5/_api/airflow/models/errors/index.html
@@ -355,7 +355,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/index.html b/1.10.5/_api/airflow/models/index.html
index 51282f2..a029920 100644
--- a/1.10.5/_api/airflow/models/index.html
+++ b/1.10.5/_api/airflow/models/index.html
@@ -3580,7 +3580,14 @@ TODO: “pickling” has been deprecated and JSON is preferred.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/knownevent/index.html b/1.10.5/_api/airflow/models/knownevent/index.html
index bf88372..562b3b9 100644
--- a/1.10.5/_api/airflow/models/knownevent/index.html
+++ b/1.10.5/_api/airflow/models/knownevent/index.html
@@ -411,7 +411,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/kubernetes/index.html b/1.10.5/_api/airflow/models/kubernetes/index.html
index c0857f1..1ebec97 100644
--- a/1.10.5/_api/airflow/models/kubernetes/index.html
+++ b/1.10.5/_api/airflow/models/kubernetes/index.html
@@ -391,7 +391,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/log/index.html b/1.10.5/_api/airflow/models/log/index.html
index d468413..5407b02 100644
--- a/1.10.5/_api/airflow/models/log/index.html
+++ b/1.10.5/_api/airflow/models/log/index.html
@@ -381,7 +381,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/pool/index.html b/1.10.5/_api/airflow/models/pool/index.html
index d3053d7..7f59abc 100644
--- a/1.10.5/_api/airflow/models/pool/index.html
+++ b/1.10.5/_api/airflow/models/pool/index.html
@@ -404,7 +404,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/skipmixin/index.html b/1.10.5/_api/airflow/models/skipmixin/index.html
index 48ca759..1890e4a 100644
--- a/1.10.5/_api/airflow/models/skipmixin/index.html
+++ b/1.10.5/_api/airflow/models/skipmixin/index.html
@@ -354,7 +354,14 @@ immediately downstream of this operator.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/slamiss/index.html b/1.10.5/_api/airflow/models/slamiss/index.html
index d11afe1..76954f5 100644
--- a/1.10.5/_api/airflow/models/slamiss/index.html
+++ b/1.10.5/_api/airflow/models/slamiss/index.html
@@ -383,7 +383,14 @@ triggering alert emails.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/taskfail/index.html b/1.10.5/_api/airflow/models/taskfail/index.html
index 712fc47..00c1df1 100644
--- a/1.10.5/_api/airflow/models/taskfail/index.html
+++ b/1.10.5/_api/airflow/models/taskfail/index.html
@@ -376,7 +376,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/taskinstance/index.html b/1.10.5/_api/airflow/models/taskinstance/index.html
index 47bbc35..56ae814 100644
--- a/1.10.5/_api/airflow/models/taskinstance/index.html
+++ b/1.10.5/_api/airflow/models/taskinstance/index.html
@@ -863,7 +863,14 @@ are returned as well.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/taskreschedule/index.html b/1.10.5/_api/airflow/models/taskreschedule/index.html
index 32fa7d8..de7edbd 100644
--- a/1.10.5/_api/airflow/models/taskreschedule/index.html
+++ b/1.10.5/_api/airflow/models/taskreschedule/index.html
@@ -398,7 +398,14 @@ in ascending order.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/user/index.html b/1.10.5/_api/airflow/models/user/index.html
index efe3aef..58a3d0a 100644
--- a/1.10.5/_api/airflow/models/user/index.html
+++ b/1.10.5/_api/airflow/models/user/index.html
@@ -370,7 +370,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/variable/index.html b/1.10.5/_api/airflow/models/variable/index.html
index c4ffdff..f7b0360 100644
--- a/1.10.5/_api/airflow/models/variable/index.html
+++ b/1.10.5/_api/airflow/models/variable/index.html
@@ -421,7 +421,14 @@ and un-encode it when retrieving a value</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/models/xcom/index.html b/1.10.5/_api/airflow/models/xcom/index.html
index 8bdd5c9..a6d0137 100644
--- a/1.10.5/_api/airflow/models/xcom/index.html
+++ b/1.10.5/_api/airflow/models/xcom/index.html
@@ -440,7 +440,14 @@ TODO: “pickling” has been deprecated and JSON is preferred.
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/bash_operator/index.html b/1.10.5/_api/airflow/operators/bash_operator/index.html
index 0da3b2e..88ec58b 100644
--- a/1.10.5/_api/airflow/operators/bash_operator/index.html
+++ b/1.10.5/_api/airflow/operators/bash_operator/index.html
@@ -382,7 +382,14 @@ which will be cleaned afterwards</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/branch_operator/index.html b/1.10.5/_api/airflow/operators/branch_operator/index.html
index a731137..4cd0f2b 100644
--- a/1.10.5/_api/airflow/operators/branch_operator/index.html
+++ b/1.10.5/_api/airflow/operators/branch_operator/index.html
@@ -362,7 +362,14 @@ task_ids.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/check_operator/index.html b/1.10.5/_api/airflow/operators/check_operator/index.html
index eedf212..090c424 100644
--- a/1.10.5/_api/airflow/operators/check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/check_operator/index.html
@@ -528,7 +528,14 @@ relative_diff: computes abs(cur-ref) / ref</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/dagrun_operator/index.html b/1.10.5/_api/airflow/operators/dagrun_operator/index.html
index db64214..f68c22b 100644
--- a/1.10.5/_api/airflow/operators/dagrun_operator/index.html
+++ b/1.10.5/_api/airflow/operators/dagrun_operator/index.html
@@ -373,7 +373,14 @@ should look like <code class="docutils literal notranslate"><span class="pre">de
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/docker_operator/index.html b/1.10.5/_api/airflow/operators/docker_operator/index.html
index e5df183..8f85a07 100644
--- a/1.10.5/_api/airflow/operators/docker_operator/index.html
+++ b/1.10.5/_api/airflow/operators/docker_operator/index.html
@@ -431,7 +431,14 @@ greater than 0. If omitted uses system default.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/druid_check_operator/index.html b/1.10.5/_api/airflow/operators/druid_check_operator/index.html
index e6e774c..71020ce 100644
--- a/1.10.5/_api/airflow/operators/druid_check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/druid_check_operator/index.html
@@ -387,7 +387,14 @@ without stopping the progress of the DAG.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/dummy_operator/index.html b/1.10.5/_api/airflow/operators/dummy_operator/index.html
index 84f9f98..afb9180 100644
--- a/1.10.5/_api/airflow/operators/dummy_operator/index.html
+++ b/1.10.5/_api/airflow/operators/dummy_operator/index.html
@@ -346,7 +346,14 @@ DAG.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/email_operator/index.html b/1.10.5/_api/airflow/operators/email_operator/index.html
index 8d51308..a7e19db 100644
--- a/1.10.5/_api/airflow/operators/email_operator/index.html
+++ b/1.10.5/_api/airflow/operators/email_operator/index.html
@@ -371,7 +371,14 @@ header.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/generic_transfer/index.html b/1.10.5/_api/airflow/operators/generic_transfer/index.html
index 715e3ea..5381fae 100644
--- a/1.10.5/_api/airflow/operators/generic_transfer/index.html
+++ b/1.10.5/_api/airflow/operators/generic_transfer/index.html
@@ -371,7 +371,14 @@ executed prior to loading the data. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/hive_operator/index.html b/1.10.5/_api/airflow/operators/hive_operator/index.html
index 3f3155b..39153a4 100644
--- a/1.10.5/_api/airflow/operators/hive_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_operator/index.html
@@ -400,7 +400,14 @@ This can make monitoring easier.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/hive_stats_operator/index.html b/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
index cc2da60..371ab62 100644
--- a/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_stats_operator/index.html
@@ -382,7 +382,14 @@ column.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/hive_to_druid/index.html b/1.10.5/_api/airflow/operators/hive_to_druid/index.html
index 66c68b1..16393fe 100644
--- a/1.10.5/_api/airflow/operators/hive_to_druid/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_druid/index.html
@@ -396,7 +396,14 @@ hive for the staging table</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/hive_to_mysql/index.html b/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
index db3fa9e..cf2dff0 100644
--- a/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_mysql/index.html
@@ -379,7 +379,14 @@ destination MySQL connection: {‘local_infile’: true}.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html b/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
index d39a361..f6caa75 100644
--- a/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
+++ b/1.10.5/_api/airflow/operators/hive_to_samba_operator/index.html
@@ -360,7 +360,14 @@ results of the query as a csv to a Samba location.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/http_operator/index.html b/1.10.5/_api/airflow/operators/http_operator/index.html
index da8047e..a337244 100644
--- a/1.10.5/_api/airflow/operators/http_operator/index.html
+++ b/1.10.5/_api/airflow/operators/http_operator/index.html
@@ -377,7 +377,14 @@ be pushed to an XCom.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/index.html b/1.10.5/_api/airflow/operators/index.html
index 0a82bf3..101fbcb 100644
--- a/1.10.5/_api/airflow/operators/index.html
+++ b/1.10.5/_api/airflow/operators/index.html
@@ -885,7 +885,14 @@ one of the options specified in <cite>extra_links</cite>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/jdbc_operator/index.html b/1.10.5/_api/airflow/operators/jdbc_operator/index.html
index d0fece0..a8f29a7 100644
--- a/1.10.5/_api/airflow/operators/jdbc_operator/index.html
+++ b/1.10.5/_api/airflow/operators/jdbc_operator/index.html
@@ -369,7 +369,14 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/latest_only_operator/index.html b/1.10.5/_api/airflow/operators/latest_only_operator/index.html
index 483230a..3461c5e 100644
--- a/1.10.5/_api/airflow/operators/latest_only_operator/index.html
+++ b/1.10.5/_api/airflow/operators/latest_only_operator/index.html
@@ -348,7 +348,14 @@ directly downstream tasks will be skipped.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/mssql_operator/index.html b/1.10.5/_api/airflow/operators/mssql_operator/index.html
index b3ff9fa..caa82ff 100644
--- a/1.10.5/_api/airflow/operators/mssql_operator/index.html
+++ b/1.10.5/_api/airflow/operators/mssql_operator/index.html
@@ -368,7 +368,14 @@ extension.</em><em> (</em><em>templated</em><em>)</em>) – the sql code to be e
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/mssql_to_hive/index.html b/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
index d14d1d9..18e1f81 100644
--- a/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
+++ b/1.10.5/_api/airflow/operators/mssql_to_hive/index.html
@@ -389,7 +389,14 @@ values. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/mysql_operator/index.html b/1.10.5/_api/airflow/operators/mysql_operator/index.html
index 29df646..d03d143 100644
--- a/1.10.5/_api/airflow/operators/mysql_operator/index.html
+++ b/1.10.5/_api/airflow/operators/mysql_operator/index.html
@@ -370,7 +370,14 @@ Template reference are recognized by str ending in ‘.sql’
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/mysql_to_hive/index.html b/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
index f4c8d24..12823e5 100644
--- a/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
+++ b/1.10.5/_api/airflow/operators/mysql_to_hive/index.html
@@ -388,7 +388,14 @@ and values. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/oracle_operator/index.html b/1.10.5/_api/airflow/operators/oracle_operator/index.html
index 9c1052c..0e96cc6 100644
--- a/1.10.5/_api/airflow/operators/oracle_operator/index.html
+++ b/1.10.5/_api/airflow/operators/oracle_operator/index.html
@@ -369,7 +369,14 @@ Template reference are recognized by str ending in ‘.sql’
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/pig_operator/index.html b/1.10.5/_api/airflow/operators/pig_operator/index.html
index a191f52..9510cfa 100644
--- a/1.10.5/_api/airflow/operators/pig_operator/index.html
+++ b/1.10.5/_api/airflow/operators/pig_operator/index.html
@@ -384,7 +384,14 @@ object documentation for more details.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/postgres_operator/index.html b/1.10.5/_api/airflow/operators/postgres_operator/index.html
index ea26dcc..0531f49 100644
--- a/1.10.5/_api/airflow/operators/postgres_operator/index.html
+++ b/1.10.5/_api/airflow/operators/postgres_operator/index.html
@@ -369,7 +369,14 @@ Template reference are recognized by str ending in '.sql'</em>) – the sql code
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/presto_check_operator/index.html b/1.10.5/_api/airflow/operators/presto_check_operator/index.html
index dee1247..51e957a 100644
--- a/1.10.5/_api/airflow/operators/presto_check_operator/index.html
+++ b/1.10.5/_api/airflow/operators/presto_check_operator/index.html
@@ -414,7 +414,14 @@ against. Defaults to 7 days</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/presto_to_mysql/index.html b/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
index 6f4c333..cd28cda 100644
--- a/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
+++ b/1.10.5/_api/airflow/operators/presto_to_mysql/index.html
@@ -372,7 +372,14 @@ the task twice won’t double load data). (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/python_operator/index.html b/1.10.5/_api/airflow/operators/python_operator/index.html
index c9b90d9..29ea1a4 100644
--- a/1.10.5/_api/airflow/operators/python_operator/index.html
+++ b/1.10.5/_api/airflow/operators/python_operator/index.html
@@ -534,7 +534,14 @@ processing templated fields, for examples <code class="docutils literal notransl
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html b/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
index 4d67f6f..41d9e6a 100644
--- a/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
+++ b/1.10.5/_api/airflow/operators/redshift_to_s3_operator/index.html
@@ -386,7 +386,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html b/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
index 81e5a9e..33792ab 100644
--- a/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_file_transform_operator/index.html
@@ -398,7 +398,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html b/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
index 37866c4..2c62cc4 100644
--- a/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_to_hive_operator/index.html
@@ -427,7 +427,14 @@ required to process headers</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html b/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
index 6f56bb8..ed01cdc 100644
--- a/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
+++ b/1.10.5/_api/airflow/operators/s3_to_redshift_operator/index.html
@@ -386,7 +386,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/sensors/index.html b/1.10.5/_api/airflow/operators/sensors/index.html
index daf1a36..0691ca8 100644
--- a/1.10.5/_api/airflow/operators/sensors/index.html
+++ b/1.10.5/_api/airflow/operators/sensors/index.html
@@ -400,7 +400,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/slack_operator/index.html b/1.10.5/_api/airflow/operators/slack_operator/index.html
index f038e20..dfc09d8 100644
--- a/1.10.5/_api/airflow/operators/slack_operator/index.html
+++ b/1.10.5/_api/airflow/operators/slack_operator/index.html
@@ -401,7 +401,14 @@ ID (C12318391). (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/sqlite_operator/index.html b/1.10.5/_api/airflow/operators/sqlite_operator/index.html
index d79033d..402b866 100644
--- a/1.10.5/_api/airflow/operators/sqlite_operator/index.html
+++ b/1.10.5/_api/airflow/operators/sqlite_operator/index.html
@@ -365,7 +365,14 @@ a '.sql' extensions.</em>) – the sql code to be executed. (templated)</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/operators/subdag_operator/index.html b/1.10.5/_api/airflow/operators/subdag_operator/index.html
index fd6f618..1a7c651 100644
--- a/1.10.5/_api/airflow/operators/subdag_operator/index.html
+++ b/1.10.5/_api/airflow/operators/subdag_operator/index.html
@@ -361,7 +361,14 @@ Please find AIRFLOW-74 for more details.</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html b/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
index 896acb0..202970c 100644
--- a/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
+++ b/1.10.5/_api/airflow/sensors/base_sensor_operator/index.html
@@ -403,7 +403,14 @@ override.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/external_task_sensor/index.html b/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
index e16eaad..bfe2045 100644
--- a/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/external_task_sensor/index.html
@@ -374,7 +374,14 @@ or DAG does not exist (default value: False).</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html b/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
index 547c729..a96ba7b 100644
--- a/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/hdfs_sensor/index.html
@@ -388,7 +388,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
index b3ba25a..198a049 100644
--- a/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/hive_partition_sensor/index.html
@@ -367,7 +367,14 @@ connection id</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/http_sensor/index.html b/1.10.5/_api/airflow/sensors/http_sensor/index.html
index bd24759..e6f6478 100644
--- a/1.10.5/_api/airflow/sensors/http_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/http_sensor/index.html
@@ -364,7 +364,14 @@ depends on the option that's being modified.</em>) – Extra options for the ‘
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/index.html b/1.10.5/_api/airflow/sensors/index.html
index 8ebc0d8..676ec97 100644
--- a/1.10.5/_api/airflow/sensors/index.html
+++ b/1.10.5/_api/airflow/sensors/index.html
@@ -363,7 +363,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
index 90cd79e..6e18223 100644
--- a/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/metastore_partition_sensor/index.html
@@ -367,7 +367,14 @@ Examples: <code class="docutils literal notranslate"><span class="pre">ds=2016-0
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html b/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
index b7c715e..1acf51e 100644
--- a/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/named_hive_partition_sensor/index.html
@@ -375,7 +375,14 @@ connection id</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html b/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
index 92e2b2e..7a91cc5 100644
--- a/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/s3_key_sensor/index.html
@@ -377,7 +377,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html b/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
index 148e2bb..b6f7a7f 100644
--- a/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/s3_prefix_sensor/index.html
@@ -379,7 +379,14 @@ CA cert bundle than the one used by botocore.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/sql_sensor/index.html b/1.10.5/_api/airflow/sensors/sql_sensor/index.html
index bb40689..1c5949f 100644
--- a/1.10.5/_api/airflow/sensors/sql_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/sql_sensor/index.html
@@ -385,7 +385,14 @@ as the only argument and return a boolean (optional).</p></li>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html b/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
index baa57ce..b04b9c1 100644
--- a/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/time_delta_sensor/index.html
@@ -348,7 +348,14 @@ represents the time after the execution period has closed.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/time_sensor/index.html b/1.10.5/_api/airflow/sensors/time_sensor/index.html
index 7af2b8f..bd53b1d 100644
--- a/1.10.5/_api/airflow/sensors/time_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/time_sensor/index.html
@@ -345,7 +345,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html b/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
index 6f909de..ed914eb 100644
--- a/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
+++ b/1.10.5/_api/airflow/sensors/web_hdfs_sensor/index.html
@@ -345,7 +345,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_api/index.html b/1.10.5/_api/index.html
index c6d0e32..b96defd 100644
--- a/1.10.5/_api/index.html
+++ b/1.10.5/_api/index.html
@@ -433,7 +433,14 @@ added only to the contrib package.</p>
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html b/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
index c676acf..9db55b8 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_dingding_operator.html
@@ -511,7 +511,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
index 8fd2930..9886ef3 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_bigtable_operators.html
@@ -493,7 +493,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
index 1c74242..f7fe238 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_cloud_build.html
@@ -394,7 +394,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
index 1875dcf..38527d9 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute.html
@@ -402,7 +402,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
index 24e7775..071fe81 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_compute_igm.html
@@ -432,7 +432,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
index 509d1dd..7087a4c 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_function.html
@@ -421,7 +421,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
index aa56c2b..b80fa74 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_natural_language.html
@@ -402,7 +402,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
index 28f4c9d..68ba1eb 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_spanner.html
@@ -486,7 +486,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
index cb4db7a..cd50a8a 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_speech.html
@@ -390,7 +390,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
index c122047..cda7003 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql.html
@@ -711,7 +711,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
index 4f3662c..94e7af7 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_sql_query.html
@@ -582,7 +582,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_transfer.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
index 1227b4e..675bd78 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_transfer.html
@@ -541,7 +541,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_translate.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_translate.html
index 40b7415..245fc20 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_translate.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_translate.html
@@ -340,7 +340,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html
index d4d3711..19b6006 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_video_intelligence.html
@@ -410,7 +410,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_vision.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_vision.html
index 023ca47..8903465 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_vision.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcp_vision.html
@@ -772,7 +772,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_acl.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_acl.html
index 465cec7..4f1c5a5 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_acl.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_acl.html
@@ -364,7 +364,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html b/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
index de83db1..2192736 100644
--- a/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
+++ b/1.10.5/_modules/airflow/contrib/example_dags/example_gcs_to_bq_operator.html
@@ -355,7 +355,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/executors/kubernetes_executor.html b/1.10.5/_modules/airflow/contrib/executors/kubernetes_executor.html
index 46aac83..0d98584 100644
--- a/1.10.5/_modules/airflow/contrib/executors/kubernetes_executor.html
+++ b/1.10.5/_modules/airflow/contrib/executors/kubernetes_executor.html
@@ -1121,7 +1121,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/executors/mesos_executor.html b/1.10.5/_modules/airflow/contrib/executors/mesos_executor.html
index 319b37a..f83c3fb 100644
--- a/1.10.5/_modules/airflow/contrib/executors/mesos_executor.html
+++ b/1.10.5/_modules/airflow/contrib/executors/mesos_executor.html
@@ -614,7 +614,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks.html b/1.10.5/_modules/airflow/contrib/hooks.html
index a4e89ce..e49d94f 100644
--- a/1.10.5/_modules/airflow/contrib/hooks.html
+++ b/1.10.5/_modules/airflow/contrib/hooks.html
@@ -358,7 +358,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html
index e8e3496..5c156cf 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_athena_hook.html
@@ -456,7 +456,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
index ca3e21b..73c4bad 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_dynamodb_hook.html
@@ -359,7 +359,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_firehose_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_firehose_hook.html
index d9e5758..26e8190 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_firehose_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_firehose_hook.html
@@ -346,7 +346,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
index 8d17ebc..49d560a 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html
@@ -442,7 +442,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_hook.html
index 5327801..8a3ec4c 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_hook.html
@@ -495,7 +495,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html
index 9a2a111..24ee58b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_lambda_hook.html
@@ -358,7 +358,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html
index 42893ca..b789994 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_logs_hook.html
@@ -393,7 +393,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html
index 05fc5b9..774c54b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_sns_hook.html
@@ -350,7 +350,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html b/1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html
index f498f80..805012e 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/aws_sqs_hook.html
@@ -361,7 +361,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_container_instance_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
index e3249fd..cd4a7bc 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_container_instance_hook.html
@@ -468,7 +468,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_container_registry_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
index 990fd57..1247ab5 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_container_registry_hook.html
@@ -329,7 +329,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_container_volume_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
index 53ae31f..7607798 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_container_volume_hook.html
@@ -344,7 +344,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_cosmos_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
index 3550f51..89f8b7c 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_cosmos_hook.html
@@ -577,7 +577,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_data_lake_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
index c03b9db..eb95b2b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_data_lake_hook.html
@@ -431,7 +431,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/azure_fileshare_hook.html b/1.10.5/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
index 3e14e73..b2130d3 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/azure_fileshare_hook.html
@@ -502,7 +502,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html b/1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html
index 305e85a..db077b8 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/bigquery_hook.html
@@ -2464,7 +2464,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html b/1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html
index e0bce8a..87cf59c 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/cassandra_hook.html
@@ -490,7 +490,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html b/1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html
index c172879..0f6f5e9 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/cloudant_hook.html
@@ -373,7 +373,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html b/1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html
index a93e917..591a143 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/databricks_hook.html
@@ -563,7 +563,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html b/1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html
index 25edb3a..b33a55b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/datadog_hook.html
@@ -448,7 +448,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html b/1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html
index 1b90bec..7a418b3 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/datastore_hook.html
@@ -629,7 +629,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html b/1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html
index 8071c5b..6e59546 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/dingding_hook.html
@@ -424,7 +424,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/discord_webhook_hook.html b/1.10.5/_modules/airflow/contrib/hooks/discord_webhook_hook.html
index e95795e..e7bf537 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/discord_webhook_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/discord_webhook_hook.html
@@ -430,7 +430,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/emr_hook.html b/1.10.5/_modules/airflow/contrib/hooks/emr_hook.html
index d6a3b40..8ba56e0 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/emr_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/emr_hook.html
@@ -347,7 +347,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/fs_hook.html b/1.10.5/_modules/airflow/contrib/hooks/fs_hook.html
index ae738e4..28bd492 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/fs_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/fs_hook.html
@@ -336,7 +336,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html b/1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html
index 887a4b1..543c8c3 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/ftp_hook.html
@@ -610,7 +610,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_api_base_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
index a989bcb..80c99f4 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_api_base_hook.html
@@ -558,7 +558,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
index ebb9cbe..86897da 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_bigtable_hook.html
@@ -552,7 +552,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html
index 9f1b039..35a51eb 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_cloud_build_hook.html
@@ -421,7 +421,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html
index 0440e34..7a056ca 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_compute_hook.html
@@ -629,7 +629,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_container_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_container_hook.html
index c96154a..a5ede6c 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_container_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_container_hook.html
@@ -537,7 +537,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
index 941bec0..af63258 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_dataflow_hook.html
@@ -586,7 +586,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
index 4de1bb3..6184245 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_dataproc_hook.html
@@ -639,7 +639,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html
index 5babacc..653173f 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_dlp_hook.html
@@ -2069,7 +2069,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_function_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_function_hook.html
index dbbc898..b8234f6 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_function_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_function_hook.html
@@ -487,7 +487,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html
index 9b3acbc..623758b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_kms_hook.html
@@ -398,7 +398,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
index 261abb2..cde2acc 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_mlengine_hook.html
@@ -563,7 +563,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_natural_language_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_natural_language_hook.html
index 2aa5284..94d7ff6 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_natural_language_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_natural_language_hook.html
@@ -507,7 +507,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
index 27efc10..48138f6 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_pubsub_hook.html
@@ -574,7 +574,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html
index 0421ee7..1996fdf 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_spanner_hook.html
@@ -639,7 +639,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html
index 15b28f4..0bdd83a 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_speech_to_text_hook.html
@@ -363,7 +363,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html
index 931ee3c..2f4e594 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_sql_hook.html
@@ -1293,7 +1293,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html
index 9be33de..d1ab32f 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_text_to_speech_hook.html
@@ -370,7 +370,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_transfer_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_transfer_hook.html
index 65498e7..e94d0f1 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_transfer_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_transfer_hook.html
@@ -686,7 +686,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_translate_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_translate_hook.html
index a04828a..d0377fe 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_translate_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_translate_hook.html
@@ -387,7 +387,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html
index ecb8aeb..1405f6d 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_video_intelligence_hook.html
@@ -395,7 +395,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html
index 6128f2e..91d9a03 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcp_vision_hook.html
@@ -864,7 +864,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html b/1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html
index c99df3c..d3a5a50 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/gcs_hook.html
@@ -885,7 +885,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html b/1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html
index 8631eff..bb8d658 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/grpc_hook.html
@@ -413,7 +413,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/imap_hook.html b/1.10.5/_modules/airflow/contrib/hooks/imap_hook.html
index f76ba75..eb9ad07 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/imap_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/imap_hook.html
@@ -606,7 +606,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html b/1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html
index 4c77240..9a516a7 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/jenkins_hook.html
@@ -338,7 +338,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/jira_hook.html b/1.10.5/_modules/airflow/contrib/hooks/jira_hook.html
index 9bfc558..7211527 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/jira_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/jira_hook.html
@@ -376,7 +376,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html b/1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html
index b77d36a..b346e50 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/mongo_hook.html
@@ -587,7 +587,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html b/1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html
index 32fc1c6..9e06273 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/openfaas_hook.html
@@ -389,7 +389,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html b/1.10.5/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html
index d2a9c2f..b7d3838 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/opsgenie_alert_hook.html
@@ -378,7 +378,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html b/1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html
index 88bcdc4..d410601 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/pinot_hook.html
@@ -395,7 +395,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/qubole_check_hook.html b/1.10.5/_modules/airflow/contrib/hooks/qubole_check_hook.html
index dccf99b..20d5af4 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/qubole_check_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/qubole_check_hook.html
@@ -407,7 +407,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html b/1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html
index acaf64c..2fa1410 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/qubole_hook.html
@@ -551,7 +551,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/redis_hook.html b/1.10.5/_modules/airflow/contrib/hooks/redis_hook.html
index 10d1d70..b2043fd 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/redis_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/redis_hook.html
@@ -356,7 +356,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html b/1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html
index 2202185..d096845 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/redshift_hook.html
@@ -403,7 +403,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html b/1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html
index 901ae76..455eb63 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/sagemaker_hook.html
@@ -1030,7 +1030,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html b/1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html
index 6c03781..bcb8827 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/salesforce_hook.html
@@ -615,7 +615,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/segment_hook.html b/1.10.5/_modules/airflow/contrib/hooks/segment_hook.html
index f3bfcfd..b8dd64c 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/segment_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/segment_hook.html
@@ -380,7 +380,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html b/1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html
index 83c3a2a..94a3dcc 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/sftp_hook.html
@@ -504,7 +504,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/slack_webhook_hook.html b/1.10.5/_modules/airflow/contrib/hooks/slack_webhook_hook.html
index 3b94b57..a68abf7 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/slack_webhook_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/slack_webhook_hook.html
@@ -430,7 +430,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html b/1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html
index f63531e..a33bf7e 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/snowflake_hook.html
@@ -424,7 +424,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html b/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
index 91b98b1..88846fb 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_hook.html
@@ -536,7 +536,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_script.html b/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_script.html
index ab7eaca..922dccf 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_script.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/spark_jdbc_script.html
@@ -436,7 +436,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html b/1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html
index 5263614..4a9ed44 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/spark_sql_hook.html
@@ -454,7 +454,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/spark_submit_hook.html b/1.10.5/_modules/airflow/contrib/hooks/spark_submit_hook.html
index 9e5add0..4b6c7ac 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/spark_submit_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/spark_submit_hook.html
@@ -876,7 +876,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html b/1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html
index 23f7c2c..cd5f5e3 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/sqoop_hook.html
@@ -645,7 +645,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html b/1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html
index 6db453b..d94dbb8 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/ssh_hook.html
@@ -539,7 +539,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html b/1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html
index 4c1c1ed..b2d4464 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/vertica_hook.html
@@ -343,7 +343,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html b/1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html
index 1fce4e1..e9ae48b 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/wasb_hook.html
@@ -481,7 +481,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html b/1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html
index 4fe7ee2..1bcf724 100644
--- a/1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html
+++ b/1.10.5/_modules/airflow/contrib/hooks/winrm_hook.html
@@ -524,7 +524,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators.html b/1.10.5/_modules/airflow/contrib/operators.html
index 216d0d2..05847dc 100644
--- a/1.10.5/_modules/airflow/contrib/operators.html
+++ b/1.10.5/_modules/airflow/contrib/operators.html
@@ -341,7 +341,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/adls_list_operator.html b/1.10.5/_modules/airflow/contrib/operators/adls_list_operator.html
index 636b94b..d6504c3 100644
--- a/1.10.5/_modules/airflow/contrib/operators/adls_list_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/adls_list_operator.html
@@ -362,7 +362,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html b/1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html
index 048611c..f235721 100644
--- a/1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html
+++ b/1.10.5/_modules/airflow/contrib/operators/adls_to_gcs.html
@@ -439,7 +439,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/aws_athena_operator.html b/1.10.5/_modules/airflow/contrib/operators/aws_athena_operator.html
index 670e1ff..85f160f 100644
--- a/1.10.5/_modules/airflow/contrib/operators/aws_athena_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/aws_athena_operator.html
@@ -410,7 +410,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/aws_sqs_publish_operator.html b/1.10.5/_modules/airflow/contrib/operators/aws_sqs_publish_operator.html
index 05262d5..699d3c5 100644
--- a/1.10.5/_modules/airflow/contrib/operators/aws_sqs_publish_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/aws_sqs_publish_operator.html
@@ -371,7 +371,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/awsbatch_operator.html b/1.10.5/_modules/airflow/contrib/operators/awsbatch_operator.html
index 9366b11..6d95169 100644
--- a/1.10.5/_modules/airflow/contrib/operators/awsbatch_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/awsbatch_operator.html
@@ -471,7 +471,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/azure_container_instances_operator.html b/1.10.5/_modules/airflow/contrib/operators/azure_container_instances_operator.html
index ab05d2d..733ea52 100644
--- a/1.10.5/_modules/airflow/contrib/operators/azure_container_instances_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/azure_container_instances_operator.html
@@ -635,7 +635,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/azure_cosmos_operator.html b/1.10.5/_modules/airflow/contrib/operators/azure_cosmos_operator.html
index 330fafb..8517db1 100644
--- a/1.10.5/_modules/airflow/contrib/operators/azure_cosmos_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/azure_cosmos_operator.html
@@ -359,7 +359,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_check_operator.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_check_operator.html
index 7b51b9e..992b801 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_check_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_check_operator.html
@@ -443,7 +443,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_get_data.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_get_data.html
index 1b7bf04..14b3b86 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_get_data.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_get_data.html
@@ -406,7 +406,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_operator.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_operator.html
index e8459dd..6c81f16 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_operator.html
@@ -1016,7 +1016,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
index d4a04c3..9deb8a6 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_table_delete_operator.html
@@ -358,7 +358,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_to_bigquery.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
index fc75c9a..007d88a 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_to_bigquery.html
@@ -395,7 +395,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/bigquery_to_gcs.html b/1.10.5/_modules/airflow/contrib/operators/bigquery_to_gcs.html
index 92e4297..4ef8a48 100644
--- a/1.10.5/_modules/airflow/contrib/operators/bigquery_to_gcs.html
+++ b/1.10.5/_modules/airflow/contrib/operators/bigquery_to_gcs.html
@@ -395,7 +395,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/cassandra_to_gcs.html b/1.10.5/_modules/airflow/contrib/operators/cassandra_to_gcs.html
index b000da7..a1194e2 100644
--- a/1.10.5/_modules/airflow/contrib/operators/cassandra_to_gcs.html
+++ b/1.10.5/_modules/airflow/contrib/operators/cassandra_to_gcs.html
@@ -644,7 +644,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/databricks_operator.html b/1.10.5/_modules/airflow/contrib/operators/databricks_operator.html
index 7944f6a..b5e7f4c 100644
--- a/1.10.5/_modules/airflow/contrib/operators/databricks_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/databricks_operator.html
@@ -776,7 +776,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/dataflow_operator.html b/1.10.5/_modules/airflow/contrib/operators/dataflow_operator.html
index e0cc76f..b775f6c 100644
--- a/1.10.5/_modules/airflow/contrib/operators/dataflow_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/dataflow_operator.html
@@ -715,7 +715,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
       })();
     </script>
   </div>
diff --git a/1.10.5/_modules/airflow/contrib/operators/dataproc_operator.html b/1.10.5/_modules/airflow/contrib/operators/dataproc_operator.html
index a6cd386..2fab3b7 100644
--- a/1.10.5/_modules/airflow/contrib/operators/dataproc_operator.html
+++ b/1.10.5/_modules/airflow/contrib/operators/dataproc_operator.html
@@ -1522,7 +1522,14 @@
         ga.src = ('https:' == document.location.protocol ?
           'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
         ga.setAttribute('async', 'true');
-        document.documentElement.firstChild.appendChild(ga);
+        var nodes = document.documentElement.childNodes;
... 20290 lines suppressed ...


[airflow-site] 30/30: Merge pull request #198 from PolideaInternal/new-website-first-release

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit e4db0168da7613e9f143e9bb2bd7e8043d357a8a
Merge: 661f189 fa7badd
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Wed Nov 27 19:09:17 2019 +0000

    Merge pull request #198 from PolideaInternal/new-website-first-release
    
    Publish new website - AIP-11

 .buildinfo                                         |     4 -
 .htaccess                                          |     4 +
 .keep                                              |    16 +
 1.10.1/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.1/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.1/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.1/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.1/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.1/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.1/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.1/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.1/_static/js/modernizr.min.js                 |     4 -
 1.10.2/_static/fonts/Inconsolata-Bold.ttf          |   Bin 109948 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata-Regular.ttf       |   Bin 96964 -> 0 bytes
 1.10.2/_static/fonts/Inconsolata.ttf               |   Bin 63184 -> 0 bytes
 1.10.2/_static/fonts/Lato-Bold.ttf                 |   Bin 656544 -> 0 bytes
 1.10.2/_static/fonts/Lato-Regular.ttf              |   Bin 656568 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.eot            |   Bin 256056 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.ttf            |   Bin 600856 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff           |   Bin 309728 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bold.woff2          |   Bin 184912 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 266158 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 622572 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 323344 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 193308 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.eot          |   Bin 268604 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.ttf          |   Bin 639388 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff         |   Bin 328412 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-italic.woff2        |   Bin 195704 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.eot         |   Bin 253461 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.ttf         |   Bin 607720 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff        |   Bin 309192 -> 0 bytes
 1.10.2/_static/fonts/Lato/lato-regular.woff2       |   Bin 182708 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 170616 -> 0 bytes
 1.10.2/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 79520 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 170616 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 87624 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 67312 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 78331 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 169064 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 86288 -> 0 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 66444 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.eot       |   Bin 165742 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.svg       |  2671 -----
 1.10.2/_static/fonts/fontawesome-webfont.ttf       |   Bin 165548 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff      |   Bin 98024 -> 0 bytes
 1.10.2/_static/fonts/fontawesome-webfont.woff2     |   Bin 77160 -> 0 bytes
 1.10.2/_static/js/modernizr.min.js                 |     4 -
 1.10.3/_static/css/badge_only.css                  |     1 -
 1.10.3/_static/css/theme.css                       |     6 -
 1.10.3/_static/js/theme.js                         |     3 -
 1.10.4/_static/css/badge_only.css                  |     1 -
 1.10.4/_static/css/theme.css                       |     6 -
 1.10.4/_static/js/theme.js                         |     3 -
 1.10.6/_api/airflow/contrib/executors/index.html   |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   421 -
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 .../airflow/contrib/hooks/datadog_hook/index.html  |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   413 -
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   414 -
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   715 --
 .../airflow/contrib/hooks/grpc_hook/index.html     |   419 -
 .../airflow/contrib/hooks/imap_hook/index.html     |   657 --
 1.10.6/_api/airflow/contrib/hooks/index.html       |   481 -
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   403 -
 .../airflow/contrib/hooks/jira_hook/index.html     |   408 -
 .../airflow/contrib/hooks/mongo_hook/index.html    |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 .../airflow/contrib/hooks/pinot_hook/index.html    |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 .../airflow/contrib/hooks/qubole_hook/index.html   |   514 -
 .../airflow/contrib/hooks/redis_hook/index.html    |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 .../airflow/contrib/hooks/segment_hook/index.html  |   416 -
 .../airflow/contrib/hooks/sftp_hook/index.html     |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   557 -
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   461 -
 .../airflow/contrib/hooks/vertica_hook/index.html  |   419 -
 .../airflow/contrib/hooks/wasb_hook/index.html     |   542 -
 .../airflow/contrib/hooks/winrm_hook/index.html    |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 1.10.6/_api/airflow/contrib/operators/index.html   |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 1.10.6/_api/airflow/contrib/sensors/index.html     |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 .../airflow/executors/base_executor/index.html     |   510 -
 .../airflow/executors/celery_executor/index.html   |   527 -
 .../airflow/executors/dask_executor/index.html     |   428 -
 1.10.6/_api/airflow/executors/index.html           |   747 --
 .../airflow/executors/local_executor/index.html    |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 1.10.6/_api/airflow/hooks/S3_hook/index.html       |   722 --
 1.10.6/_api/airflow/hooks/base_hook/index.html     |   452 -
 1.10.6/_api/airflow/hooks/dbapi_hook/index.html    |   597 --
 1.10.6/_api/airflow/hooks/docker_hook/index.html   |   414 -
 1.10.6/_api/airflow/hooks/druid_hook/index.html    |   472 -
 1.10.6/_api/airflow/hooks/hdfs_hook/index.html     |   424 -
 1.10.6/_api/airflow/hooks/hive_hooks/index.html    |   880 --
 1.10.6/_api/airflow/hooks/http_hook/index.html     |   493 -
 1.10.6/_api/airflow/hooks/index.html               |   433 -
 1.10.6/_api/airflow/hooks/jdbc_hook/index.html     |   435 -
 1.10.6/_api/airflow/hooks/mssql_hook/index.html    |   429 -
 1.10.6/_api/airflow/hooks/mysql_hook/index.html    |   490 -
 1.10.6/_api/airflow/hooks/oracle_hook/index.html   |   485 -
 1.10.6/_api/airflow/hooks/pig_hook/index.html      |   418 -
 1.10.6/_api/airflow/hooks/postgres_hook/index.html |   486 -
 1.10.6/_api/airflow/hooks/presto_hook/index.html   |   477 -
 1.10.6/_api/airflow/hooks/samba_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/slack_hook/index.html    |   408 -
 1.10.6/_api/airflow/hooks/sqlite_hook/index.html   |   419 -
 1.10.6/_api/airflow/hooks/webhdfs_hook/index.html  |   479 -
 1.10.6/_api/airflow/hooks/zendesk_hook/index.html  |   432 -
 1.10.6/_api/airflow/models/base/index.html         |   411 -
 1.10.6/_api/airflow/models/baseoperator/index.html |   993 --
 1.10.6/_api/airflow/models/chart/index.html        |   487 -
 1.10.6/_api/airflow/models/connection/index.html   |   532 -
 1.10.6/_api/airflow/models/crypto/index.html       |   445 -
 1.10.6/_api/airflow/models/dag/index.html          |  1242 ---
 1.10.6/_api/airflow/models/dagbag/index.html       |   518 -
 1.10.6/_api/airflow/models/dagpickle/index.html    |   429 -
 1.10.6/_api/airflow/models/dagrun/index.html       |   616 --
 1.10.6/_api/airflow/models/errors/index.html       |   422 -
 1.10.6/_api/airflow/models/index.html              |  3767 -------
 1.10.6/_api/airflow/models/knownevent/index.html   |   478 -
 1.10.6/_api/airflow/models/kubernetes/index.html   |   458 -
 1.10.6/_api/airflow/models/log/index.html          |   448 -
 1.10.6/_api/airflow/models/pool/index.html         |   471 -
 1.10.6/_api/airflow/models/skipmixin/index.html    |   421 -
 1.10.6/_api/airflow/models/slamiss/index.html      |   450 -
 1.10.6/_api/airflow/models/taskfail/index.html     |   445 -
 1.10.6/_api/airflow/models/taskinstance/index.html |   931 --
 .../_api/airflow/models/taskreschedule/index.html  |   467 -
 1.10.6/_api/airflow/models/user/index.html         |   437 -
 1.10.6/_api/airflow/models/variable/index.html     |   488 -
 1.10.6/_api/airflow/models/xcom/index.html         |   507 -
 .../airflow/operators/bash_operator/index.html     |   453 -
 .../airflow/operators/branch_operator/index.html   |   433 -
 .../airflow/operators/check_operator/index.html    |   599 --
 .../airflow/operators/dagrun_operator/index.html   |   444 -
 .../airflow/operators/docker_operator/index.html   |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 .../airflow/operators/dummy_operator/index.html    |   417 -
 .../airflow/operators/email_operator/index.html    |   442 -
 .../airflow/operators/generic_transfer/index.html  |   442 -
 .../airflow/operators/hive_operator/index.html     |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 .../airflow/operators/hive_to_druid/index.html     |   467 -
 .../airflow/operators/hive_to_mysql/index.html     |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 .../airflow/operators/http_operator/index.html     |   448 -
 1.10.6/_api/airflow/operators/index.html           |  1006 --
 .../airflow/operators/jdbc_operator/index.html     |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 .../airflow/operators/mssql_operator/index.html    |   439 -
 .../airflow/operators/mssql_to_hive/index.html     |   460 -
 .../airflow/operators/mysql_operator/index.html    |   441 -
 .../airflow/operators/mysql_to_hive/index.html     |   459 -
 .../airflow/operators/oracle_operator/index.html   |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 .../_api/airflow/operators/pig_operator/index.html |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 .../airflow/operators/presto_to_mysql/index.html   |   443 -
 .../airflow/operators/python_operator/index.html   |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 1.10.6/_api/airflow/operators/sensors/index.html   |   471 -
 .../airflow/operators/slack_operator/index.html    |   472 -
 .../airflow/operators/sqlite_operator/index.html   |   436 -
 .../airflow/operators/subdag_operator/index.html   |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 1.10.6/_api/airflow/sensors/hdfs_sensor/index.html |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 1.10.6/_api/airflow/sensors/http_sensor/index.html |   435 -
 1.10.6/_api/airflow/sensors/index.html             |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   448 -
 .../airflow/sensors/s3_prefix_sensor/index.html    |   450 -
 1.10.6/_api/airflow/sensors/sql_sensor/index.html  |   456 -
 .../airflow/sensors/time_delta_sensor/index.html   |   419 -
 1.10.6/_api/airflow/sensors/time_sensor/index.html |   416 -
 .../airflow/sensors/web_hdfs_sensor/index.html     |   416 -
 1.10.6/_api/index.html                             |   521 -
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 1.10.6/_modules/airflow/configuration.html         |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 1.10.6/_modules/airflow/contrib/hooks.html         |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 .../airflow/contrib/hooks/aws_logs_hook.html       |   446 -
 .../airflow/contrib/hooks/aws_sns_hook.html        |   407 -
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 .../airflow/contrib/hooks/bigquery_hook.html       |  2615 -----
 .../airflow/contrib/hooks/cassandra_hook.html      |   543 -
 .../airflow/contrib/hooks/cloudant_hook.html       |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 .../airflow/contrib/hooks/datadog_hook.html        |   501 -
 .../airflow/contrib/hooks/datastore_hook.html      |   682 --
 .../airflow/contrib/hooks/dingding_hook.html       |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   400 -
 1.10.6/_modules/airflow/contrib/hooks/fs_hook.html |   389 -
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   938 --
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   478 -
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   659 --
 .../airflow/contrib/hooks/jenkins_hook.html        |   391 -
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   429 -
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   640 --
 .../airflow/contrib/hooks/openfaas_hook.html       |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 .../airflow/contrib/hooks/qubole_hook.html         |   627 --
 .../_modules/airflow/contrib/hooks/redis_hook.html |   409 -
 .../airflow/contrib/hooks/redshift_hook.html       |   456 -
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 .../airflow/contrib/hooks/segment_hook.html        |   433 -
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 .../airflow/contrib/hooks/snowflake_hook.html      |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 .../airflow/contrib/hooks/spark_sql_hook.html      |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   698 --
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   606 --
 .../airflow/contrib/hooks/vertica_hook.html        |   396 -
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   534 -
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   577 --
 1.10.6/_modules/airflow/contrib/operators.html     |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 .../airflow/contrib/operators/gcs_to_bq.html       |   635 --
 .../airflow/contrib/operators/gcs_to_gcs.html      |   542 -
 .../airflow/contrib/operators/gcs_to_s3.html       |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 .../airflow/contrib/operators/sql_to_gcs.html      |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 .../airflow/contrib/sensors/bash_sensor.html       |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 .../airflow/contrib/sensors/file_sensor.html       |   412 -
 .../airflow/contrib/sensors/ftp_sensor.html        |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 .../airflow/contrib/sensors/gcs_sensor.html        |   655 --
 .../airflow/contrib/sensors/hdfs_sensor.html       |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 .../airflow/contrib/sensors/jira_sensor.html       |   492 -
 .../airflow/contrib/sensors/mongo_sensor.html      |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 .../airflow/contrib/sensors/sftp_sensor.html       |   393 -
 .../airflow/contrib/sensors/wasb_sensor.html       |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 1.10.6/_modules/airflow/exceptions.html            |   456 -
 1.10.6/_modules/airflow/executors.html             |   440 -
 .../_modules/airflow/executors/base_executor.html  |   555 -
 .../airflow/executors/celery_executor.html         |   637 --
 .../_modules/airflow/executors/dask_executor.html  |   440 -
 .../_modules/airflow/executors/local_executor.html |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 1.10.6/_modules/airflow/hooks.html                 |   437 -
 1.10.6/_modules/airflow/hooks/S3_hook.html         |   886 --
 1.10.6/_modules/airflow/hooks/base_hook.html       |   445 -
 1.10.6/_modules/airflow/hooks/dbapi_hook.html      |   648 --
 1.10.6/_modules/airflow/hooks/docker_hook.html     |   431 -
 1.10.6/_modules/airflow/hooks/druid_hook.html      |   508 -
 1.10.6/_modules/airflow/hooks/hdfs_hook.html       |   441 -
 1.10.6/_modules/airflow/hooks/hive_hooks.html      |  1347 ---
 1.10.6/_modules/airflow/hooks/http_hook.html       |   556 -
 1.10.6/_modules/airflow/hooks/jdbc_hook.html       |   404 -
 1.10.6/_modules/airflow/hooks/mssql_hook.html      |   398 -
 1.10.6/_modules/airflow/hooks/mysql_hook.html      |   517 -
 1.10.6/_modules/airflow/hooks/oracle_hook.html     |   574 --
 1.10.6/_modules/airflow/hooks/pig_hook.html        |   443 -
 1.10.6/_modules/airflow/hooks/postgres_hook.html   |   505 -
 1.10.6/_modules/airflow/hooks/presto_hook.html     |   483 -
 1.10.6/_modules/airflow/hooks/samba_hook.html      |   395 -
 1.10.6/_modules/airflow/hooks/slack_hook.html      |   405 -
 1.10.6/_modules/airflow/hooks/sqlite_hook.html     |   384 -
 1.10.6/_modules/airflow/hooks/webhdfs_hook.html    |   475 -
 1.10.6/_modules/airflow/hooks/zendesk_hook.html    |   455 -
 1.10.6/_modules/airflow/macros.html                |   451 -
 1.10.6/_modules/airflow/macros/hive.html           |   465 -
 1.10.6/_modules/airflow/models.html                |   383 -
 1.10.6/_modules/airflow/models/base.html           |   378 -
 1.10.6/_modules/airflow/models/baseoperator.html   |  1458 ---
 1.10.6/_modules/airflow/models/chart.html          |   393 -
 1.10.6/_modules/airflow/models/connection.html     |   642 --
 1.10.6/_modules/airflow/models/crypto.html         |   440 -
 1.10.6/_modules/airflow/models/dag.html            |  1980 ----
 1.10.6/_modules/airflow/models/dagbag.html         |   766 --
 1.10.6/_modules/airflow/models/dagpickle.html      |   395 -
 1.10.6/_modules/airflow/models/dagrun.html         |   790 --
 1.10.6/_modules/airflow/models/errors.html         |   374 -
 1.10.6/_modules/airflow/models/knownevent.html     |   397 -
 1.10.6/_modules/airflow/models/kubernetes.html     |   422 -
 1.10.6/_modules/airflow/models/log.html            |   411 -
 1.10.6/_modules/airflow/models/pool.html           |   452 -
 1.10.6/_modules/airflow/models/skipmixin.html      |   445 -
 1.10.6/_modules/airflow/models/slamiss.html        |   391 -
 1.10.6/_modules/airflow/models/taskfail.html       |   398 -
 1.10.6/_modules/airflow/models/taskinstance.html   |  1753 ----
 1.10.6/_modules/airflow/models/taskreschedule.html |   428 -
 1.10.6/_modules/airflow/models/user.html           |   383 -
 1.10.6/_modules/airflow/models/variable.html       |   495 -
 1.10.6/_modules/airflow/models/xcom.html           |   577 --
 1.10.6/_modules/airflow/operators.html             |   464 -
 .../_modules/airflow/operators/bash_operator.html  |   486 -
 .../airflow/operators/branch_operator.html         |   395 -
 .../_modules/airflow/operators/check_operator.html |   677 --
 .../airflow/operators/dagrun_operator.html         |   440 -
 .../airflow/operators/docker_operator.html         |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 .../_modules/airflow/operators/dummy_operator.html |   380 -
 .../_modules/airflow/operators/email_operator.html |   421 -
 .../airflow/operators/generic_transfer.html        |   424 -
 .../_modules/airflow/operators/hive_operator.html  |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 .../_modules/airflow/operators/hive_to_druid.html  |   589 --
 .../_modules/airflow/operators/hive_to_mysql.html  |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 .../_modules/airflow/operators/http_operator.html  |   442 -
 .../_modules/airflow/operators/jdbc_operator.html  |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 .../_modules/airflow/operators/mssql_operator.html |   406 -
 .../_modules/airflow/operators/mssql_to_hive.html  |   482 -
 .../_modules/airflow/operators/mysql_operator.html |   410 -
 .../_modules/airflow/operators/mysql_to_hive.html  |   487 -
 .../airflow/operators/oracle_operator.html         |   406 -
 .../airflow/operators/papermill_operator.html      |   401 -
 .../_modules/airflow/operators/pig_operator.html   |   420 -
 .../airflow/operators/postgres_operator.html       |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 .../airflow/operators/presto_to_mysql.html         |   423 -
 .../airflow/operators/python_operator.html         |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 1.10.6/_modules/airflow/operators/sensors.html     |   437 -
 .../_modules/airflow/operators/slack_operator.html |   481 -
 .../airflow/operators/sqlite_operator.html         |   397 -
 .../airflow/operators/subdag_operator.html         |   445 -
 1.10.6/_modules/airflow/sensors.html               |   406 -
 .../airflow/sensors/base_sensor_operator.html      |   484 -
 .../airflow/sensors/external_task_sensor.html      |   497 -
 1.10.6/_modules/airflow/sensors/hdfs_sensor.html   |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 1.10.6/_modules/airflow/sensors/http_sensor.html   |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 1.10.6/_modules/airflow/sensors/s3_key_sensor.html |   436 -
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   425 -
 1.10.6/_modules/airflow/sensors/sql_sensor.html    |   445 -
 .../airflow/sensors/time_delta_sensor.html         |   389 -
 1.10.6/_modules/airflow/sensors/time_sensor.html   |   383 -
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   387 -
 .../_modules/airflow/utils/log/logging_mixin.html  |   547 -
 1.10.6/_modules/index.html                         |   677 --
 1.10.6/api.html                                    |   525 -
 1.10.6/changelog.html                              |  3653 -------
 1.10.6/cli.html                                    |  1689 ---
 1.10.6/concepts.html                               |  1450 ---
 1.10.6/errors.html                                 |   437 -
 1.10.6/faq.html                                    |   538 -
 1.10.6/genindex.html                               |  9776 ------------------
 1.10.6/howto/check-health.html                     |   410 -
 1.10.6/howto/cli-completion.html                   |   401 -
 1.10.6/howto/connection/aws.html                   |   440 -
 1.10.6/howto/connection/gcp.html                   |   484 -
 1.10.6/howto/connection/gcp_sql.html               |   445 -
 1.10.6/howto/connection/grpc.html                  |   447 -
 1.10.6/howto/connection/index.html                 |   461 -
 1.10.6/howto/connection/mysql.html                 |   466 -
 1.10.6/howto/connection/oracle.html                |   455 -
 1.10.6/howto/connection/postgres.html              |   451 -
 1.10.6/howto/connection/ssh.html                   |   445 -
 1.10.6/howto/define_extra_link.html                |   478 -
 1.10.6/howto/executor/use-celery.html              |   494 -
 1.10.6/howto/executor/use-dask.html                |   404 -
 1.10.6/howto/executor/use-mesos.html               |   446 -
 1.10.6/howto/index.html                            |   435 -
 1.10.6/howto/initialize-database.html              |   409 -
 1.10.6/howto/operator/bash.html                    |   440 -
 1.10.6/howto/operator/dingding.html                |   516 -
 1.10.6/howto/operator/gcp/bigtable.html            |   624 --
 1.10.6/howto/operator/gcp/cloud_build.html         |   516 -
 1.10.6/howto/operator/gcp/compute.html             |   762 --
 1.10.6/howto/operator/gcp/function.html            |   616 --
 1.10.6/howto/operator/gcp/gcs.html                 |   527 -
 1.10.6/howto/operator/gcp/index.html               |   425 -
 1.10.6/howto/operator/gcp/natural_language.html    |   594 --
 1.10.6/howto/operator/gcp/spanner.html             |   738 --
 1.10.6/howto/operator/gcp/speech.html              |   522 -
 1.10.6/howto/operator/gcp/sql.html                 |  1386 ---
 1.10.6/howto/operator/gcp/transfer.html            |   917 --
 1.10.6/howto/operator/gcp/translate-speech.html    |   466 -
 1.10.6/howto/operator/gcp/translate.html           |   458 -
 1.10.6/howto/operator/gcp/video.html               |   600 --
 1.10.6/howto/operator/gcp/vision.html              |  1570 ---
 1.10.6/howto/operator/index.html                   |   438 -
 1.10.6/howto/operator/papermill.html               |   428 -
 1.10.6/howto/operator/python.html                  |   445 -
 1.10.6/howto/run-behind-proxy.html                 |   444 -
 1.10.6/howto/run-with-systemd.html                 |   394 -
 1.10.6/howto/run-with-upstart.html                 |   404 -
 1.10.6/howto/secure-connections.html               |   422 -
 1.10.6/howto/set-config.html                       |   419 -
 1.10.6/howto/tracking-user-activity.html           |   396 -
 1.10.6/howto/use-test-config.html                  |   389 -
 1.10.6/howto/write-logs.html                       |   548 -
 1.10.6/http-routingtable.html                      |   417 -
 1.10.6/index.html                                  |  1084 --
 1.10.6/installation.html                           |   543 -
 1.10.6/integration.html                            |  1158 ---
 1.10.6/kubernetes.html                             |   501 -
 1.10.6/license.html                                |   535 -
 1.10.6/lineage.html                                |   444 -
 1.10.6/macros.html                                 |   683 --
 1.10.6/metrics.html                                |   516 -
 1.10.6/plugins.html                                |   642 --
 1.10.6/privacy_notice.html                         |   395 -
 1.10.6/profiling.html                              |   396 -
 1.10.6/project.html                                |   426 -
 1.10.6/py-modindex.html                            |  1939 ----
 1.10.6/scheduler.html                              |   537 -
 1.10.6/search.html                                 |   360 -
 1.10.6/security.html                               |   908 --
 1.10.6/start.html                                  |   407 -
 1.10.6/timezone.html                               |   489 -
 1.10.6/tutorial.html                               |   790 --
 1.10.6/ui.html                                     |   442 -
 404.html                                           |   557 +
 _api/airflow/contrib/executors/index.html          |   395 -
 .../executors/kubernetes_executor/index.html       |   694 --
 .../contrib/executors/mesos_executor/index.html    |   500 -
 .../contrib/hooks/aws_athena_hook/index.html       |   523 -
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 -
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 -
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 -
 _api/airflow/contrib/hooks/aws_hook/index.html     |   465 -
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 -
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 -
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |   421 -
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |   459 -
 .../hooks/azure_container_instance_hook/index.html |   539 -
 .../hooks/azure_container_registry_hook/index.html |   409 -
 .../hooks/azure_container_volume_hook/index.html   |   414 -
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 -
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 -
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 --
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 ---
 .../contrib/hooks/cassandra_hook/index.html        |   487 -
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 -
 .../contrib/hooks/databricks_hook/index.html       |   596 --
 _api/airflow/contrib/hooks/datadog_hook/index.html |   477 -
 .../contrib/hooks/datastore_hook/index.html        |   664 --
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 -
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 -
 _api/airflow/contrib/hooks/emr_hook/index.html     |   413 -
 _api/airflow/contrib/hooks/fs_hook/index.html      |   414 -
 _api/airflow/contrib/hooks/ftp_hook/index.html     |   609 --
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 --
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 -
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 -
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 --
 .../contrib/hooks/gcp_container_hook/index.html    |   564 -
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 -
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 -
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |  1272 ---
 .../contrib/hooks/gcp_function_hook/index.html     |   550 -
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |   471 -
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 -
 .../hooks/gcp_natural_language_hook/index.html     |   570 -
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 --
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 --
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 -
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   967 --
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 -
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 --
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 -
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 -
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 --
 _api/airflow/contrib/hooks/gcs_hook/index.html     |   715 --
 _api/airflow/contrib/hooks/grpc_hook/index.html    |   419 -
 _api/airflow/contrib/hooks/imap_hook/index.html    |   657 --
 _api/airflow/contrib/hooks/index.html              |   481 -
 _api/airflow/contrib/hooks/jenkins_hook/index.html |   403 -
 _api/airflow/contrib/hooks/jira_hook/index.html    |   408 -
 _api/airflow/contrib/hooks/mongo_hook/index.html   |   594 --
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 -
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 -
 _api/airflow/contrib/hooks/pinot_hook/index.html   |   465 -
 .../contrib/hooks/qubole_check_hook/index.html     |   442 -
 _api/airflow/contrib/hooks/qubole_hook/index.html  |   514 -
 _api/airflow/contrib/hooks/redis_hook/index.html   |   406 -
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 -
 .../contrib/hooks/sagemaker_hook/index.html        |   890 --
 .../contrib/hooks/salesforce_hook/index.html       |   534 -
 _api/airflow/contrib/hooks/segment_hook/index.html |   416 -
 _api/airflow/contrib/hooks/sftp_hook/index.html    |   495 -
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 -
 .../contrib/hooks/snowflake_hook/index.html        |   446 -
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 -
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 -
 .../contrib/hooks/spark_sql_hook/index.html        |   458 -
 .../contrib/hooks/spark_submit_hook/index.html     |   568 -
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |   557 -
 _api/airflow/contrib/hooks/ssh_hook/index.html     |   461 -
 _api/airflow/contrib/hooks/vertica_hook/index.html |   419 -
 _api/airflow/contrib/hooks/wasb_hook/index.html    |   542 -
 _api/airflow/contrib/hooks/winrm_hook/index.html   |   445 -
 .../operators/adls_list_operator/index.html        |   447 -
 .../contrib/operators/adls_to_gcs/index.html       |   479 -
 .../operators/aws_athena_operator/index.html       |   452 -
 .../operators/aws_sqs_publish_operator/index.html  |   448 -
 .../contrib/operators/awsbatch_operator/index.html |   485 -
 .../azure_container_instances_operator/index.html  |   521 -
 .../operators/azure_cosmos_operator/index.html     |   432 -
 .../operators/bigquery_check_operator/index.html   |   521 -
 .../contrib/operators/bigquery_get_data/index.html |   461 -
 .../contrib/operators/bigquery_operator/index.html |   924 --
 .../bigquery_table_delete_operator/index.html      |   436 -
 .../operators/bigquery_to_bigquery/index.html      |   460 -
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 -
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 --
 .../operators/databricks_operator/index.html       |   763 --
 .../contrib/operators/dataflow_operator/index.html |   687 --
 .../contrib/operators/dataproc_operator/index.html |  1076 --
 .../operators/datastore_export_operator/index.html |   435 -
 .../operators/datastore_import_operator/index.html |   433 -
 .../contrib/operators/dingding_operator/index.html |   437 -
 .../operators/discord_webhook_operator/index.html  |   439 -
 .../contrib/operators/druid_operator/index.html    |   430 -
 .../contrib/operators/ecs_operator/index.html      |   488 -
 .../operators/emr_add_steps_operator/index.html    |   435 -
 .../emr_create_job_flow_operator/index.html        |   438 -
 .../emr_terminate_job_flow_operator/index.html     |   434 -
 .../contrib/operators/file_to_gcs/index.html       |   431 -
 .../contrib/operators/file_to_wasb/index.html      |   429 -
 .../operators/gcp_bigtable_operator/index.html     |   680 --
 .../operators/gcp_cloud_build_operator/index.html  |   514 -
 .../operators/gcp_compute_operator/index.html      |   664 --
 .../operators/gcp_container_operator/index.html    |   594 --
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 ---
 .../operators/gcp_function_operator/index.html     |   619 --
 .../gcp_natural_language_operator/index.html       |   554 -
 .../operators/gcp_spanner_operator/index.html      |   657 --
 .../gcp_speech_to_text_operator/index.html         |   445 -
 .../contrib/operators/gcp_sql_operator/index.html  |   891 --
 .../gcp_text_to_speech_operator/index.html         |   449 -
 .../operators/gcp_transfer_operator/index.html     |   954 --
 .../operators/gcp_translate_operator/index.html    |   452 -
 .../gcp_translate_speech_operator/index.html       |   465 -
 .../gcp_video_intelligence_operator/index.html     |   539 -
 .../operators/gcp_vision_operator/index.html       |  1137 --
 .../contrib/operators/gcs_acl_operator/index.html  |   480 -
 .../operators/gcs_delete_operator/index.html       |   434 -
 .../operators/gcs_download_operator/index.html     |   446 -
 .../contrib/operators/gcs_list_operator/index.html |   456 -
 .../contrib/operators/gcs_operator/index.html      |   478 -
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 -
 .../contrib/operators/gcs_to_gcs/index.html        |   511 -
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 -
 .../contrib/operators/hipchat_operator/index.html  |   469 -
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 -
 .../imap_attachment_to_s3_operator/index.html      |   435 -
 _api/airflow/contrib/operators/index.html          |   513 -
 .../jenkins_job_trigger_operator/index.html        |   514 -
 .../contrib/operators/jira_operator/index.html     |   429 -
 .../operators/kubernetes_pod_operator/index.html   |   474 -
 .../contrib/operators/mlengine_operator/index.html |   656 --
 .../contrib/operators/mongo_to_s3/index.html       |   445 -
 .../contrib/operators/mssql_to_gcs/index.html      |   465 -
 .../contrib/operators/mysql_to_gcs/index.html      |   462 -
 .../operators/opsgenie_alert_operator/index.html   |   458 -
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 -
 .../operators/oracle_to_oracle_transfer/index.html |   439 -
 .../operators/postgres_to_gcs_operator/index.html  |   447 -
 .../contrib/operators/pubsub_operator/index.html   |   640 --
 .../operators/qubole_check_operator/index.html     |   586 --
 .../contrib/operators/qubole_operator/index.html   |   744 --
 .../operators/redis_publish_operator/index.html    |   431 -
 .../operators/s3_copy_object_operator/index.html   |   457 -
 .../s3_delete_objects_operator/index.html          |   451 -
 .../contrib/operators/s3_list_operator/index.html  |   467 -
 .../operators/s3_to_gcs_operator/index.html        |   480 -
 .../operators/s3_to_sftp_operator/index.html       |   439 -
 .../operators/sagemaker_base_operator/index.html   |   459 -
 .../sagemaker_endpoint_config_operator/index.html  |   427 -
 .../sagemaker_endpoint_operator/index.html         |   456 -
 .../operators/sagemaker_model_operator/index.html  |   427 -
 .../sagemaker_training_operator/index.html         |   440 -
 .../sagemaker_transform_operator/index.html        |   452 -
 .../operators/sagemaker_tuning_operator/index.html |   439 -
 .../segment_track_event_operator/index.html        |   433 -
 .../contrib/operators/sftp_operator/index.html     |   487 -
 .../operators/sftp_to_s3_operator/index.html       |   440 -
 .../operators/slack_webhook_operator/index.html    |   440 -
 .../operators/snowflake_operator/index.html        |   449 -
 .../operators/sns_publish_operator/index.html      |   430 -
 .../operators/spark_jdbc_operator/index.html       |   480 -
 .../operators/spark_sql_operator/index.html        |   447 -
 .../operators/spark_submit_operator/index.html     |   467 -
 .../contrib/operators/sql_to_gcs/index.html        |   536 -
 .../contrib/operators/sqoop_operator/index.html    |   431 -
 .../contrib/operators/ssh_operator/index.html      |   444 -
 .../contrib/operators/vertica_operator/index.html  |   436 -
 .../contrib/operators/vertica_to_hive/index.html   |   458 -
 .../contrib/operators/vertica_to_mysql/index.html  |   448 -
 .../operators/wasb_delete_blob_operator/index.html |   430 -
 .../contrib/operators/winrm_operator/index.html    |   428 -
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 -
 .../aws_glue_catalog_partition_sensor/index.html   |   449 -
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 -
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 -
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 -
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 -
 .../contrib/sensors/bigquery_sensor/index.html     |   438 -
 .../sensors/cassandra_record_sensor/index.html     |   425 -
 .../sensors/cassandra_table_sensor/index.html      |   423 -
 .../contrib/sensors/datadog_sensor/index.html      |   427 -
 .../contrib/sensors/emr_base_sensor/index.html     |   418 -
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 -
 .../contrib/sensors/emr_step_sensor/index.html     |   450 -
 .../airflow/contrib/sensors/file_sensor/index.html |   433 -
 _api/airflow/contrib/sensors/ftp_sensor/index.html |   452 -
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 -
 _api/airflow/contrib/sensors/gcs_sensor/index.html |   593 --
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 -
 .../sensors/imap_attachment_sensor/index.html      |   443 -
 _api/airflow/contrib/sensors/index.html            |   435 -
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 -
 .../contrib/sensors/mongo_sensor/index.html        |   423 -
 .../contrib/sensors/pubsub_sensor/index.html       |   436 -
 .../contrib/sensors/python_sensor/index.html       |   440 -
 .../contrib/sensors/qubole_sensor/index.html       |   468 -
 .../contrib/sensors/redis_key_sensor/index.html    |   421 -
 .../sensors/redis_pub_sub_sensor/index.html        |   431 -
 .../sensors/sagemaker_base_sensor/index.html       |   444 -
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 -
 .../sensors/sagemaker_training_sensor/index.html   |   455 -
 .../sensors/sagemaker_transform_sensor/index.html  |   448 -
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 -
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 -
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 -
 .../contrib/sensors/weekday_sensor/index.html      |   462 -
 _api/airflow/executors/base_executor/index.html    |   510 -
 _api/airflow/executors/celery_executor/index.html  |   527 -
 _api/airflow/executors/dask_executor/index.html    |   428 -
 _api/airflow/executors/index.html                  |   747 --
 _api/airflow/executors/local_executor/index.html   |   552 -
 .../executors/sequential_executor/index.html       |   417 -
 _api/airflow/hooks/S3_hook/index.html              |   722 --
 _api/airflow/hooks/base_hook/index.html            |   452 -
 _api/airflow/hooks/dbapi_hook/index.html           |   597 --
 _api/airflow/hooks/docker_hook/index.html          |   414 -
 _api/airflow/hooks/druid_hook/index.html           |   472 -
 _api/airflow/hooks/hdfs_hook/index.html            |   424 -
 _api/airflow/hooks/hive_hooks/index.html           |   880 --
 _api/airflow/hooks/http_hook/index.html            |   493 -
 _api/airflow/hooks/index.html                      |   433 -
 _api/airflow/hooks/jdbc_hook/index.html            |   435 -
 _api/airflow/hooks/mssql_hook/index.html           |   429 -
 _api/airflow/hooks/mysql_hook/index.html           |   490 -
 _api/airflow/hooks/oracle_hook/index.html          |   485 -
 _api/airflow/hooks/pig_hook/index.html             |   418 -
 _api/airflow/hooks/postgres_hook/index.html        |   486 -
 _api/airflow/hooks/presto_hook/index.html          |   477 -
 _api/airflow/hooks/samba_hook/index.html           |   408 -
 _api/airflow/hooks/slack_hook/index.html           |   408 -
 _api/airflow/hooks/sqlite_hook/index.html          |   419 -
 _api/airflow/hooks/webhdfs_hook/index.html         |   479 -
 _api/airflow/hooks/zendesk_hook/index.html         |   432 -
 _api/airflow/models/base/index.html                |   411 -
 _api/airflow/models/baseoperator/index.html        |   993 --
 _api/airflow/models/chart/index.html               |   487 -
 _api/airflow/models/connection/index.html          |   532 -
 _api/airflow/models/crypto/index.html              |   445 -
 _api/airflow/models/dag/index.html                 |  1242 ---
 _api/airflow/models/dagbag/index.html              |   518 -
 _api/airflow/models/dagpickle/index.html           |   429 -
 _api/airflow/models/dagrun/index.html              |   616 --
 _api/airflow/models/errors/index.html              |   422 -
 _api/airflow/models/index.html                     |  3767 -------
 _api/airflow/models/knownevent/index.html          |   478 -
 _api/airflow/models/kubernetes/index.html          |   458 -
 _api/airflow/models/log/index.html                 |   448 -
 _api/airflow/models/pool/index.html                |   471 -
 _api/airflow/models/skipmixin/index.html           |   421 -
 _api/airflow/models/slamiss/index.html             |   450 -
 _api/airflow/models/taskfail/index.html            |   445 -
 _api/airflow/models/taskinstance/index.html        |   931 --
 _api/airflow/models/taskreschedule/index.html      |   467 -
 _api/airflow/models/user/index.html                |   437 -
 _api/airflow/models/variable/index.html            |   488 -
 _api/airflow/models/xcom/index.html                |   507 -
 _api/airflow/operators/bash_operator/index.html    |   453 -
 _api/airflow/operators/branch_operator/index.html  |   433 -
 _api/airflow/operators/check_operator/index.html   |   599 --
 _api/airflow/operators/dagrun_operator/index.html  |   444 -
 _api/airflow/operators/docker_operator/index.html  |   514 -
 .../operators/druid_check_operator/index.html      |   458 -
 _api/airflow/operators/dummy_operator/index.html   |   417 -
 _api/airflow/operators/email_operator/index.html   |   442 -
 _api/airflow/operators/generic_transfer/index.html |   442 -
 _api/airflow/operators/hive_operator/index.html    |   471 -
 .../operators/hive_stats_operator/index.html       |   453 -
 _api/airflow/operators/hive_to_druid/index.html    |   467 -
 _api/airflow/operators/hive_to_mysql/index.html    |   450 -
 .../operators/hive_to_samba_operator/index.html    |   431 -
 _api/airflow/operators/http_operator/index.html    |   448 -
 _api/airflow/operators/index.html                  |  1006 --
 _api/airflow/operators/jdbc_operator/index.html    |   440 -
 .../operators/latest_only_operator/index.html      |   421 -
 _api/airflow/operators/mssql_operator/index.html   |   439 -
 _api/airflow/operators/mssql_to_hive/index.html    |   460 -
 _api/airflow/operators/mysql_operator/index.html   |   441 -
 _api/airflow/operators/mysql_to_hive/index.html    |   459 -
 _api/airflow/operators/oracle_operator/index.html  |   440 -
 .../operators/papermill_operator/index.html        |   436 -
 _api/airflow/operators/pig_operator/index.html     |   455 -
 .../airflow/operators/postgres_operator/index.html |   440 -
 .../operators/presto_check_operator/index.html     |   485 -
 _api/airflow/operators/presto_to_mysql/index.html  |   443 -
 _api/airflow/operators/python_operator/index.html  |   605 --
 .../operators/redshift_to_s3_operator/index.html   |   462 -
 .../s3_file_transform_operator/index.html          |   469 -
 .../operators/s3_to_hive_operator/index.html       |   498 -
 .../operators/s3_to_redshift_operator/index.html   |   457 -
 _api/airflow/operators/sensors/index.html          |   471 -
 _api/airflow/operators/slack_operator/index.html   |   472 -
 _api/airflow/operators/sqlite_operator/index.html  |   436 -
 _api/airflow/operators/subdag_operator/index.html  |   432 -
 .../sensors/base_sensor_operator/index.html        |   474 -
 .../sensors/external_task_sensor/index.html        |   445 -
 _api/airflow/sensors/hdfs_sensor/index.html        |   459 -
 .../sensors/hive_partition_sensor/index.html       |   438 -
 _api/airflow/sensors/http_sensor/index.html        |   435 -
 _api/airflow/sensors/index.html                    |   434 -
 .../sensors/metastore_partition_sensor/index.html  |   438 -
 .../sensors/named_hive_partition_sensor/index.html |   446 -
 _api/airflow/sensors/s3_key_sensor/index.html      |   448 -
 _api/airflow/sensors/s3_prefix_sensor/index.html   |   450 -
 _api/airflow/sensors/sql_sensor/index.html         |   456 -
 _api/airflow/sensors/time_delta_sensor/index.html  |   419 -
 _api/airflow/sensors/time_sensor/index.html        |   416 -
 _api/airflow/sensors/web_hdfs_sensor/index.html    |   416 -
 _api/index.html                                    |   521 -
 _gen/docs-docs-index.json                          |    11 +
 _gen/docs-index.json                               |    11 +
 _gen/indexes/.keep                                 |    16 +
 _gen/indexes/en/blog-index.json                    |     1 +
 _gen/indexes/en/blog-posts.json                    |     1 +
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 44547 -> 0 bytes
 _modules/airflow/configuration.html                |  1005 --
 .../example_dags/example_dingding_operator.html    |   563 -
 .../example_gcp_bigtable_operators.html            |   546 -
 .../example_dags/example_gcp_cloud_build.html      |   447 -
 .../contrib/example_dags/example_gcp_compute.html  |   455 -
 .../example_dags/example_gcp_compute_igm.html      |   485 -
 .../contrib/example_dags/example_gcp_function.html |   474 -
 .../example_dags/example_gcp_natural_language.html |   455 -
 .../contrib/example_dags/example_gcp_spanner.html  |   539 -
 .../contrib/example_dags/example_gcp_speech.html   |   443 -
 .../contrib/example_dags/example_gcp_sql.html      |   764 --
 .../example_dags/example_gcp_sql_query.html        |   635 --
 .../contrib/example_dags/example_gcp_transfer.html |   594 --
 .../example_dags/example_gcp_translate.html        |   393 -
 .../example_gcp_video_intelligence.html            |   463 -
 .../contrib/example_dags/example_gcp_vision.html   |   825 --
 .../contrib/example_dags/example_gcs_acl.html      |   417 -
 .../example_dags/example_gcs_to_bq_operator.html   |   408 -
 .../example_dags/example_papermill_operator.html   |   392 -
 .../contrib/executors/kubernetes_executor.html     |  1246 ---
 .../airflow/contrib/executors/mesos_executor.html  |   667 --
 _modules/airflow/contrib/hooks.html                |   411 -
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 -
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 -
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 -
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 -
 _modules/airflow/contrib/hooks/aws_hook.html       |   558 -
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 -
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |   446 -
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |   407 -
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |   417 -
 .../hooks/azure_container_instance_hook.html       |   524 -
 .../hooks/azure_container_registry_hook.html       |   382 -
 .../contrib/hooks/azure_container_volume_hook.html |   397 -
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 --
 .../contrib/hooks/azure_data_lake_hook.html        |   484 -
 .../contrib/hooks/azure_fileshare_hook.html        |   555 -
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  2615 -----
 _modules/airflow/contrib/hooks/cassandra_hook.html |   543 -
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   426 -
 .../airflow/contrib/hooks/databricks_hook.html     |   621 --
 _modules/airflow/contrib/hooks/datadog_hook.html   |   501 -
 _modules/airflow/contrib/hooks/datastore_hook.html |   682 --
 _modules/airflow/contrib/hooks/dingding_hook.html  |   477 -
 .../contrib/hooks/discord_webhook_hook.html        |   483 -
 _modules/airflow/contrib/hooks/emr_hook.html       |   400 -
 _modules/airflow/contrib/hooks/fs_hook.html        |   389 -
 _modules/airflow/contrib/hooks/ftp_hook.html       |   663 --
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 --
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 --
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 -
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 --
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 --
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 --
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 --
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |  2122 ----
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 -
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   451 -
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 --
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 -
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 --
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 --
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 -
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |  1346 ---
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 -
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 --
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 -
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 -
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 --
 _modules/airflow/contrib/hooks/gcs_hook.html       |   938 --
 _modules/airflow/contrib/hooks/grpc_hook.html      |   478 -
 _modules/airflow/contrib/hooks/imap_hook.html      |   659 --
 _modules/airflow/contrib/hooks/jenkins_hook.html   |   391 -
 _modules/airflow/contrib/hooks/jira_hook.html      |   429 -
 _modules/airflow/contrib/hooks/mongo_hook.html     |   640 --
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   442 -
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 -
 _modules/airflow/contrib/hooks/pinot_hook.html     |   448 -
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 -
 _modules/airflow/contrib/hooks/qubole_hook.html    |   627 --
 _modules/airflow/contrib/hooks/redis_hook.html     |   409 -
 _modules/airflow/contrib/hooks/redshift_hook.html  |   456 -
 _modules/airflow/contrib/hooks/sagemaker_hook.html |  1083 --
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 --
 _modules/airflow/contrib/hooks/segment_hook.html   |   433 -
 _modules/airflow/contrib/hooks/sftp_hook.html      |   557 -
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 -
 _modules/airflow/contrib/hooks/snowflake_hook.html |   477 -
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 --
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 -
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   507 -
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 --
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   698 --
 _modules/airflow/contrib/hooks/ssh_hook.html       |   606 --
 _modules/airflow/contrib/hooks/vertica_hook.html   |   396 -
 _modules/airflow/contrib/hooks/wasb_hook.html      |   534 -
 _modules/airflow/contrib/hooks/winrm_hook.html     |   577 --
 _modules/airflow/contrib/operators.html            |   394 -
 .../contrib/operators/adls_list_operator.html      |   415 -
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 -
 .../contrib/operators/aws_athena_operator.html     |   463 -
 .../operators/aws_sqs_publish_operator.html        |   424 -
 .../contrib/operators/awsbatch_operator.html       |   538 -
 .../azure_container_instances_operator.html        |   688 --
 .../contrib/operators/azure_cosmos_operator.html   |   412 -
 .../contrib/operators/bigquery_check_operator.html |   496 -
 .../contrib/operators/bigquery_get_data.html       |   459 -
 .../contrib/operators/bigquery_operator.html       |  1231 ---
 .../operators/bigquery_table_delete_operator.html  |   411 -
 .../contrib/operators/bigquery_to_bigquery.html    |   448 -
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 -
 .../contrib/operators/cassandra_to_gcs.html        |   706 --
 .../contrib/operators/databricks_operator.html     |   829 --
 .../contrib/operators/dataflow_operator.html       |   771 --
 .../contrib/operators/dataproc_operator.html       |  1575 ---
 .../operators/datastore_export_operator.html       |   453 -
 .../operators/datastore_import_operator.html       |   441 -
 .../contrib/operators/dingding_operator.html       |   417 -
 .../operators/discord_webhook_operator.html        |   441 -
 .../airflow/contrib/operators/druid_operator.html  |   407 -
 .../airflow/contrib/operators/ecs_operator.html    |   564 -
 .../contrib/operators/emr_add_steps_operator.html  |   406 -
 .../operators/emr_create_job_flow_operator.html    |   417 -
 .../operators/emr_terminate_job_flow_operator.html |   400 -
 .../airflow/contrib/operators/file_to_gcs.html     |   425 -
 .../airflow/contrib/operators/file_to_wasb.html    |   407 -
 .../contrib/operators/gcp_bigtable_operator.html   |   834 --
 .../operators/gcp_cloud_build_operator.html        |   539 -
 .../contrib/operators/gcp_compute_operator.html    |   827 --
 .../contrib/operators/gcp_container_operator.html  |   667 --
 .../contrib/operators/gcp_dlp_operator.html        |  2464 -----
 .../contrib/operators/gcp_function_operator.html   |   671 --
 .../operators/gcp_natural_language_operator.html   |   605 --
 .../contrib/operators/gcp_spanner_operator.html    |   775 --
 .../operators/gcp_speech_to_text_operator.html     |   433 -
 .../contrib/operators/gcp_sql_operator.html        |  1149 ---
 .../operators/gcp_text_to_speech_operator.html     |   472 -
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ---
 .../contrib/operators/gcp_translate_operator.html  |   456 -
 .../operators/gcp_translate_speech_operator.html   |   502 -
 .../operators/gcp_video_intelligence_operator.html |   607 --
 .../contrib/operators/gcp_vision_operator.html     |  1598 ---
 .../contrib/operators/gcs_acl_operator.html        |   477 -
 .../contrib/operators/gcs_delete_operator.html     |   426 -
 .../contrib/operators/gcs_download_operator.html   |   439 -
 .../contrib/operators/gcs_list_operator.html       |   437 -
 .../airflow/contrib/operators/gcs_operator.html    |   474 -
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   635 --
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   542 -
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   483 -
 .../contrib/operators/hipchat_operator.html        |   478 -
 .../contrib/operators/hive_to_dynamodb.html        |   452 -
 .../operators/imap_attachment_to_s3_operator.html  |   433 -
 .../operators/jenkins_job_trigger_operator.html    |   587 --
 .../airflow/contrib/operators/jira_operator.html   |   437 -
 .../contrib/operators/kubernetes_pod_operator.html |   582 --
 .../contrib/operators/mlengine_operator.html       |   977 --
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 -
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 -
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 -
 .../contrib/operators/opsgenie_alert_operator.html |   474 -
 .../oracle_to_azure_data_lake_transfer.html        |   458 -
 .../operators/oracle_to_oracle_transfer.html       |   434 -
 .../operators/postgres_to_gcs_operator.html        |   447 -
 .../airflow/contrib/operators/pubsub_operator.html |   776 --
 .../contrib/operators/qubole_check_operator.html   |   571 -
 .../airflow/contrib/operators/qubole_operator.html |   566 -
 .../contrib/operators/redis_publish_operator.html  |   409 -
 .../contrib/operators/s3_copy_object_operator.html |   439 -
 .../operators/s3_delete_objects_operator.html      |   430 -
 .../contrib/operators/s3_list_operator.html        |   442 -
 .../contrib/operators/s3_to_gcs_operator.html      |   555 -
 .../contrib/operators/s3_to_sftp_operator.html     |   428 -
 .../contrib/operators/sagemaker_base_operator.html |   445 -
 .../sagemaker_endpoint_config_operator.html        |   409 -
 .../operators/sagemaker_endpoint_operator.html     |   493 -
 .../operators/sagemaker_model_operator.html        |   410 -
 .../operators/sagemaker_training_operator.html     |   441 -
 .../operators/sagemaker_transform_operator.html    |   467 -
 .../operators/sagemaker_tuning_operator.html       |   442 -
 .../operators/segment_track_event_operator.html    |   415 -
 .../airflow/contrib/operators/sftp_operator.html   |   523 -
 .../contrib/operators/sftp_to_s3_operator.html     |   434 -
 .../contrib/operators/slack_webhook_operator.html  |   450 -
 .../contrib/operators/snowflake_operator.html      |   420 -
 .../contrib/operators/sns_publish_operator.html    |   408 -
 .../contrib/operators/spark_jdbc_operator.html     |   557 -
 .../contrib/operators/spark_sql_operator.html      |   454 -
 .../contrib/operators/spark_submit_operator.html   |   527 -
 _modules/airflow/contrib/operators/sql_to_gcs.html |   620 --
 .../airflow/contrib/operators/sqoop_operator.html  |   581 --
 .../airflow/contrib/operators/ssh_operator.html    |   522 -
 .../contrib/operators/vertica_operator.html        |   392 -
 .../airflow/contrib/operators/vertica_to_hive.html |   482 -
 .../contrib/operators/vertica_to_mysql.html        |   498 -
 .../operators/wasb_delete_blob_operator.html       |   413 -
 .../airflow/contrib/operators/winrm_operator.html  |   492 -
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 -
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 -
 .../sensors/aws_redshift_cluster_sensor.html       |   393 -
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 -
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 -
 _modules/airflow/contrib/sensors/bash_sensor.html  |   431 -
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 -
 .../contrib/sensors/cassandra_record_sensor.html   |   402 -
 .../contrib/sensors/cassandra_table_sensor.html    |   397 -
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 -
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 -
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 -
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 -
 _modules/airflow/contrib/sensors/file_sensor.html  |   412 -
 _modules/airflow/contrib/sensors/ftp_sensor.html   |   441 -
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 -
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   655 --
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |   415 -
 .../contrib/sensors/imap_attachment_sensor.html    |   417 -
 _modules/airflow/contrib/sensors/jira_sensor.html  |   492 -
 _modules/airflow/contrib/sensors/mongo_sensor.html |   399 -
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 -
 .../airflow/contrib/sensors/python_sensor.html     |   421 -
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 -
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 -
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 -
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 -
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 -
 .../contrib/sensors/sagemaker_training_sensor.html |   443 -
 .../sensors/sagemaker_transform_sensor.html        |   403 -
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 -
 _modules/airflow/contrib/sensors/sftp_sensor.html  |   393 -
 _modules/airflow/contrib/sensors/wasb_sensor.html  |   436 -
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 -
 .../example_dags/example_bash_operator.html        |   414 -
 .../example_dags/example_python_operator.html      |   415 -
 _modules/airflow/exceptions.html                   |   456 -
 _modules/airflow/executors.html                    |   440 -
 _modules/airflow/executors/base_executor.html      |   555 -
 _modules/airflow/executors/celery_executor.html    |   637 --
 _modules/airflow/executors/dask_executor.html      |   440 -
 _modules/airflow/executors/local_executor.html     |   577 --
 .../airflow/executors/sequential_executor.html     |   400 -
 _modules/airflow/hooks.html                        |   437 -
 _modules/airflow/hooks/S3_hook.html                |   886 --
 _modules/airflow/hooks/base_hook.html              |   445 -
 _modules/airflow/hooks/dbapi_hook.html             |   648 --
 _modules/airflow/hooks/docker_hook.html            |   431 -
 _modules/airflow/hooks/druid_hook.html             |   508 -
 _modules/airflow/hooks/hdfs_hook.html              |   441 -
 _modules/airflow/hooks/hive_hooks.html             |  1347 ---
 _modules/airflow/hooks/http_hook.html              |   556 -
 _modules/airflow/hooks/jdbc_hook.html              |   404 -
 _modules/airflow/hooks/mssql_hook.html             |   398 -
 _modules/airflow/hooks/mysql_hook.html             |   517 -
 _modules/airflow/hooks/oracle_hook.html            |   574 --
 _modules/airflow/hooks/pig_hook.html               |   443 -
 _modules/airflow/hooks/postgres_hook.html          |   505 -
 _modules/airflow/hooks/presto_hook.html            |   483 -
 _modules/airflow/hooks/samba_hook.html             |   395 -
 _modules/airflow/hooks/slack_hook.html             |   405 -
 _modules/airflow/hooks/sqlite_hook.html            |   384 -
 _modules/airflow/hooks/webhdfs_hook.html           |   475 -
 _modules/airflow/hooks/zendesk_hook.html           |   455 -
 _modules/airflow/macros.html                       |   451 -
 _modules/airflow/macros/hive.html                  |   465 -
 _modules/airflow/models.html                       |   383 -
 _modules/airflow/models/base.html                  |   378 -
 _modules/airflow/models/baseoperator.html          |  1458 ---
 _modules/airflow/models/chart.html                 |   393 -
 _modules/airflow/models/connection.html            |   642 --
 _modules/airflow/models/crypto.html                |   440 -
 _modules/airflow/models/dag.html                   |  1980 ----
 _modules/airflow/models/dagbag.html                |   766 --
 _modules/airflow/models/dagpickle.html             |   395 -
 _modules/airflow/models/dagrun.html                |   790 --
 _modules/airflow/models/errors.html                |   374 -
 _modules/airflow/models/knownevent.html            |   397 -
 _modules/airflow/models/kubernetes.html            |   422 -
 _modules/airflow/models/log.html                   |   411 -
 _modules/airflow/models/pool.html                  |   452 -
 _modules/airflow/models/skipmixin.html             |   445 -
 _modules/airflow/models/slamiss.html               |   391 -
 _modules/airflow/models/taskfail.html              |   398 -
 _modules/airflow/models/taskinstance.html          |  1753 ----
 _modules/airflow/models/taskreschedule.html        |   428 -
 _modules/airflow/models/user.html                  |   383 -
 _modules/airflow/models/variable.html              |   495 -
 _modules/airflow/models/xcom.html                  |   577 --
 _modules/airflow/operators.html                    |   464 -
 _modules/airflow/operators/bash_operator.html      |   486 -
 _modules/airflow/operators/branch_operator.html    |   395 -
 _modules/airflow/operators/check_operator.html     |   677 --
 _modules/airflow/operators/dagrun_operator.html    |   440 -
 _modules/airflow/operators/docker_operator.html    |   637 --
 .../airflow/operators/druid_check_operator.html    |   434 -
 _modules/airflow/operators/dummy_operator.html     |   380 -
 _modules/airflow/operators/email_operator.html     |   421 -
 _modules/airflow/operators/generic_transfer.html   |   424 -
 _modules/airflow/operators/hive_operator.html      |   485 -
 .../airflow/operators/hive_stats_operator.html     |   527 -
 _modules/airflow/operators/hive_to_druid.html      |   589 --
 _modules/airflow/operators/hive_to_mysql.html      |   457 -
 .../airflow/operators/hive_to_samba_operator.html  |   410 -
 _modules/airflow/operators/http_operator.html      |   442 -
 _modules/airflow/operators/jdbc_operator.html      |   406 -
 .../airflow/operators/latest_only_operator.html    |   411 -
 _modules/airflow/operators/mssql_operator.html     |   406 -
 _modules/airflow/operators/mssql_to_hive.html      |   482 -
 _modules/airflow/operators/mysql_operator.html     |   410 -
 _modules/airflow/operators/mysql_to_hive.html      |   487 -
 _modules/airflow/operators/oracle_operator.html    |   406 -
 _modules/airflow/operators/papermill_operator.html |   401 -
 _modules/airflow/operators/pig_operator.html       |   420 -
 _modules/airflow/operators/postgres_operator.html  |   410 -
 .../airflow/operators/presto_check_operator.html   |   470 -
 _modules/airflow/operators/presto_to_mysql.html    |   423 -
 _modules/airflow/operators/python_operator.html    |   759 --
 .../airflow/operators/redshift_to_s3_operator.html |   464 -
 .../operators/s3_file_transform_operator.html      |   511 -
 .../airflow/operators/s3_to_hive_operator.html     |   640 --
 .../airflow/operators/s3_to_redshift_operator.html |   452 -
 _modules/airflow/operators/sensors.html            |   437 -
 _modules/airflow/operators/slack_operator.html     |   481 -
 _modules/airflow/operators/sqlite_operator.html    |   397 -
 _modules/airflow/operators/subdag_operator.html    |   445 -
 _modules/airflow/sensors.html                      |   406 -
 _modules/airflow/sensors/base_sensor_operator.html |   484 -
 _modules/airflow/sensors/external_task_sensor.html |   497 -
 _modules/airflow/sensors/hdfs_sensor.html          |   466 -
 .../airflow/sensors/hive_partition_sensor.html     |   418 -
 _modules/airflow/sensors/http_sensor.html          |   435 -
 .../sensors/metastore_partition_sensor.html        |   426 -
 .../sensors/named_hive_partition_sensor.html       |   445 -
 _modules/airflow/sensors/s3_key_sensor.html        |   436 -
 _modules/airflow/sensors/s3_prefix_sensor.html     |   425 -
 _modules/airflow/sensors/sql_sensor.html           |   445 -
 _modules/airflow/sensors/time_delta_sensor.html    |   389 -
 _modules/airflow/sensors/time_sensor.html          |   383 -
 _modules/airflow/sensors/web_hdfs_sensor.html      |   387 -
 _modules/airflow/utils/log/logging_mixin.html      |   547 -
 _modules/index.html                                |   677 --
 api.html                                           |   525 -
 .../index.html                                     |   672 ++
 blog/index.html                                    |   649 ++
 blog/index.xml                                     |    57 +
 .../index.html                                     |   711 ++
 blog/tags/community/index.html                     |   624 ++
 blog/tags/community/index.xml                      |    36 +
 blog/tags/development/index.html                   |   624 ++
 blog/tags/development/index.xml                    |    40 +
 browserconfig.xml                                  |     2 +
 categories/index.html                              |   553 +
 categories/index.xml                               |    17 +
 changelog.html                                     |  3653 -------
 chunk-1.b2992.js                                   |     1 +
 chunk-3.b2992.js                                   |     1 +
 chunk-4.b2992.js                                   |    19 +
 chunk-5.b2992.js                                   |    51 +
 cli.html                                           |  1689 ---
 community/index.html                               |  1671 +++
 community/index.xml                                |    17 +
 concepts.html                                      |  1450 ---
 css/swagger-ui.css                                 |     4 +
 docs.b2992.js                                      |     1 +
 {_images => docs/1.10.1/_images}/adhoc.png         |   Bin
 {_images => docs/1.10.1/_images}/airflow.gif       |   Bin
 {_images => docs/1.10.1/_images}/apache.jpg        |   Bin
 {_images => docs/1.10.1/_images}/branch_bad.png    |   Bin
 {_images => docs/1.10.1/_images}/branch_good.png   |   Bin
 {_images => docs/1.10.1/_images}/chart.png         |   Bin
 {_images => docs/1.10.1/_images}/chart_form.png    |   Bin
 {1.10.1 => docs/1.10.1}/_images/code.png           |   Bin
 .../1.10.1/_images}/connection_create.png          |   Bin
 .../1.10.1/_images}/connection_edit.png            |   Bin
 {_images => docs/1.10.1/_images}/connections.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/context.png        |   Bin
 {1.10.1 => docs/1.10.1}/_images/dags.png           |   Bin
 {1.10.1 => docs/1.10.1}/_images/duration.png       |   Bin
 {1.10.1 => docs/1.10.1}/_images/gantt.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/graph.png          |   Bin
 {1.10.1 => docs/1.10.1}/_images/incubator.jpg      |   Bin
 .../1.10.1}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.5 => docs/1.10.1}/_images/pin_large.png      |   Bin
 {_images => docs/1.10.1/_images}/subdag_after.png  |   Bin
 {_images => docs/1.10.1/_images}/subdag_before.png |   Bin
 {_images => docs/1.10.1/_images}/subdag_zoom.png   |   Bin
 {1.10.1 => docs/1.10.1}/_images/tree.png           |   Bin
 .../1.10.1/_images}/variable_hidden.png            |   Bin
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../airflow/contrib/sensors/cassandra_sensor.html  |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.1}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.1}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.1}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.1}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.1}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.1}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.1}/_modules/airflow/macros.html           |     0
 .../1.10.1}/_modules/airflow/macros/hive.html      |     0
 .../1.10.1}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.1 => docs/1.10.1}/_modules/index.html        |     0
 {1.10.1 => docs/1.10.1}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.1}/_sources/cli.rst.txt       |     0
 {1.10.1 => docs/1.10.1}/_sources/code.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/concepts.rst.txt  |     0
 {1.10.3 => docs/1.10.1}/_sources/faq.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.1}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.1}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.1}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.1}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.1 => docs/1.10.1}/_sources/index.rst.txt     |     0
 .../1.10.1}/_sources/installation.rst.txt          |     0
 .../1.10.1}/_sources/integration.rst.txt           |     0
 .../1.10.1}/_sources/kubernetes.rst.txt            |     0
 {1.10.4 => docs/1.10.1}/_sources/license.rst.txt   |     0
 {1.10.2 => docs/1.10.1}/_sources/lineage.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/plugins.rst.txt   |     0
 {1.10.4 => docs/1.10.1}/_sources/profiling.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/project.rst.txt   |     0
 {1.10.1 => docs/1.10.1}/_sources/scheduler.rst.txt |     0
 {1.10.1 => docs/1.10.1}/_sources/security.rst.txt  |     0
 {1.10.2 => docs/1.10.1}/_sources/start.rst.txt     |     0
 {1.10.2 => docs/1.10.1}/_sources/timezone.rst.txt  |     0
 {1.10.1 => docs/1.10.1}/_sources/tutorial.rst.txt  |     0
 {1.10.4 => docs/1.10.1}/_sources/ui.rst.txt        |     0
 {1.10.2 => docs/1.10.1}/_static/ajax-loader.gif    |   Bin
 {1.10.2 => docs/1.10.1}/_static/basic.css          |     0
 {1.10.2 => docs/1.10.1}/_static/comment-bright.png |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment-close.png  |   Bin
 {1.10.2 => docs/1.10.1}/_static/comment.png        |   Bin
 {1.10.2 => docs/1.10.1}/_static/css/badge_only.css |     0
 {1.10.2 => docs/1.10.1}/_static/css/theme.css      |     0
 {1.10.2 => docs/1.10.1}/_static/doctools.js        |     0
 .../1.10.1}/_static/documentation_options.js       |     0
 {1.10.2 => docs/1.10.1}/_static/down-pressed.png   |   Bin
 {1.10.2 => docs/1.10.1}/_static/down.png           |   Bin
 {_static => docs/1.10.1/_static}/file.png          |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.1/_static}/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.1/_static}/fonts/Inconsolata.ttf          |   Bin
 .../1.10.1/_static}/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.1/_static}/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff       |   Bin
 .../_static}/fonts/Lato/lato-bolditalic.woff2      |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.1/_static}/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.1/_static}/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.svg  |     0
 .../1.10.1/_static}/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.1/_static}/fonts/fontawesome-webfont.woff |   Bin
 .../_static}/fonts/fontawesome-webfont.woff2       |   Bin
 {1.10.4 => docs/1.10.1}/_static/jquery-3.2.1.js    |     0
 {1.10.4 => docs/1.10.1}/_static/jquery.js          |     0
 .../1.10.1/_static}/js/modernizr.min.js            |     0
 {1.10.2 => docs/1.10.1}/_static/js/theme.js        |     0
 {_static => docs/1.10.1/_static}/minus.png         |   Bin
 {_static => docs/1.10.1/_static}/plus.png          |   Bin
 {_static => docs/1.10.1/_static}/pygments.css      |     0
 {1.10.1 => docs/1.10.1}/_static/searchtools.js     |     0
 .../1.10.1/_static}/underscore-1.3.1.js            |     0
 {_static => docs/1.10.1/_static}/underscore.js     |     0
 {1.10.2 => docs/1.10.1}/_static/up-pressed.png     |   Bin
 {1.10.2 => docs/1.10.1}/_static/up.png             |   Bin
 {1.10.2 => docs/1.10.1}/_static/websupport.js      |     0
 {1.10.1 => docs/1.10.1}/api.html                   |     0
 {1.10.1 => docs/1.10.1}/cli.html                   |     0
 {1.10.1 => docs/1.10.1}/code.html                  |     0
 {1.10.1 => docs/1.10.1}/concepts.html              |     0
 {1.10.1 => docs/1.10.1}/faq.html                   |     0
 {1.10.1 => docs/1.10.1}/genindex.html              |     0
 .../1.10.1}/howto/executor/use-celery.html         |     0
 .../1.10.1}/howto/executor/use-dask.html           |     0
 .../1.10.1}/howto/executor/use-mesos.html          |     0
 {1.10.1 => docs/1.10.1}/howto/index.html           |     0
 .../1.10.1}/howto/initialize-database.html         |     0
 .../1.10.1}/howto/manage-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/operator.html        |     0
 .../1.10.1}/howto/run-with-systemd.html            |     0
 .../1.10.1}/howto/run-with-upstart.html            |     0
 .../1.10.1}/howto/secure-connections.html          |     0
 {1.10.1 => docs/1.10.1}/howto/set-config.html      |     0
 {1.10.1 => docs/1.10.1}/howto/use-test-config.html |     0
 {1.10.1 => docs/1.10.1}/howto/write-logs.html      |     0
 {1.10.1 => docs/1.10.1}/index.html                 |     0
 {1.10.1 => docs/1.10.1}/installation.html          |     0
 {1.10.1 => docs/1.10.1}/integration.html           |     0
 {1.10.1 => docs/1.10.1}/kubernetes.html            |     0
 {1.10.1 => docs/1.10.1}/license.html               |     0
 {1.10.1 => docs/1.10.1}/lineage.html               |     0
 {1.10.1 => docs/1.10.1}/objects.inv                |   Bin
 {1.10.1 => docs/1.10.1}/plugins.html               |     0
 {1.10.1 => docs/1.10.1}/profiling.html             |     0
 {1.10.1 => docs/1.10.1}/project.html               |     0
 {1.10.1 => docs/1.10.1}/py-modindex.html           |     0
 {1.10.1 => docs/1.10.1}/scheduler.html             |     0
 {1.10.1 => docs/1.10.1}/search.html                |     0
 {1.10.1 => docs/1.10.1}/searchindex.js             |     0
 {1.10.1 => docs/1.10.1}/security.html              |     0
 {1.10.1 => docs/1.10.1}/start.html                 |     0
 {1.10.1 => docs/1.10.1}/timezone.html              |     0
 {1.10.1 => docs/1.10.1}/tutorial.html              |     0
 {1.10.1 => docs/1.10.1}/ui.html                    |     0
 {1.10.2 => docs/1.10.2}/.buildinfo                 |     0
 {1.10.6 => docs/1.10.2}/_images/adhoc.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/airflow.gif        |   Bin
 {1.10.6 => docs/1.10.2}/_images/apache.jpg         |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_bad.png     |   Bin
 {1.10.6 => docs/1.10.2}/_images/branch_good.png    |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart.png          |   Bin
 {1.10.6 => docs/1.10.2}/_images/chart_form.png     |   Bin
 {_images => docs/1.10.2/_images}/code.png          |   Bin
 .../1.10.2}/_images/connection_create.png          |   Bin
 .../1.10.2}/_images/connection_edit.png            |   Bin
 {1.10.6 => docs/1.10.2}/_images/connections.png    |   Bin
 {_images => docs/1.10.2/_images}/context.png       |   Bin
 {_images => docs/1.10.2/_images}/dags.png          |   Bin
 {_images => docs/1.10.2/_images}/duration.png      |   Bin
 {_images => docs/1.10.2/_images}/gantt.png         |   Bin
 {_images => docs/1.10.2/_images}/graph.png         |   Bin
 .../1.10.2}/_images/latest_only_with_trigger.png   |   Bin
 {1.10.4 => docs/1.10.2}/_images/pin_large.png      |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_after.png   |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_before.png  |   Bin
 {1.10.6 => docs/1.10.2}/_images/subdag_zoom.png    |   Bin
 {_images => docs/1.10.2/_images}/tree.png          |   Bin
 .../1.10.2}/_images/variable_hidden.png            |   Bin
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../airflow/contrib/kubernetes/secret.html         |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../operators/gcs_to_gcs_transfer_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../operators/s3_to_gcs_transfer_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.2}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.2}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.2}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.2}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/mysql_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.2}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.2}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.2}/_modules/airflow/macros.html           |     0
 .../1.10.2}/_modules/airflow/macros/hive.html      |     0
 .../1.10.2}/_modules/airflow/models.html           |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 {1.10.2 => docs/1.10.2}/_modules/index.html        |     0
 {1.10.4 => docs/1.10.2}/_sources/api.rst.txt       |     0
 {1.10.4 => docs/1.10.2}/_sources/changelog.rst.txt |     0
 {1.10.1 => docs/1.10.2}/_sources/cli.rst.txt       |     0
 {1.10.2 => docs/1.10.2}/_sources/code.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/concepts.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/faq.rst.txt       |     0
 .../1.10.2}/_sources/howto/check-health.rst.txt    |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.2}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../_sources/howto/manage-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/operator.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.2}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.2}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.2}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.2 => docs/1.10.2}/_sources/index.rst.txt     |     0
 .../1.10.2}/_sources/installation.rst.txt          |     0
 .../1.10.2}/_sources/integration.rst.txt           |     0
 .../1.10.2}/_sources/kubernetes.rst.txt            |     0
 {1.10.3 => docs/1.10.2}/_sources/license.rst.txt   |     0
 {1.10.1 => docs/1.10.2}/_sources/lineage.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/metrics.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/plugins.rst.txt   |     0
 {1.10.3 => docs/1.10.2}/_sources/profiling.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/project.rst.txt   |     0
 {1.10.2 => docs/1.10.2}/_sources/scheduler.rst.txt |     0
 {1.10.2 => docs/1.10.2}/_sources/security.rst.txt  |     0
 {1.10.1 => docs/1.10.2}/_sources/start.rst.txt     |     0
 {1.10.1 => docs/1.10.2}/_sources/timezone.rst.txt  |     0
 {1.10.2 => docs/1.10.2}/_sources/tutorial.rst.txt  |     0
 {1.10.3 => docs/1.10.2}/_sources/ui.rst.txt        |     0
 {1.10.1 => docs/1.10.2}/_static/ajax-loader.gif    |   Bin
 {1.10.1 => docs/1.10.2}/_static/basic.css          |     0
 {1.10.1 => docs/1.10.2}/_static/comment-bright.png |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment-close.png  |   Bin
 {1.10.1 => docs/1.10.2}/_static/comment.png        |   Bin
 {1.10.1 => docs/1.10.2}/_static/css/badge_only.css |     0
 {1.10.1 => docs/1.10.2}/_static/css/theme.css      |     0
 {1.10.1 => docs/1.10.2}/_static/doctools.js        |     0
 .../1.10.2}/_static/documentation_options.js       |     0
 {1.10.1 => docs/1.10.2}/_static/down-pressed.png   |   Bin
 {1.10.1 => docs/1.10.2}/_static/down.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/file.png           |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.2}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.2}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.2}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.2}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.2}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.2}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.2}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.2}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.3 => docs/1.10.2}/_static/jquery-3.2.1.js    |     0
 {1.10.3 => docs/1.10.2}/_static/jquery.js          |     0
 .../1.10.2}/_static/js/modernizr.min.js            |     0
 {1.10.1 => docs/1.10.2}/_static/js/theme.js        |     0
 {1.10.2 => docs/1.10.2}/_static/language_data.js   |     0
 {1.10.6 => docs/1.10.2}/_static/minus.png          |   Bin
 {1.10.6 => docs/1.10.2}/_static/plus.png           |   Bin
 {1.10.6 => docs/1.10.2}/_static/pygments.css       |     0
 {1.10.2 => docs/1.10.2}/_static/searchtools.js     |     0
 .../1.10.2}/_static/underscore-1.3.1.js            |     0
 {1.10.6 => docs/1.10.2}/_static/underscore.js      |     0
 {1.10.1 => docs/1.10.2}/_static/up-pressed.png     |   Bin
 {1.10.1 => docs/1.10.2}/_static/up.png             |   Bin
 {1.10.1 => docs/1.10.2}/_static/websupport.js      |     0
 {1.10.2 => docs/1.10.2}/api.html                   |     0
 {1.10.2 => docs/1.10.2}/changelog.html             |     0
 {1.10.2 => docs/1.10.2}/cli.html                   |     0
 {1.10.2 => docs/1.10.2}/code.html                  |     0
 {1.10.2 => docs/1.10.2}/concepts.html              |     0
 {1.10.2 => docs/1.10.2}/faq.html                   |     0
 {1.10.2 => docs/1.10.2}/genindex.html              |     0
 {1.10.2 => docs/1.10.2}/howto/check-health.html    |     0
 .../1.10.2}/howto/executor/use-celery.html         |     0
 .../1.10.2}/howto/executor/use-dask.html           |     0
 .../1.10.2}/howto/executor/use-mesos.html          |     0
 {1.10.2 => docs/1.10.2}/howto/index.html           |     0
 .../1.10.2}/howto/initialize-database.html         |     0
 .../1.10.2}/howto/manage-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/operator.html        |     0
 .../1.10.2}/howto/run-with-systemd.html            |     0
 .../1.10.2}/howto/run-with-upstart.html            |     0
 .../1.10.2}/howto/secure-connections.html          |     0
 {1.10.2 => docs/1.10.2}/howto/set-config.html      |     0
 {1.10.2 => docs/1.10.2}/howto/use-test-config.html |     0
 {1.10.2 => docs/1.10.2}/howto/write-logs.html      |     0
 {1.10.2 => docs/1.10.2}/http-routingtable.html     |     0
 {1.10.2 => docs/1.10.2}/index.html                 |     0
 {1.10.2 => docs/1.10.2}/installation.html          |     0
 {1.10.2 => docs/1.10.2}/integration.html           |     0
 {1.10.2 => docs/1.10.2}/kubernetes.html            |     0
 {1.10.2 => docs/1.10.2}/license.html               |     0
 {1.10.2 => docs/1.10.2}/lineage.html               |     0
 {1.10.2 => docs/1.10.2}/metrics.html               |     0
 {1.10.2 => docs/1.10.2}/objects.inv                |   Bin
 {1.10.2 => docs/1.10.2}/plugins.html               |     0
 {1.10.2 => docs/1.10.2}/profiling.html             |     0
 {1.10.2 => docs/1.10.2}/project.html               |     0
 {1.10.2 => docs/1.10.2}/py-modindex.html           |     0
 {1.10.2 => docs/1.10.2}/scheduler.html             |     0
 {1.10.2 => docs/1.10.2}/search.html                |     0
 {1.10.2 => docs/1.10.2}/searchindex.js             |     0
 {1.10.2 => docs/1.10.2}/security.html              |     0
 {1.10.2 => docs/1.10.2}/start.html                 |     0
 {1.10.2 => docs/1.10.2}/timezone.html              |     0
 {1.10.2 => docs/1.10.2}/tutorial.html              |     0
 {1.10.2 => docs/1.10.2}/ui.html                    |     0
 {1.10.3 => docs/1.10.3}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.3}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.3}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.3}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.3}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.3}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.3}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.3}/_api/airflow/models/errors/index.html  |     0
 .../1.10.3}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.3}/_api/airflow/models/log/index.html     |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.3}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.3}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.3}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.3 => docs/1.10.3}/_api/index.html            |     0
 {1.10.5 => docs/1.10.3}/_images/adhoc.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/airflow.gif        |   Bin
 {1.10.5 => docs/1.10.3}/_images/apache.jpg         |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_bad.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/branch_good.png    |   Bin
 .../1.10.3/_images}/branch_with_trigger.png        |   Bin
 .../1.10.3/_images}/branch_without_trigger.png     |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart.png          |   Bin
 {1.10.5 => docs/1.10.3}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/1.10.3}/_images/code.png           |   Bin
 .../1.10.3}/_images/connection_create.png          |   Bin
 .../1.10.3}/_images/connection_edit.png            |   Bin
 {1.10.5 => docs/1.10.3}/_images/connections.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/context.png        |   Bin
 {1.10.6 => docs/1.10.3}/_images/dags.png           |   Bin
 {1.10.6 => docs/1.10.3}/_images/duration.png       |   Bin
 {1.10.6 => docs/1.10.3}/_images/gantt.png          |   Bin
 {1.10.6 => docs/1.10.3}/_images/graph.png          |   Bin
 .../1.10.3/_images}/latest_only_with_trigger.png   |   Bin
 {1.10.3 => docs/1.10.3}/_images/pin_large.png      |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_after.png   |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_before.png  |   Bin
 {1.10.5 => docs/1.10.3}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/1.10.3}/_images/tree.png           |   Bin
 .../1.10.3}/_images/variable_hidden.png            |   Bin
 .../example_gcp_bigtable_operators.html            |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.3}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../1.10.3}/_modules/airflow/dag/base_dag.html     |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.3}/_modules/airflow/exceptions.html       |     0
 .../1.10.3}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.3}/_modules/airflow/hooks.html            |     0
 .../1.10.3}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.3}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.3}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.3}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.3}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.3}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.3}/_modules/airflow/lineage.html          |     0
 .../1.10.3}/_modules/airflow/macros.html           |     0
 .../1.10.3}/_modules/airflow/macros/hive.html      |     0
 .../1.10.3}/_modules/airflow/models.html           |     0
 .../1.10.3}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.3}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.3}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.3}/_modules/airflow/models/log.html       |     0
 .../1.10.3}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.3}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.3}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.3}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.3}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/ti_deps/dep_context.html      |     0
 .../ti_deps/deps/not_in_retry_period_dep.html      |     0
 .../airflow/ti_deps/deps/prev_dagrun_dep.html      |     0
 .../airflow/ti_deps/deps/trigger_rule_dep.html     |     0
 .../_modules/airflow/utils/dag_processing.html     |     0
 .../1.10.3}/_modules/airflow/utils/dates.html      |     0
 .../1.10.3}/_modules/airflow/utils/db.html         |     0
 .../1.10.3}/_modules/airflow/utils/decorators.html |     0
 .../1.10.3}/_modules/airflow/utils/email.html      |     0
 .../1.10.3}/_modules/airflow/utils/helpers.html    |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 .../1.10.3}/_modules/airflow/utils/net.html        |     0
 .../_modules/airflow/utils/operator_resources.html |     0
 .../1.10.3}/_modules/airflow/utils/sqlalchemy.html |     0
 .../1.10.3}/_modules/airflow/utils/state.html      |     0
 .../1.10.3}/_modules/airflow/utils/timeout.html    |     0
 .../_modules/airflow/utils/trigger_rule.html       |     0
 .../_modules/airflow/utils/weight_rule.html        |     0
 {1.10.3 => docs/1.10.3}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.3}/_sources/_api/index.rst.txt            |     0
 {1.10.3 => docs/1.10.3}/_sources/api.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/changelog.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/cli.rst.txt       |     0
 {1.10.3 => docs/1.10.3}/_sources/concepts.rst.txt  |     0
 {1.10.1 => docs/1.10.3}/_sources/faq.rst.txt       |     0
 .../1.10.3}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.3}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.3}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.3}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.3}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.3}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.3}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.3}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.3}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.3}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.4 => docs/1.10.3}/_sources/index.rst.txt     |     0
 .../1.10.3}/_sources/installation.rst.txt          |     0
 .../1.10.3}/_sources/integration.rst.txt           |     0
 .../1.10.3}/_sources/kubernetes.rst.txt            |     0
 {1.10.2 => docs/1.10.3}/_sources/license.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/lineage.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/macros.rst.txt    |     0
 {1.10.3 => docs/1.10.3}/_sources/metrics.rst.txt   |     0
 {1.10.3 => docs/1.10.3}/_sources/plugins.rst.txt   |     0
 {1.10.2 => docs/1.10.3}/_sources/profiling.rst.txt |     0
 {1.10.3 => docs/1.10.3}/_sources/project.rst.txt   |     0
 {1.10.4 => docs/1.10.3}/_sources/scheduler.rst.txt |     0
 {1.10.4 => docs/1.10.3}/_sources/security.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/start.rst.txt     |     0
 {1.10.3 => docs/1.10.3}/_sources/timezone.rst.txt  |     0
 {1.10.4 => docs/1.10.3}/_sources/tutorial.rst.txt  |     0
 {1.10.2 => docs/1.10.3}/_sources/ui.rst.txt        |     0
 {1.10.3 => docs/1.10.3}/_static/basic.css          |     0
 .../1.10.3/_static}/css/badge_only.css             |     0
 {_static => docs/1.10.3/_static}/css/theme.css     |     0
 {_static => docs/1.10.3/_static}/doctools.js       |     0
 .../1.10.3}/_static/documentation_options.js       |     0
 {1.10.5 => docs/1.10.3}/_static/file.png           |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.3}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.3}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.3}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.3}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.3}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.3}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.3}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.3}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.2 => docs/1.10.3}/_static/jquery-3.2.1.js    |     0
 {1.10.2 => docs/1.10.3}/_static/jquery.js          |     0
 .../1.10.3}/_static/js/modernizr.min.js            |     0
 {_static => docs/1.10.3/_static}/js/theme.js       |     0
 {_static => docs/1.10.3/_static}/language_data.js  |     0
 {1.10.5 => docs/1.10.3}/_static/minus.png          |   Bin
 {1.10.5 => docs/1.10.3}/_static/plus.png           |   Bin
 {1.10.5 => docs/1.10.3}/_static/pygments.css       |     0
 {1.10.3 => docs/1.10.3}/_static/searchtools.js     |     0
 .../1.10.3}/_static/underscore-1.3.1.js            |     0
 {1.10.5 => docs/1.10.3}/_static/underscore.js      |     0
 {1.10.3 => docs/1.10.3}/api.html                   |     0
 {1.10.3 => docs/1.10.3}/changelog.html             |     0
 {1.10.3 => docs/1.10.3}/cli.html                   |     0
 {1.10.3 => docs/1.10.3}/concepts.html              |     0
 {1.10.3 => docs/1.10.3}/faq.html                   |     0
 {1.10.3 => docs/1.10.3}/genindex.html              |     0
 {1.10.3 => docs/1.10.3}/howto/check-health.html    |     0
 {1.10.3 => docs/1.10.3}/howto/connection/aws.html  |     0
 {1.10.3 => docs/1.10.3}/howto/connection/gcp.html  |     0
 .../1.10.3}/howto/connection/gcp_sql.html          |     0
 .../1.10.3}/howto/connection/index.html            |     0
 .../1.10.3}/howto/connection/mysql.html            |     0
 .../1.10.3}/howto/connection/oracle.html           |     0
 .../1.10.3}/howto/connection/postgres.html         |     0
 {1.10.3 => docs/1.10.3}/howto/connection/ssh.html  |     0
 .../1.10.3}/howto/executor/use-celery.html         |     0
 .../1.10.3}/howto/executor/use-dask.html           |     0
 .../1.10.3}/howto/executor/use-mesos.html          |     0
 {1.10.3 => docs/1.10.3}/howto/index.html           |     0
 .../1.10.3}/howto/initialize-database.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/bash.html   |     0
 .../1.10.3}/howto/operator/dingding.html           |     0
 .../1.10.3}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.3}/howto/operator/gcp/compute.html        |     0
 .../1.10.3}/howto/operator/gcp/function.html       |     0
 .../1.10.3}/howto/operator/gcp/gcs.html            |     0
 .../1.10.3}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.3}/howto/operator/gcp/spanner.html        |     0
 .../1.10.3}/howto/operator/gcp/sql.html            |     0
 .../1.10.3}/howto/operator/gcp/transfer.html       |     0
 .../1.10.3}/howto/operator/gcp/translate.html      |     0
 .../1.10.3}/howto/operator/gcp/vision.html         |     0
 {1.10.3 => docs/1.10.3}/howto/operator/index.html  |     0
 {1.10.3 => docs/1.10.3}/howto/operator/python.html |     0
 .../1.10.3}/howto/run-behind-proxy.html            |     0
 .../1.10.3}/howto/run-with-systemd.html            |     0
 .../1.10.3}/howto/run-with-upstart.html            |     0
 .../1.10.3}/howto/secure-connections.html          |     0
 {1.10.3 => docs/1.10.3}/howto/set-config.html      |     0
 {1.10.3 => docs/1.10.3}/howto/use-test-config.html |     0
 {1.10.3 => docs/1.10.3}/howto/write-logs.html      |     0
 {1.10.3 => docs/1.10.3}/http-routingtable.html     |     0
 {1.10.3 => docs/1.10.3}/index.html                 |     0
 {1.10.3 => docs/1.10.3}/installation.html          |     0
 {1.10.3 => docs/1.10.3}/integration.html           |     0
 {1.10.3 => docs/1.10.3}/kubernetes.html            |     0
 {1.10.3 => docs/1.10.3}/license.html               |     0
 {1.10.3 => docs/1.10.3}/lineage.html               |     0
 {1.10.3 => docs/1.10.3}/macros.html                |     0
 {1.10.3 => docs/1.10.3}/metrics.html               |     0
 {1.10.3 => docs/1.10.3}/objects.inv                |   Bin
 {1.10.3 => docs/1.10.3}/plugins.html               |     0
 {1.10.3 => docs/1.10.3}/profiling.html             |     0
 {1.10.3 => docs/1.10.3}/project.html               |     0
 {1.10.3 => docs/1.10.3}/py-modindex.html           |     0
 {1.10.3 => docs/1.10.3}/scheduler.html             |     0
 {1.10.3 => docs/1.10.3}/search.html                |     0
 {1.10.3 => docs/1.10.3}/searchindex.js             |     0
 {1.10.3 => docs/1.10.3}/security.html              |     0
 {1.10.3 => docs/1.10.3}/start.html                 |     0
 {1.10.3 => docs/1.10.3}/timezone.html              |     0
 {1.10.3 => docs/1.10.3}/tutorial.html              |     0
 {1.10.3 => docs/1.10.3}/ui.html                    |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.4}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.4}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.4}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.4}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.4}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.4}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.4}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.4}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.4}/_api/airflow/models/dag/index.html     |     0
 .../1.10.4}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.4}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.4}/_api/airflow/models/errors/index.html  |     0
 .../1.10.4}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.4}/_api/airflow/models/log/index.html     |     0
 .../1.10.4}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.4}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.4}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.4}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.4}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.4}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.4 => docs/1.10.4}/_api/index.html            |     0
 {1.10.4 => docs/1.10.4}/_images/adhoc.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/airflow.gif        |   Bin
 {1.10.4 => docs/1.10.4}/_images/apache.jpg         |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_bad.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/branch_good.png    |   Bin
 .../1.10.4}/_images/branch_with_trigger.png        |   Bin
 .../1.10.4}/_images/branch_without_trigger.png     |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart.png          |   Bin
 {1.10.4 => docs/1.10.4}/_images/chart_form.png     |   Bin
 {1.10.5 => docs/1.10.4}/_images/code.png           |   Bin
 .../1.10.4}/_images/connection_create.png          |   Bin
 .../1.10.4}/_images/connection_edit.png            |   Bin
 {1.10.4 => docs/1.10.4}/_images/connections.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/context.png        |   Bin
 {1.10.5 => docs/1.10.4}/_images/dags.png           |   Bin
 {1.10.5 => docs/1.10.4}/_images/duration.png       |   Bin
 {1.10.5 => docs/1.10.4}/_images/gantt.png          |   Bin
 {1.10.5 => docs/1.10.4}/_images/graph.png          |   Bin
 .../1.10.4}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.4/_images}/operator_extra_link.png        |   Bin
 {1.10.2 => docs/1.10.4}/_images/pin_large.png      |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_after.png   |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_before.png  |   Bin
 {1.10.4 => docs/1.10.4}/_images/subdag_zoom.png    |   Bin
 {1.10.5 => docs/1.10.4}/_images/tree.png           |   Bin
 .../1.10.4}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.4}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.4}/_modules/airflow/exceptions.html       |     0
 .../1.10.4}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.4}/_modules/airflow/hooks.html            |     0
 .../1.10.4}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.4}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.4}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.4}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.4}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.4}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.4}/_modules/airflow/macros.html           |     0
 .../1.10.4}/_modules/airflow/macros/hive.html      |     0
 .../1.10.4}/_modules/airflow/models.html           |     0
 .../1.10.4}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.4}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.4}/_modules/airflow/models/crypto.html    |     0
 .../1.10.4}/_modules/airflow/models/dag.html       |     0
 .../1.10.4}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.4}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.4}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.4}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.4}/_modules/airflow/models/log.html       |     0
 .../1.10.4}/_modules/airflow/models/pool.html      |     0
 .../1.10.4}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.4}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.4}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.4}/_modules/airflow/models/user.html      |     0
 .../1.10.4}/_modules/airflow/models/variable.html  |     0
 .../1.10.4}/_modules/airflow/models/xcom.html      |     0
 .../1.10.4}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.4}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.4 => docs/1.10.4}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources}/_api/airflow/hooks/index.rst.txt     |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_api/airflow/models/log/index.rst.txt          |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources}/_api/airflow/sensors/index.rst.txt   |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.4}/_sources/_api/index.rst.txt            |     0
 {1.10.2 => docs/1.10.4}/_sources/api.rst.txt       |     0
 {1.10.2 => docs/1.10.4}/_sources/changelog.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/cli.rst.txt       |     0
 {1.10.4 => docs/1.10.4}/_sources/concepts.rst.txt  |     0
 {1.10.4 => docs/1.10.4}/_sources/faq.rst.txt       |     0
 .../1.10.4}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.4}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.4}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.4}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.4}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.4}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.4}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.4}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.4}/_sources/howto/set-config.rst.txt      |     0
 .../1.10.4}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.4}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.3 => docs/1.10.4}/_sources/index.rst.txt     |     0
 .../1.10.4}/_sources/installation.rst.txt          |     0
 .../1.10.4}/_sources/integration.rst.txt           |     0
 .../1.10.4}/_sources/kubernetes.rst.txt            |     0
 {1.10.1 => docs/1.10.4}/_sources/license.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/lineage.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/macros.rst.txt    |     0
 {1.10.4 => docs/1.10.4}/_sources/metrics.rst.txt   |     0
 {1.10.4 => docs/1.10.4}/_sources/plugins.rst.txt   |     0
 {1.10.1 => docs/1.10.4}/_sources/profiling.rst.txt |     0
 {1.10.4 => docs/1.10.4}/_sources/project.rst.txt   |     0
 {1.10.3 => docs/1.10.4}/_sources/scheduler.rst.txt |     0
 {1.10.3 => docs/1.10.4}/_sources/security.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/start.rst.txt     |     0
 {1.10.4 => docs/1.10.4}/_sources/timezone.rst.txt  |     0
 {1.10.3 => docs/1.10.4}/_sources/tutorial.rst.txt  |     0
 {1.10.1 => docs/1.10.4}/_sources/ui.rst.txt        |     0
 {1.10.4 => docs/1.10.4}/_static/basic.css          |     0
 {1.10.6 => docs/1.10.4}/_static/css/badge_only.css |     0
 {1.10.6 => docs/1.10.4}/_static/css/theme.css      |     0
 {1.10.6 => docs/1.10.4}/_static/doctools.js        |     0
 .../1.10.4}/_static/documentation_options.js       |     0
 {1.10.4 => docs/1.10.4}/_static/file.png           |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.4}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.4}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.4}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.4}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.4}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.4}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.4}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.4}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {1.10.1 => docs/1.10.4}/_static/jquery-3.2.1.js    |     0
 {1.10.1 => docs/1.10.4}/_static/jquery.js          |     0
 .../1.10.4}/_static/js/modernizr.min.js            |     0
 {1.10.6 => docs/1.10.4}/_static/js/theme.js        |     0
 {1.10.6 => docs/1.10.4}/_static/language_data.js   |     0
 {1.10.4 => docs/1.10.4}/_static/minus.png          |   Bin
 {1.10.4 => docs/1.10.4}/_static/plus.png           |   Bin
 {1.10.4 => docs/1.10.4}/_static/pygments.css       |     0
 {_static => docs/1.10.4/_static}/searchtools.js    |     0
 .../1.10.4}/_static/underscore-1.3.1.js            |     0
 {1.10.4 => docs/1.10.4}/_static/underscore.js      |     0
 {1.10.4 => docs/1.10.4}/api.html                   |     0
 {1.10.4 => docs/1.10.4}/changelog.html             |     0
 {1.10.4 => docs/1.10.4}/cli.html                   |     0
 {1.10.4 => docs/1.10.4}/concepts.html              |     0
 {1.10.4 => docs/1.10.4}/faq.html                   |     0
 {1.10.4 => docs/1.10.4}/genindex.html              |     0
 {1.10.4 => docs/1.10.4}/howto/check-health.html    |     0
 {1.10.4 => docs/1.10.4}/howto/connection/aws.html  |     0
 {1.10.4 => docs/1.10.4}/howto/connection/gcp.html  |     0
 .../1.10.4}/howto/connection/gcp_sql.html          |     0
 {1.10.4 => docs/1.10.4}/howto/connection/grpc.html |     0
 .../1.10.4}/howto/connection/index.html            |     0
 .../1.10.4}/howto/connection/mysql.html            |     0
 .../1.10.4}/howto/connection/oracle.html           |     0
 .../1.10.4}/howto/connection/postgres.html         |     0
 {1.10.4 => docs/1.10.4}/howto/connection/ssh.html  |     0
 .../1.10.4}/howto/define_extra_link.html           |     0
 .../1.10.4}/howto/executor/use-celery.html         |     0
 .../1.10.4}/howto/executor/use-dask.html           |     0
 .../1.10.4}/howto/executor/use-mesos.html          |     0
 {1.10.4 => docs/1.10.4}/howto/index.html           |     0
 .../1.10.4}/howto/initialize-database.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/bash.html   |     0
 .../1.10.4}/howto/operator/dingding.html           |     0
 .../1.10.4}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.4}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.4}/howto/operator/gcp/compute.html        |     0
 .../1.10.4}/howto/operator/gcp/function.html       |     0
 .../1.10.4}/howto/operator/gcp/gcs.html            |     0
 .../1.10.4}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.4}/howto/operator/gcp/spanner.html        |     0
 .../1.10.4}/howto/operator/gcp/speech.html         |     0
 .../1.10.4}/howto/operator/gcp/sql.html            |     0
 .../1.10.4}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.4}/howto/operator/gcp/translate.html      |     0
 .../1.10.4}/howto/operator/gcp/video.html          |     0
 .../1.10.4}/howto/operator/gcp/vision.html         |     0
 {1.10.4 => docs/1.10.4}/howto/operator/index.html  |     0
 {1.10.4 => docs/1.10.4}/howto/operator/python.html |     0
 .../1.10.4}/howto/run-behind-proxy.html            |     0
 .../1.10.4}/howto/run-with-systemd.html            |     0
 .../1.10.4}/howto/run-with-upstart.html            |     0
 .../1.10.4}/howto/secure-connections.html          |     0
 {1.10.4 => docs/1.10.4}/howto/set-config.html      |     0
 {1.10.4 => docs/1.10.4}/howto/use-test-config.html |     0
 {1.10.4 => docs/1.10.4}/howto/write-logs.html      |     0
 {1.10.4 => docs/1.10.4}/http-routingtable.html     |     0
 {1.10.4 => docs/1.10.4}/index.html                 |     0
 {1.10.4 => docs/1.10.4}/installation.html          |     0
 {1.10.4 => docs/1.10.4}/integration.html           |     0
 {1.10.4 => docs/1.10.4}/kubernetes.html            |     0
 {1.10.4 => docs/1.10.4}/license.html               |     0
 {1.10.4 => docs/1.10.4}/lineage.html               |     0
 {1.10.4 => docs/1.10.4}/macros.html                |     0
 {1.10.4 => docs/1.10.4}/metrics.html               |     0
 {1.10.4 => docs/1.10.4}/objects.inv                |   Bin
 {1.10.4 => docs/1.10.4}/plugins.html               |     0
 {1.10.4 => docs/1.10.4}/profiling.html             |     0
 {1.10.4 => docs/1.10.4}/project.html               |     0
 {1.10.4 => docs/1.10.4}/py-modindex.html           |     0
 {1.10.4 => docs/1.10.4}/scheduler.html             |     0
 {1.10.4 => docs/1.10.4}/search.html                |     0
 {1.10.4 => docs/1.10.4}/searchindex.js             |     0
 {1.10.4 => docs/1.10.4}/security.html              |     0
 {1.10.4 => docs/1.10.4}/start.html                 |     0
 {1.10.4 => docs/1.10.4}/timezone.html              |     0
 {1.10.4 => docs/1.10.4}/tutorial.html              |     0
 {1.10.4 => docs/1.10.4}/ui.html                    |     0
 {1.10.5 => docs/1.10.5}/.buildinfo                 |     0
 .../_api/airflow/contrib/executors/index.html      |     0
 .../executors/kubernetes_executor/index.html       |     0
 .../contrib/executors/mesos_executor/index.html    |     0
 .../contrib/hooks/aws_athena_hook/index.html       |     0
 .../contrib/hooks/aws_dynamodb_hook/index.html     |     0
 .../contrib/hooks/aws_firehose_hook/index.html     |     0
 .../contrib/hooks/aws_glue_catalog_hook/index.html |     0
 .../_api/airflow/contrib/hooks/aws_hook/index.html |     0
 .../contrib/hooks/aws_lambda_hook/index.html       |     0
 .../airflow/contrib/hooks/aws_logs_hook/index.html |     0
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |     0
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |     0
 .../hooks/azure_container_instance_hook/index.html |     0
 .../hooks/azure_container_registry_hook/index.html |     0
 .../hooks/azure_container_volume_hook/index.html   |     0
 .../contrib/hooks/azure_cosmos_hook/index.html     |     0
 .../contrib/hooks/azure_data_lake_hook/index.html  |     0
 .../contrib/hooks/azure_fileshare_hook/index.html  |     0
 .../airflow/contrib/hooks/bigquery_hook/index.html |     0
 .../contrib/hooks/cassandra_hook/index.html        |     0
 .../airflow/contrib/hooks/cloudant_hook/index.html |     0
 .../contrib/hooks/databricks_hook/index.html       |     0
 .../airflow/contrib/hooks/datadog_hook/index.html  |     0
 .../contrib/hooks/datastore_hook/index.html        |     0
 .../airflow/contrib/hooks/dingding_hook/index.html |     0
 .../contrib/hooks/discord_webhook_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/emr_hook/index.html |     0
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |     0
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |     0
 .../contrib/hooks/gcp_api_base_hook/index.html     |     0
 .../contrib/hooks/gcp_bigtable_hook/index.html     |     0
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |     0
 .../contrib/hooks/gcp_compute_hook/index.html      |     0
 .../contrib/hooks/gcp_container_hook/index.html    |     0
 .../contrib/hooks/gcp_dataflow_hook/index.html     |     0
 .../contrib/hooks/gcp_dataproc_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |     0
 .../contrib/hooks/gcp_function_hook/index.html     |     0
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |     0
 .../contrib/hooks/gcp_mlengine_hook/index.html     |     0
 .../hooks/gcp_natural_language_hook/index.html     |     0
 .../contrib/hooks/gcp_pubsub_hook/index.html       |     0
 .../contrib/hooks/gcp_spanner_hook/index.html      |     0
 .../hooks/gcp_speech_to_text_hook/index.html       |     0
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |     0
 .../hooks/gcp_text_to_speech_hook/index.html       |     0
 .../contrib/hooks/gcp_transfer_hook/index.html     |     0
 .../contrib/hooks/gcp_translate_hook/index.html    |     0
 .../hooks/gcp_video_intelligence_hook/index.html   |     0
 .../contrib/hooks/gcp_vision_hook/index.html       |     0
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |     0
 .../airflow/contrib/hooks/grpc_hook/index.html     |     0
 .../airflow/contrib/hooks/imap_hook/index.html     |     0
 .../1.10.5}/_api/airflow/contrib/hooks/index.html  |     0
 .../airflow/contrib/hooks/jenkins_hook/index.html  |     0
 .../airflow/contrib/hooks/jira_hook/index.html     |     0
 .../airflow/contrib/hooks/mongo_hook/index.html    |     0
 .../airflow/contrib/hooks/openfaas_hook/index.html |     0
 .../contrib/hooks/opsgenie_alert_hook/index.html   |     0
 .../airflow/contrib/hooks/pinot_hook/index.html    |     0
 .../contrib/hooks/qubole_check_hook/index.html     |     0
 .../airflow/contrib/hooks/qubole_hook/index.html   |     0
 .../airflow/contrib/hooks/redis_hook/index.html    |     0
 .../airflow/contrib/hooks/redshift_hook/index.html |     0
 .../contrib/hooks/sagemaker_hook/index.html        |     0
 .../contrib/hooks/salesforce_hook/index.html       |     0
 .../airflow/contrib/hooks/segment_hook/index.html  |     0
 .../airflow/contrib/hooks/sftp_hook/index.html     |     0
 .../contrib/hooks/slack_webhook_hook/index.html    |     0
 .../contrib/hooks/snowflake_hook/index.html        |     0
 .../contrib/hooks/spark_jdbc_hook/index.html       |     0
 .../contrib/hooks/spark_jdbc_script/index.html     |     0
 .../contrib/hooks/spark_sql_hook/index.html        |     0
 .../contrib/hooks/spark_submit_hook/index.html     |     0
 .../airflow/contrib/hooks/sqoop_hook/index.html    |     0
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |     0
 .../airflow/contrib/hooks/vertica_hook/index.html  |     0
 .../airflow/contrib/hooks/wasb_hook/index.html     |     0
 .../airflow/contrib/hooks/winrm_hook/index.html    |     0
 .../operators/adls_list_operator/index.html        |     0
 .../contrib/operators/adls_to_gcs/index.html       |     0
 .../operators/aws_athena_operator/index.html       |     0
 .../operators/aws_sqs_publish_operator/index.html  |     0
 .../contrib/operators/awsbatch_operator/index.html |     0
 .../azure_container_instances_operator/index.html  |     0
 .../operators/azure_cosmos_operator/index.html     |     0
 .../operators/bigquery_check_operator/index.html   |     0
 .../contrib/operators/bigquery_get_data/index.html |     0
 .../contrib/operators/bigquery_operator/index.html |     0
 .../bigquery_table_delete_operator/index.html      |     0
 .../operators/bigquery_to_bigquery/index.html      |     0
 .../contrib/operators/bigquery_to_gcs/index.html   |     0
 .../contrib/operators/cassandra_to_gcs/index.html  |     0
 .../operators/databricks_operator/index.html       |     0
 .../contrib/operators/dataflow_operator/index.html |     0
 .../contrib/operators/dataproc_operator/index.html |     0
 .../operators/datastore_export_operator/index.html |     0
 .../operators/datastore_import_operator/index.html |     0
 .../contrib/operators/dingding_operator/index.html |     0
 .../operators/discord_webhook_operator/index.html  |     0
 .../contrib/operators/druid_operator/index.html    |     0
 .../contrib/operators/ecs_operator/index.html      |     0
 .../operators/emr_add_steps_operator/index.html    |     0
 .../emr_create_job_flow_operator/index.html        |     0
 .../emr_terminate_job_flow_operator/index.html     |     0
 .../contrib/operators/file_to_gcs/index.html       |     0
 .../contrib/operators/file_to_wasb/index.html      |     0
 .../operators/gcp_bigtable_operator/index.html     |     0
 .../operators/gcp_cloud_build_operator/index.html  |     0
 .../operators/gcp_compute_operator/index.html      |     0
 .../operators/gcp_container_operator/index.html    |     0
 .../contrib/operators/gcp_dlp_operator/index.html  |     0
 .../operators/gcp_function_operator/index.html     |     0
 .../gcp_natural_language_operator/index.html       |     0
 .../operators/gcp_spanner_operator/index.html      |     0
 .../gcp_speech_to_text_operator/index.html         |     0
 .../contrib/operators/gcp_sql_operator/index.html  |     0
 .../gcp_text_to_speech_operator/index.html         |     0
 .../operators/gcp_transfer_operator/index.html     |     0
 .../operators/gcp_translate_operator/index.html    |     0
 .../gcp_translate_speech_operator/index.html       |     0
 .../gcp_video_intelligence_operator/index.html     |     0
 .../operators/gcp_vision_operator/index.html       |     0
 .../contrib/operators/gcs_acl_operator/index.html  |     0
 .../operators/gcs_delete_operator/index.html       |     0
 .../operators/gcs_download_operator/index.html     |     0
 .../contrib/operators/gcs_list_operator/index.html |     0
 .../contrib/operators/gcs_operator/index.html      |     0
 .../airflow/contrib/operators/gcs_to_bq/index.html |     0
 .../contrib/operators/gcs_to_gcs/index.html        |     0
 .../airflow/contrib/operators/gcs_to_s3/index.html |     0
 .../contrib/operators/hipchat_operator/index.html  |     0
 .../contrib/operators/hive_to_dynamodb/index.html  |     0
 .../imap_attachment_to_s3_operator/index.html      |     0
 .../_api/airflow/contrib/operators/index.html      |     0
 .../jenkins_job_trigger_operator/index.html        |     0
 .../contrib/operators/jira_operator/index.html     |     0
 .../operators/kubernetes_pod_operator/index.html   |     0
 .../contrib/operators/mlengine_operator/index.html |     0
 .../contrib/operators/mongo_to_s3/index.html       |     0
 .../contrib/operators/mssql_to_gcs/index.html      |     0
 .../contrib/operators/mysql_to_gcs/index.html      |     0
 .../operators/opsgenie_alert_operator/index.html   |     0
 .../oracle_to_azure_data_lake_transfer/index.html  |     0
 .../operators/oracle_to_oracle_transfer/index.html |     0
 .../operators/postgres_to_gcs_operator/index.html  |     0
 .../contrib/operators/pubsub_operator/index.html   |     0
 .../operators/qubole_check_operator/index.html     |     0
 .../contrib/operators/qubole_operator/index.html   |     0
 .../operators/redis_publish_operator/index.html    |     0
 .../operators/s3_copy_object_operator/index.html   |     0
 .../s3_delete_objects_operator/index.html          |     0
 .../contrib/operators/s3_list_operator/index.html  |     0
 .../operators/s3_to_gcs_operator/index.html        |     0
 .../operators/s3_to_sftp_operator/index.html       |     0
 .../operators/sagemaker_base_operator/index.html   |     0
 .../sagemaker_endpoint_config_operator/index.html  |     0
 .../sagemaker_endpoint_operator/index.html         |     0
 .../operators/sagemaker_model_operator/index.html  |     0
 .../sagemaker_training_operator/index.html         |     0
 .../sagemaker_transform_operator/index.html        |     0
 .../operators/sagemaker_tuning_operator/index.html |     0
 .../segment_track_event_operator/index.html        |     0
 .../contrib/operators/sftp_operator/index.html     |     0
 .../operators/sftp_to_s3_operator/index.html       |     0
 .../operators/slack_webhook_operator/index.html    |     0
 .../operators/snowflake_operator/index.html        |     0
 .../operators/sns_publish_operator/index.html      |     0
 .../operators/spark_jdbc_operator/index.html       |     0
 .../operators/spark_sql_operator/index.html        |     0
 .../operators/spark_submit_operator/index.html     |     0
 .../contrib/operators/sql_to_gcs/index.html        |     0
 .../contrib/operators/sqoop_operator/index.html    |     0
 .../contrib/operators/ssh_operator/index.html      |     0
 .../contrib/operators/vertica_operator/index.html  |     0
 .../contrib/operators/vertica_to_hive/index.html   |     0
 .../contrib/operators/vertica_to_mysql/index.html  |     0
 .../operators/wasb_delete_blob_operator/index.html |     0
 .../contrib/operators/winrm_operator/index.html    |     0
 .../contrib/sensors/aws_athena_sensor/index.html   |     0
 .../aws_glue_catalog_partition_sensor/index.html   |     0
 .../sensors/aws_redshift_cluster_sensor/index.html |     0
 .../contrib/sensors/aws_sqs_sensor/index.html      |     0
 .../contrib/sensors/azure_cosmos_sensor/index.html |     0
 .../airflow/contrib/sensors/bash_sensor/index.html |     0
 .../contrib/sensors/bigquery_sensor/index.html     |     0
 .../sensors/cassandra_record_sensor/index.html     |     0
 .../sensors/cassandra_table_sensor/index.html      |     0
 .../contrib/sensors/datadog_sensor/index.html      |     0
 .../contrib/sensors/emr_base_sensor/index.html     |     0
 .../contrib/sensors/emr_job_flow_sensor/index.html |     0
 .../contrib/sensors/emr_step_sensor/index.html     |     0
 .../airflow/contrib/sensors/file_sensor/index.html |     0
 .../airflow/contrib/sensors/ftp_sensor/index.html  |     0
 .../contrib/sensors/gcp_transfer_sensor/index.html |     0
 .../airflow/contrib/sensors/gcs_sensor/index.html  |     0
 .../airflow/contrib/sensors/hdfs_sensor/index.html |     0
 .../sensors/imap_attachment_sensor/index.html      |     0
 .../_api/airflow/contrib/sensors/index.html        |     0
 .../airflow/contrib/sensors/jira_sensor/index.html |     0
 .../contrib/sensors/mongo_sensor/index.html        |     0
 .../contrib/sensors/pubsub_sensor/index.html       |     0
 .../contrib/sensors/python_sensor/index.html       |     0
 .../contrib/sensors/qubole_sensor/index.html       |     0
 .../contrib/sensors/redis_key_sensor/index.html    |     0
 .../sensors/redis_pub_sub_sensor/index.html        |     0
 .../sensors/sagemaker_base_sensor/index.html       |     0
 .../sensors/sagemaker_endpoint_sensor/index.html   |     0
 .../sensors/sagemaker_training_sensor/index.html   |     0
 .../sensors/sagemaker_transform_sensor/index.html  |     0
 .../sensors/sagemaker_tuning_sensor/index.html     |     0
 .../airflow/contrib/sensors/sftp_sensor/index.html |     0
 .../airflow/contrib/sensors/wasb_sensor/index.html |     0
 .../contrib/sensors/weekday_sensor/index.html      |     0
 .../airflow/executors/base_executor/index.html     |     0
 .../airflow/executors/celery_executor/index.html   |     0
 .../airflow/executors/dask_executor/index.html     |     0
 .../1.10.5}/_api/airflow/executors/index.html      |     0
 .../airflow/executors/local_executor/index.html    |     0
 .../executors/sequential_executor/index.html       |     0
 .../1.10.5}/_api/airflow/hooks/S3_hook/index.html  |     0
 .../_api/airflow/hooks/base_hook/index.html        |     0
 .../_api/airflow/hooks/dbapi_hook/index.html       |     0
 .../_api/airflow/hooks/docker_hook/index.html      |     0
 .../_api/airflow/hooks/druid_hook/index.html       |     0
 .../_api/airflow/hooks/hdfs_hook/index.html        |     0
 .../_api/airflow/hooks/hive_hooks/index.html       |     0
 .../_api/airflow/hooks/http_hook/index.html        |     0
 .../1.10.5}/_api/airflow/hooks/index.html          |     0
 .../_api/airflow/hooks/jdbc_hook/index.html        |     0
 .../_api/airflow/hooks/mssql_hook/index.html       |     0
 .../_api/airflow/hooks/mysql_hook/index.html       |     0
 .../_api/airflow/hooks/oracle_hook/index.html      |     0
 .../1.10.5}/_api/airflow/hooks/pig_hook/index.html |     0
 .../_api/airflow/hooks/postgres_hook/index.html    |     0
 .../_api/airflow/hooks/presto_hook/index.html      |     0
 .../_api/airflow/hooks/samba_hook/index.html       |     0
 .../_api/airflow/hooks/slack_hook/index.html       |     0
 .../_api/airflow/hooks/sqlite_hook/index.html      |     0
 .../_api/airflow/hooks/webhdfs_hook/index.html     |     0
 .../_api/airflow/hooks/zendesk_hook/index.html     |     0
 .../1.10.5}/_api/airflow/models/base/index.html    |     0
 .../_api/airflow/models/baseoperator/index.html    |     0
 .../1.10.5}/_api/airflow/models/chart/index.html   |     0
 .../_api/airflow/models/connection/index.html      |     0
 .../1.10.5}/_api/airflow/models/crypto/index.html  |     0
 .../1.10.5}/_api/airflow/models/dag/index.html     |     0
 .../1.10.5}/_api/airflow/models/dagbag/index.html  |     0
 .../_api/airflow/models/dagpickle/index.html       |     0
 .../1.10.5}/_api/airflow/models/dagrun/index.html  |     0
 .../1.10.5}/_api/airflow/models/errors/index.html  |     0
 .../1.10.5}/_api/airflow/models/index.html         |     0
 .../_api/airflow/models/knownevent/index.html      |     0
 .../_api/airflow/models/kubernetes/index.html      |     0
 .../1.10.5}/_api/airflow/models/log/index.html     |     0
 .../1.10.5}/_api/airflow/models/pool/index.html    |     0
 .../_api/airflow/models/skipmixin/index.html       |     0
 .../1.10.5}/_api/airflow/models/slamiss/index.html |     0
 .../_api/airflow/models/taskfail/index.html        |     0
 .../_api/airflow/models/taskinstance/index.html    |     0
 .../_api/airflow/models/taskreschedule/index.html  |     0
 .../1.10.5}/_api/airflow/models/user/index.html    |     0
 .../_api/airflow/models/variable/index.html        |     0
 .../1.10.5}/_api/airflow/models/xcom/index.html    |     0
 .../airflow/operators/bash_operator/index.html     |     0
 .../airflow/operators/branch_operator/index.html   |     0
 .../airflow/operators/check_operator/index.html    |     0
 .../airflow/operators/dagrun_operator/index.html   |     0
 .../airflow/operators/docker_operator/index.html   |     0
 .../operators/druid_check_operator/index.html      |     0
 .../airflow/operators/dummy_operator/index.html    |     0
 .../airflow/operators/email_operator/index.html    |     0
 .../airflow/operators/generic_transfer/index.html  |     0
 .../airflow/operators/hive_operator/index.html     |     0
 .../operators/hive_stats_operator/index.html       |     0
 .../airflow/operators/hive_to_druid/index.html     |     0
 .../airflow/operators/hive_to_mysql/index.html     |     0
 .../operators/hive_to_samba_operator/index.html    |     0
 .../airflow/operators/http_operator/index.html     |     0
 .../1.10.5}/_api/airflow/operators/index.html      |     0
 .../airflow/operators/jdbc_operator/index.html     |     0
 .../operators/latest_only_operator/index.html      |     0
 .../airflow/operators/mssql_operator/index.html    |     0
 .../airflow/operators/mssql_to_hive/index.html     |     0
 .../airflow/operators/mysql_operator/index.html    |     0
 .../airflow/operators/mysql_to_hive/index.html     |     0
 .../airflow/operators/oracle_operator/index.html   |     0
 .../_api/airflow/operators/pig_operator/index.html |     0
 .../airflow/operators/postgres_operator/index.html |     0
 .../operators/presto_check_operator/index.html     |     0
 .../airflow/operators/presto_to_mysql/index.html   |     0
 .../airflow/operators/python_operator/index.html   |     0
 .../operators/redshift_to_s3_operator/index.html   |     0
 .../s3_file_transform_operator/index.html          |     0
 .../operators/s3_to_hive_operator/index.html       |     0
 .../operators/s3_to_redshift_operator/index.html   |     0
 .../_api/airflow/operators/sensors/index.html      |     0
 .../airflow/operators/slack_operator/index.html    |     0
 .../airflow/operators/sqlite_operator/index.html   |     0
 .../airflow/operators/subdag_operator/index.html   |     0
 .../sensors/base_sensor_operator/index.html        |     0
 .../sensors/external_task_sensor/index.html        |     0
 .../_api/airflow/sensors/hdfs_sensor/index.html    |     0
 .../sensors/hive_partition_sensor/index.html       |     0
 .../_api/airflow/sensors/http_sensor/index.html    |     0
 .../1.10.5}/_api/airflow/sensors/index.html        |     0
 .../sensors/metastore_partition_sensor/index.html  |     0
 .../sensors/named_hive_partition_sensor/index.html |     0
 .../_api/airflow/sensors/s3_key_sensor/index.html  |     0
 .../airflow/sensors/s3_prefix_sensor/index.html    |     0
 .../_api/airflow/sensors/sql_sensor/index.html     |     0
 .../airflow/sensors/time_delta_sensor/index.html   |     0
 .../_api/airflow/sensors/time_sensor/index.html    |     0
 .../airflow/sensors/web_hdfs_sensor/index.html     |     0
 {1.10.5 => docs/1.10.5}/_api/index.html            |     0
 {1.10.3 => docs/1.10.5}/_images/adhoc.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/airflow.gif        |   Bin
 {1.10.3 => docs/1.10.5}/_images/apache.jpg         |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_bad.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/branch_good.png    |   Bin
 .../1.10.5}/_images/branch_with_trigger.png        |   Bin
 .../1.10.5}/_images/branch_without_trigger.png     |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart.png          |   Bin
 {1.10.3 => docs/1.10.5}/_images/chart_form.png     |   Bin
 {1.10.4 => docs/1.10.5}/_images/code.png           |   Bin
 .../1.10.5}/_images/connection_create.png          |   Bin
 .../1.10.5}/_images/connection_edit.png            |   Bin
 {1.10.3 => docs/1.10.5}/_images/connections.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/context.png        |   Bin
 {1.10.4 => docs/1.10.5}/_images/dags.png           |   Bin
 {1.10.4 => docs/1.10.5}/_images/duration.png       |   Bin
 {1.10.4 => docs/1.10.5}/_images/gantt.png          |   Bin
 {1.10.4 => docs/1.10.5}/_images/graph.png          |   Bin
 .../1.10.5}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.5}/_images/operator_extra_link.png        |   Bin
 {1.10.1 => docs/1.10.5}/_images/pin_large.png      |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_after.png   |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_before.png  |   Bin
 {1.10.3 => docs/1.10.5}/_images/subdag_zoom.png    |   Bin
 {1.10.4 => docs/1.10.5}/_images/tree.png           |   Bin
 .../1.10.5}/_images/variable_hidden.png            |   Bin
 .../example_dags/example_dingding_operator.html    |     0
 .../example_gcp_bigtable_operators.html            |     0
 .../example_dags/example_gcp_cloud_build.html      |     0
 .../contrib/example_dags/example_gcp_compute.html  |     0
 .../example_dags/example_gcp_compute_igm.html      |     0
 .../contrib/example_dags/example_gcp_function.html |     0
 .../example_dags/example_gcp_natural_language.html |     0
 .../contrib/example_dags/example_gcp_spanner.html  |     0
 .../contrib/example_dags/example_gcp_speech.html   |     0
 .../contrib/example_dags/example_gcp_sql.html      |     0
 .../example_dags/example_gcp_sql_query.html        |     0
 .../contrib/example_dags/example_gcp_transfer.html |     0
 .../example_dags/example_gcp_translate.html        |     0
 .../example_gcp_video_intelligence.html            |     0
 .../contrib/example_dags/example_gcp_vision.html   |     0
 .../contrib/example_dags/example_gcs_acl.html      |     0
 .../example_dags/example_gcs_to_bq_operator.html   |     0
 .../contrib/executors/kubernetes_executor.html     |     0
 .../airflow/contrib/executors/mesos_executor.html  |     0
 .../1.10.5}/_modules/airflow/contrib/hooks.html    |     0
 .../airflow/contrib/hooks/aws_athena_hook.html     |     0
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |     0
 .../airflow/contrib/hooks/aws_firehose_hook.html   |     0
 .../contrib/hooks/aws_glue_catalog_hook.html       |     0
 .../_modules/airflow/contrib/hooks/aws_hook.html   |     0
 .../airflow/contrib/hooks/aws_lambda_hook.html     |     0
 .../airflow/contrib/hooks/aws_logs_hook.html       |     0
 .../airflow/contrib/hooks/aws_sns_hook.html        |     0
 .../airflow/contrib/hooks/aws_sqs_hook.html        |     0
 .../hooks/azure_container_instance_hook.html       |     0
 .../hooks/azure_container_registry_hook.html       |     0
 .../contrib/hooks/azure_container_volume_hook.html |     0
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |     0
 .../contrib/hooks/azure_data_lake_hook.html        |     0
 .../contrib/hooks/azure_fileshare_hook.html        |     0
 .../airflow/contrib/hooks/bigquery_hook.html       |     0
 .../airflow/contrib/hooks/cassandra_hook.html      |     0
 .../airflow/contrib/hooks/cloudant_hook.html       |     0
 .../airflow/contrib/hooks/databricks_hook.html     |     0
 .../airflow/contrib/hooks/datadog_hook.html        |     0
 .../airflow/contrib/hooks/datastore_hook.html      |     0
 .../airflow/contrib/hooks/dingding_hook.html       |     0
 .../contrib/hooks/discord_webhook_hook.html        |     0
 .../_modules/airflow/contrib/hooks/emr_hook.html   |     0
 .../_modules/airflow/contrib/hooks/fs_hook.html    |     0
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |     0
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |     0
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |     0
 .../contrib/hooks/gcp_cloud_build_hook.html        |     0
 .../airflow/contrib/hooks/gcp_compute_hook.html    |     0
 .../airflow/contrib/hooks/gcp_container_hook.html  |     0
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |     0
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |     0
 .../airflow/contrib/hooks/gcp_function_hook.html   |     0
 .../airflow/contrib/hooks/gcp_kms_hook.html        |     0
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |     0
 .../contrib/hooks/gcp_natural_language_hook.html   |     0
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |     0
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |     0
 .../contrib/hooks/gcp_speech_to_text_hook.html     |     0
 .../airflow/contrib/hooks/gcp_sql_hook.html        |     0
 .../contrib/hooks/gcp_text_to_speech_hook.html     |     0
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |     0
 .../airflow/contrib/hooks/gcp_translate_hook.html  |     0
 .../contrib/hooks/gcp_video_intelligence_hook.html |     0
 .../airflow/contrib/hooks/gcp_vision_hook.html     |     0
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |     0
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |     0
 .../_modules/airflow/contrib/hooks/imap_hook.html  |     0
 .../airflow/contrib/hooks/jenkins_hook.html        |     0
 .../_modules/airflow/contrib/hooks/jira_hook.html  |     0
 .../_modules/airflow/contrib/hooks/mongo_hook.html |     0
 .../airflow/contrib/hooks/openfaas_hook.html       |     0
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |     0
 .../_modules/airflow/contrib/hooks/pinot_hook.html |     0
 .../airflow/contrib/hooks/qubole_check_hook.html   |     0
 .../airflow/contrib/hooks/qubole_hook.html         |     0
 .../_modules/airflow/contrib/hooks/redis_hook.html |     0
 .../airflow/contrib/hooks/redshift_hook.html       |     0
 .../airflow/contrib/hooks/sagemaker_hook.html      |     0
 .../airflow/contrib/hooks/salesforce_hook.html     |     0
 .../airflow/contrib/hooks/segment_hook.html        |     0
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |     0
 .../airflow/contrib/hooks/slack_webhook_hook.html  |     0
 .../airflow/contrib/hooks/snowflake_hook.html      |     0
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |     0
 .../airflow/contrib/hooks/spark_jdbc_script.html   |     0
 .../airflow/contrib/hooks/spark_sql_hook.html      |     0
 .../airflow/contrib/hooks/spark_submit_hook.html   |     0
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |     0
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |     0
 .../airflow/contrib/hooks/vertica_hook.html        |     0
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |     0
 .../_modules/airflow/contrib/hooks/winrm_hook.html |     0
 .../_modules/airflow/contrib/operators.html        |     0
 .../contrib/operators/adls_list_operator.html      |     0
 .../airflow/contrib/operators/adls_to_gcs.html     |     0
 .../contrib/operators/aws_athena_operator.html     |     0
 .../operators/aws_sqs_publish_operator.html        |     0
 .../contrib/operators/awsbatch_operator.html       |     0
 .../azure_container_instances_operator.html        |     0
 .../contrib/operators/azure_cosmos_operator.html   |     0
 .../contrib/operators/bigquery_check_operator.html |     0
 .../contrib/operators/bigquery_get_data.html       |     0
 .../contrib/operators/bigquery_operator.html       |     0
 .../operators/bigquery_table_delete_operator.html  |     0
 .../contrib/operators/bigquery_to_bigquery.html    |     0
 .../airflow/contrib/operators/bigquery_to_gcs.html |     0
 .../contrib/operators/cassandra_to_gcs.html        |     0
 .../contrib/operators/databricks_operator.html     |     0
 .../contrib/operators/dataflow_operator.html       |     0
 .../contrib/operators/dataproc_operator.html       |     0
 .../operators/datastore_export_operator.html       |     0
 .../operators/datastore_import_operator.html       |     0
 .../contrib/operators/dingding_operator.html       |     0
 .../operators/discord_webhook_operator.html        |     0
 .../airflow/contrib/operators/druid_operator.html  |     0
 .../airflow/contrib/operators/ecs_operator.html    |     0
 .../contrib/operators/emr_add_steps_operator.html  |     0
 .../operators/emr_create_job_flow_operator.html    |     0
 .../operators/emr_terminate_job_flow_operator.html |     0
 .../airflow/contrib/operators/file_to_gcs.html     |     0
 .../airflow/contrib/operators/file_to_wasb.html    |     0
 .../contrib/operators/gcp_bigtable_operator.html   |     0
 .../operators/gcp_cloud_build_operator.html        |     0
 .../contrib/operators/gcp_compute_operator.html    |     0
 .../contrib/operators/gcp_container_operator.html  |     0
 .../contrib/operators/gcp_dlp_operator.html        |     0
 .../contrib/operators/gcp_function_operator.html   |     0
 .../operators/gcp_natural_language_operator.html   |     0
 .../contrib/operators/gcp_spanner_operator.html    |     0
 .../operators/gcp_speech_to_text_operator.html     |     0
 .../contrib/operators/gcp_sql_operator.html        |     0
 .../operators/gcp_text_to_speech_operator.html     |     0
 .../contrib/operators/gcp_transfer_operator.html   |     0
 .../contrib/operators/gcp_translate_operator.html  |     0
 .../operators/gcp_translate_speech_operator.html   |     0
 .../operators/gcp_video_intelligence_operator.html |     0
 .../contrib/operators/gcp_vision_operator.html     |     0
 .../contrib/operators/gcs_acl_operator.html        |     0
 .../contrib/operators/gcs_delete_operator.html     |     0
 .../contrib/operators/gcs_download_operator.html   |     0
 .../contrib/operators/gcs_list_operator.html       |     0
 .../airflow/contrib/operators/gcs_operator.html    |     0
 .../airflow/contrib/operators/gcs_to_bq.html       |     0
 .../airflow/contrib/operators/gcs_to_gcs.html      |     0
 .../airflow/contrib/operators/gcs_to_s3.html       |     0
 .../contrib/operators/hipchat_operator.html        |     0
 .../contrib/operators/hive_to_dynamodb.html        |     0
 .../operators/imap_attachment_to_s3_operator.html  |     0
 .../operators/jenkins_job_trigger_operator.html    |     0
 .../airflow/contrib/operators/jira_operator.html   |     0
 .../contrib/operators/kubernetes_pod_operator.html |     0
 .../contrib/operators/mlengine_operator.html       |     0
 .../airflow/contrib/operators/mongo_to_s3.html     |     0
 .../airflow/contrib/operators/mssql_to_gcs.html    |     0
 .../airflow/contrib/operators/mysql_to_gcs.html    |     0
 .../contrib/operators/opsgenie_alert_operator.html |     0
 .../oracle_to_azure_data_lake_transfer.html        |     0
 .../operators/oracle_to_oracle_transfer.html       |     0
 .../operators/postgres_to_gcs_operator.html        |     0
 .../airflow/contrib/operators/pubsub_operator.html |     0
 .../contrib/operators/qubole_check_operator.html   |     0
 .../airflow/contrib/operators/qubole_operator.html |     0
 .../contrib/operators/redis_publish_operator.html  |     0
 .../contrib/operators/s3_copy_object_operator.html |     0
 .../operators/s3_delete_objects_operator.html      |     0
 .../contrib/operators/s3_list_operator.html        |     0
 .../contrib/operators/s3_to_gcs_operator.html      |     0
 .../contrib/operators/s3_to_sftp_operator.html     |     0
 .../contrib/operators/sagemaker_base_operator.html |     0
 .../sagemaker_endpoint_config_operator.html        |     0
 .../operators/sagemaker_endpoint_operator.html     |     0
 .../operators/sagemaker_model_operator.html        |     0
 .../operators/sagemaker_training_operator.html     |     0
 .../operators/sagemaker_transform_operator.html    |     0
 .../operators/sagemaker_tuning_operator.html       |     0
 .../operators/segment_track_event_operator.html    |     0
 .../airflow/contrib/operators/sftp_operator.html   |     0
 .../contrib/operators/sftp_to_s3_operator.html     |     0
 .../contrib/operators/slack_webhook_operator.html  |     0
 .../contrib/operators/snowflake_operator.html      |     0
 .../contrib/operators/sns_publish_operator.html    |     0
 .../contrib/operators/spark_jdbc_operator.html     |     0
 .../contrib/operators/spark_sql_operator.html      |     0
 .../contrib/operators/spark_submit_operator.html   |     0
 .../airflow/contrib/operators/sql_to_gcs.html      |     0
 .../airflow/contrib/operators/sqoop_operator.html  |     0
 .../airflow/contrib/operators/ssh_operator.html    |     0
 .../contrib/operators/vertica_operator.html        |     0
 .../airflow/contrib/operators/vertica_to_hive.html |     0
 .../contrib/operators/vertica_to_mysql.html        |     0
 .../operators/wasb_delete_blob_operator.html       |     0
 .../airflow/contrib/operators/winrm_operator.html  |     0
 .../airflow/contrib/sensors/aws_athena_sensor.html |     0
 .../sensors/aws_glue_catalog_partition_sensor.html |     0
 .../sensors/aws_redshift_cluster_sensor.html       |     0
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |     0
 .../contrib/sensors/azure_cosmos_sensor.html       |     0
 .../airflow/contrib/sensors/bash_sensor.html       |     0
 .../airflow/contrib/sensors/bigquery_sensor.html   |     0
 .../contrib/sensors/cassandra_record_sensor.html   |     0
 .../contrib/sensors/cassandra_table_sensor.html    |     0
 .../airflow/contrib/sensors/datadog_sensor.html    |     0
 .../airflow/contrib/sensors/emr_base_sensor.html   |     0
 .../contrib/sensors/emr_job_flow_sensor.html       |     0
 .../airflow/contrib/sensors/emr_step_sensor.html   |     0
 .../airflow/contrib/sensors/file_sensor.html       |     0
 .../airflow/contrib/sensors/ftp_sensor.html        |     0
 .../contrib/sensors/gcp_transfer_sensor.html       |     0
 .../airflow/contrib/sensors/gcs_sensor.html        |     0
 .../airflow/contrib/sensors/hdfs_sensor.html       |     0
 .../contrib/sensors/imap_attachment_sensor.html    |     0
 .../airflow/contrib/sensors/jira_sensor.html       |     0
 .../airflow/contrib/sensors/mongo_sensor.html      |     0
 .../airflow/contrib/sensors/pubsub_sensor.html     |     0
 .../airflow/contrib/sensors/python_sensor.html     |     0
 .../airflow/contrib/sensors/qubole_sensor.html     |     0
 .../airflow/contrib/sensors/redis_key_sensor.html  |     0
 .../contrib/sensors/redis_pub_sub_sensor.html      |     0
 .../contrib/sensors/sagemaker_base_sensor.html     |     0
 .../contrib/sensors/sagemaker_endpoint_sensor.html |     0
 .../contrib/sensors/sagemaker_training_sensor.html |     0
 .../sensors/sagemaker_transform_sensor.html        |     0
 .../contrib/sensors/sagemaker_tuning_sensor.html   |     0
 .../airflow/contrib/sensors/sftp_sensor.html       |     0
 .../airflow/contrib/sensors/wasb_sensor.html       |     0
 .../airflow/contrib/sensors/weekday_sensor.html    |     0
 .../example_dags/example_bash_operator.html        |     0
 .../example_dags/example_python_operator.html      |     0
 .../1.10.5}/_modules/airflow/exceptions.html       |     0
 .../1.10.5}/_modules/airflow/executors.html        |     0
 .../_modules/airflow/executors/base_executor.html  |     0
 .../airflow/executors/celery_executor.html         |     0
 .../_modules/airflow/executors/dask_executor.html  |     0
 .../_modules/airflow/executors/local_executor.html |     0
 .../airflow/executors/sequential_executor.html     |     0
 .../1.10.5}/_modules/airflow/hooks.html            |     0
 .../1.10.5}/_modules/airflow/hooks/S3_hook.html    |     0
 .../1.10.5}/_modules/airflow/hooks/base_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/dbapi_hook.html |     0
 .../_modules/airflow/hooks/docker_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/druid_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/hdfs_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/hive_hooks.html |     0
 .../1.10.5}/_modules/airflow/hooks/http_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/jdbc_hook.html  |     0
 .../1.10.5}/_modules/airflow/hooks/mssql_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/mysql_hook.html |     0
 .../_modules/airflow/hooks/oracle_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/pig_hook.html   |     0
 .../_modules/airflow/hooks/postgres_hook.html      |     0
 .../_modules/airflow/hooks/presto_hook.html        |     0
 .../1.10.5}/_modules/airflow/hooks/samba_hook.html |     0
 .../1.10.5}/_modules/airflow/hooks/slack_hook.html |     0
 .../_modules/airflow/hooks/sqlite_hook.html        |     0
 .../_modules/airflow/hooks/webhdfs_hook.html       |     0
 .../_modules/airflow/hooks/zendesk_hook.html       |     0
 .../1.10.5}/_modules/airflow/macros.html           |     0
 .../1.10.5}/_modules/airflow/macros/hive.html      |     0
 .../1.10.5}/_modules/airflow/models.html           |     0
 .../1.10.5}/_modules/airflow/models/base.html      |     0
 .../_modules/airflow/models/baseoperator.html      |     0
 .../1.10.5}/_modules/airflow/models/chart.html     |     0
 .../_modules/airflow/models/connection.html        |     0
 .../1.10.5}/_modules/airflow/models/crypto.html    |     0
 .../1.10.5}/_modules/airflow/models/dag.html       |     0
 .../1.10.5}/_modules/airflow/models/dagbag.html    |     0
 .../1.10.5}/_modules/airflow/models/dagpickle.html |     0
 .../1.10.5}/_modules/airflow/models/dagrun.html    |     0
 .../1.10.5}/_modules/airflow/models/errors.html    |     0
 .../_modules/airflow/models/knownevent.html        |     0
 .../_modules/airflow/models/kubernetes.html        |     0
 .../1.10.5}/_modules/airflow/models/log.html       |     0
 .../1.10.5}/_modules/airflow/models/pool.html      |     0
 .../1.10.5}/_modules/airflow/models/skipmixin.html |     0
 .../1.10.5}/_modules/airflow/models/slamiss.html   |     0
 .../1.10.5}/_modules/airflow/models/taskfail.html  |     0
 .../_modules/airflow/models/taskinstance.html      |     0
 .../_modules/airflow/models/taskreschedule.html    |     0
 .../1.10.5}/_modules/airflow/models/user.html      |     0
 .../1.10.5}/_modules/airflow/models/variable.html  |     0
 .../1.10.5}/_modules/airflow/models/xcom.html      |     0
 .../1.10.5}/_modules/airflow/operators.html        |     0
 .../_modules/airflow/operators/bash_operator.html  |     0
 .../airflow/operators/branch_operator.html         |     0
 .../_modules/airflow/operators/check_operator.html |     0
 .../airflow/operators/dagrun_operator.html         |     0
 .../airflow/operators/docker_operator.html         |     0
 .../airflow/operators/druid_check_operator.html    |     0
 .../_modules/airflow/operators/dummy_operator.html |     0
 .../_modules/airflow/operators/email_operator.html |     0
 .../airflow/operators/generic_transfer.html        |     0
 .../_modules/airflow/operators/hive_operator.html  |     0
 .../airflow/operators/hive_stats_operator.html     |     0
 .../_modules/airflow/operators/hive_to_druid.html  |     0
 .../_modules/airflow/operators/hive_to_mysql.html  |     0
 .../airflow/operators/hive_to_samba_operator.html  |     0
 .../_modules/airflow/operators/http_operator.html  |     0
 .../_modules/airflow/operators/jdbc_operator.html  |     0
 .../airflow/operators/latest_only_operator.html    |     0
 .../_modules/airflow/operators/mssql_operator.html |     0
 .../_modules/airflow/operators/mssql_to_hive.html  |     0
 .../_modules/airflow/operators/mysql_operator.html |     0
 .../_modules/airflow/operators/mysql_to_hive.html  |     0
 .../airflow/operators/oracle_operator.html         |     0
 .../_modules/airflow/operators/pig_operator.html   |     0
 .../airflow/operators/postgres_operator.html       |     0
 .../airflow/operators/presto_check_operator.html   |     0
 .../airflow/operators/presto_to_mysql.html         |     0
 .../airflow/operators/python_operator.html         |     0
 .../airflow/operators/redshift_to_s3_operator.html |     0
 .../operators/s3_file_transform_operator.html      |     0
 .../airflow/operators/s3_to_hive_operator.html     |     0
 .../airflow/operators/s3_to_redshift_operator.html |     0
 .../_modules/airflow/operators/sensors.html        |     0
 .../_modules/airflow/operators/slack_operator.html |     0
 .../airflow/operators/sqlite_operator.html         |     0
 .../airflow/operators/subdag_operator.html         |     0
 .../1.10.5}/_modules/airflow/sensors.html          |     0
 .../airflow/sensors/base_sensor_operator.html      |     0
 .../airflow/sensors/external_task_sensor.html      |     0
 .../_modules/airflow/sensors/hdfs_sensor.html      |     0
 .../airflow/sensors/hive_partition_sensor.html     |     0
 .../_modules/airflow/sensors/http_sensor.html      |     0
 .../sensors/metastore_partition_sensor.html        |     0
 .../sensors/named_hive_partition_sensor.html       |     0
 .../_modules/airflow/sensors/s3_key_sensor.html    |     0
 .../_modules/airflow/sensors/s3_prefix_sensor.html |     0
 .../_modules/airflow/sensors/sql_sensor.html       |     0
 .../airflow/sensors/time_delta_sensor.html         |     0
 .../_modules/airflow/sensors/time_sensor.html      |     0
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |     0
 .../_modules/airflow/utils/log/logging_mixin.html  |     0
 {1.10.5 => docs/1.10.5}/_modules/index.html        |     0
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.5/_sources}/_api/index.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/api.rst.txt     |     0
 .../1.10.5/_sources}/changelog.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/cli.rst.txt     |     0
 {1.10.5 => docs/1.10.5}/_sources/concepts.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/faq.rst.txt       |     0
 .../1.10.5/_sources}/howto/check-health.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/aws.rst.txt  |     0
 .../1.10.5}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources}/howto/connection/gcp_sql.rst.txt     |     0
 .../1.10.5}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources}/howto/connection/mysql.rst.txt       |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources}/howto/connection/postgres.rst.txt    |     0
 .../1.10.5}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources}/howto/executor/use-dask.rst.txt      |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../1.10.5}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources}/howto/operator/gcp/bigtable.rst.txt  |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources}/howto/operator/gcp/compute.rst.txt   |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources}/howto/operator/gcp/gcs.rst.txt       |     0
 .../_sources}/howto/operator/gcp/index.rst.txt     |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources}/howto/operator/gcp/speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources}/howto/operator/gcp/transfer.rst.txt  |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources}/howto/operator/gcp/translate.rst.txt |     0
 .../_sources}/howto/operator/gcp/video.rst.txt     |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../1.10.5}/_sources/howto/operator/index.rst.txt  |     0
 .../1.10.5/_sources}/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../1.10.5}/_sources/howto/set-config.rst.txt      |     0
 .../_sources}/howto/tracking-user-activity.rst.txt |     0
 .../1.10.5}/_sources/howto/use-test-config.rst.txt |     0
 .../1.10.5}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.5 => docs/1.10.5}/_sources/index.rst.txt     |     0
 .../1.10.5/_sources}/installation.rst.txt          |     0
 .../1.10.5}/_sources/integration.rst.txt           |     0
 .../1.10.5/_sources}/kubernetes.rst.txt            |     0
 {_sources => docs/1.10.5/_sources}/license.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/lineage.rst.txt   |     0
 {_sources => docs/1.10.5/_sources}/macros.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/metrics.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/plugins.rst.txt   |     0
 .../1.10.5/_sources}/privacy_notice.rst.txt        |     0
 .../1.10.5/_sources}/profiling.rst.txt             |     0
 {_sources => docs/1.10.5/_sources}/project.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/scheduler.rst.txt |     0
 {1.10.5 => docs/1.10.5}/_sources/security.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/start.rst.txt   |     0
 {1.10.5 => docs/1.10.5}/_sources/timezone.rst.txt  |     0
 {1.10.5 => docs/1.10.5}/_sources/tutorial.rst.txt  |     0
 {_sources => docs/1.10.5/_sources}/ui.rst.txt      |     0
 {_static => docs/1.10.5/_static}/basic.css         |     0
 {1.10.5 => docs/1.10.5}/_static/css/badge_only.css |     0
 {1.10.5 => docs/1.10.5}/_static/css/theme.css      |     0
 {1.10.5 => docs/1.10.5}/_static/doctools.js        |     0
 .../1.10.5}/_static/documentation_options.js       |     0
 {1.10.3 => docs/1.10.5}/_static/file.png           |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Bold.ttf     |   Bin
 .../1.10.5}/_static/fonts/Inconsolata-Regular.ttf  |   Bin
 .../1.10.5}/_static/fonts/Inconsolata.ttf          |   Bin
 .../1.10.5}/_static/fonts/Lato-Bold.ttf            |   Bin
 .../1.10.5}/_static/fonts/Lato-Regular.ttf         |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.eot       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.ttf       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff      |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bold.woff2     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.eot |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-bolditalic.ttf |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.eot     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.ttf     |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-italic.woff2   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.eot    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.ttf    |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff   |   Bin
 .../1.10.5}/_static/fonts/Lato/lato-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Bold.ttf      |   Bin
 .../1.10.5}/_static/fonts/RobotoSlab-Regular.ttf   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.eot  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.svg  |     0
 .../1.10.5}/_static/fonts/fontawesome-webfont.ttf  |   Bin
 .../1.10.5}/_static/fonts/fontawesome-webfont.woff |   Bin
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin
 {_static => docs/1.10.5/_static}/jquery-3.4.1.js   |     0
 {_static => docs/1.10.5/_static}/jquery.js         |     0
 .../1.10.5}/_static/js/modernizr.min.js            |     0
 {1.10.5 => docs/1.10.5}/_static/js/theme.js        |     0
 {1.10.5 => docs/1.10.5}/_static/language_data.js   |     0
 {1.10.3 => docs/1.10.5}/_static/minus.png          |   Bin
 {1.10.3 => docs/1.10.5}/_static/plus.png           |   Bin
 {1.10.3 => docs/1.10.5}/_static/pygments.css       |     0
 {1.10.6 => docs/1.10.5}/_static/searchtools.js     |     0
 .../1.10.5}/_static/underscore-1.3.1.js            |     0
 {1.10.3 => docs/1.10.5}/_static/underscore.js      |     0
 {1.10.5 => docs/1.10.5}/api.html                   |     0
 {1.10.5 => docs/1.10.5}/changelog.html             |     0
 {1.10.5 => docs/1.10.5}/cli.html                   |     0
 {1.10.5 => docs/1.10.5}/concepts.html              |     0
 {1.10.5 => docs/1.10.5}/faq.html                   |     0
 {1.10.5 => docs/1.10.5}/genindex.html              |     0
 {1.10.5 => docs/1.10.5}/howto/check-health.html    |     0
 {1.10.5 => docs/1.10.5}/howto/connection/aws.html  |     0
 {1.10.5 => docs/1.10.5}/howto/connection/gcp.html  |     0
 .../1.10.5}/howto/connection/gcp_sql.html          |     0
 {1.10.5 => docs/1.10.5}/howto/connection/grpc.html |     0
 .../1.10.5}/howto/connection/index.html            |     0
 .../1.10.5}/howto/connection/mysql.html            |     0
 .../1.10.5}/howto/connection/oracle.html           |     0
 .../1.10.5}/howto/connection/postgres.html         |     0
 {1.10.5 => docs/1.10.5}/howto/connection/ssh.html  |     0
 .../1.10.5}/howto/define_extra_link.html           |     0
 .../1.10.5}/howto/executor/use-celery.html         |     0
 .../1.10.5}/howto/executor/use-dask.html           |     0
 .../1.10.5}/howto/executor/use-mesos.html          |     0
 {1.10.5 => docs/1.10.5}/howto/index.html           |     0
 .../1.10.5}/howto/initialize-database.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/bash.html   |     0
 .../1.10.5}/howto/operator/dingding.html           |     0
 .../1.10.5}/howto/operator/gcp/bigtable.html       |     0
 .../1.10.5}/howto/operator/gcp/cloud_build.html    |     0
 .../1.10.5}/howto/operator/gcp/compute.html        |     0
 .../1.10.5}/howto/operator/gcp/function.html       |     0
 .../1.10.5}/howto/operator/gcp/gcs.html            |     0
 .../1.10.5}/howto/operator/gcp/index.html          |     0
 .../howto/operator/gcp/natural_language.html       |     0
 .../1.10.5}/howto/operator/gcp/spanner.html        |     0
 .../1.10.5}/howto/operator/gcp/speech.html         |     0
 .../1.10.5}/howto/operator/gcp/sql.html            |     0
 .../1.10.5}/howto/operator/gcp/transfer.html       |     0
 .../howto/operator/gcp/translate-speech.html       |     0
 .../1.10.5}/howto/operator/gcp/translate.html      |     0
 .../1.10.5}/howto/operator/gcp/video.html          |     0
 .../1.10.5}/howto/operator/gcp/vision.html         |     0
 {1.10.5 => docs/1.10.5}/howto/operator/index.html  |     0
 {1.10.5 => docs/1.10.5}/howto/operator/python.html |     0
 .../1.10.5}/howto/run-behind-proxy.html            |     0
 .../1.10.5}/howto/run-with-systemd.html            |     0
 .../1.10.5}/howto/run-with-upstart.html            |     0
 .../1.10.5}/howto/secure-connections.html          |     0
 {1.10.5 => docs/1.10.5}/howto/set-config.html      |     0
 .../1.10.5}/howto/tracking-user-activity.html      |     0
 {1.10.5 => docs/1.10.5}/howto/use-test-config.html |     0
 {1.10.5 => docs/1.10.5}/howto/write-logs.html      |     0
 {1.10.5 => docs/1.10.5}/http-routingtable.html     |     0
 {1.10.5 => docs/1.10.5}/index.html                 |     0
 {1.10.5 => docs/1.10.5}/installation.html          |     0
 {1.10.5 => docs/1.10.5}/integration.html           |     0
 {1.10.5 => docs/1.10.5}/kubernetes.html            |     0
 {1.10.5 => docs/1.10.5}/license.html               |     0
 {1.10.5 => docs/1.10.5}/lineage.html               |     0
 {1.10.5 => docs/1.10.5}/macros.html                |     0
 {1.10.5 => docs/1.10.5}/metrics.html               |     0
 {1.10.5 => docs/1.10.5}/objects.inv                |   Bin
 {1.10.5 => docs/1.10.5}/plugins.html               |     0
 {1.10.5 => docs/1.10.5}/privacy_notice.html        |     0
 {1.10.5 => docs/1.10.5}/profiling.html             |     0
 {1.10.5 => docs/1.10.5}/project.html               |     0
 {1.10.5 => docs/1.10.5}/py-modindex.html           |     0
 {1.10.5 => docs/1.10.5}/scheduler.html             |     0
 {1.10.5 => docs/1.10.5}/search.html                |     0
 {1.10.5 => docs/1.10.5}/searchindex.js             |     0
 {1.10.5 => docs/1.10.5}/security.html              |     0
 {1.10.5 => docs/1.10.5}/start.html                 |     0
 {1.10.5 => docs/1.10.5}/timezone.html              |     0
 {1.10.5 => docs/1.10.5}/tutorial.html              |     0
 {1.10.5 => docs/1.10.5}/ui.html                    |     0
 docs/1.10.6/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/1.10.6/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../1.10.6/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/1.10.6/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/1.10.6/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../1.10.6/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../1.10.6/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../1.10.6/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/1.10.6/_api/airflow/hooks/index.html          |   966 ++
 .../1.10.6/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/1.10.6/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/1.10.6/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/1.10.6/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/1.10.6/_api/airflow/models/crypto/index.html  |   989 ++
 docs/1.10.6/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/1.10.6/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/1.10.6/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/1.10.6/_api/airflow/models/errors/index.html  |   963 ++
 docs/1.10.6/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/1.10.6/_api/airflow/models/log/index.html     |  1004 ++
 docs/1.10.6/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/1.10.6/_api/airflow/models/slamiss/index.html |  1006 ++
 .../1.10.6/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/1.10.6/_api/airflow/models/user/index.html    |   987 ++
 .../1.10.6/_api/airflow/models/variable/index.html |  1059 ++
 docs/1.10.6/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/1.10.6/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/1.10.6/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/1.10.6/_api/index.html                        |  1059 ++
 {1.10.2 => docs/1.10.6}/_images/adhoc.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/airflow.gif        |   Bin
 {1.10.2 => docs/1.10.6}/_images/apache.jpg         |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_bad.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/branch_good.png    |   Bin
 .../1.10.6}/_images/branch_with_trigger.png        |   Bin
 .../1.10.6}/_images/branch_without_trigger.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart.png          |   Bin
 {1.10.2 => docs/1.10.6}/_images/chart_form.png     |   Bin
 .../1.10.6/_images}/cli_completion.gif             |   Bin
 {1.10.3 => docs/1.10.6}/_images/code.png           |   Bin
 .../1.10.6}/_images/connection_create.png          |   Bin
 .../1.10.6}/_images/connection_edit.png            |   Bin
 {1.10.2 => docs/1.10.6}/_images/connections.png    |   Bin
 {1.10.3 => docs/1.10.6}/_images/context.png        |   Bin
 {1.10.3 => docs/1.10.6}/_images/dags.png           |   Bin
 {1.10.3 => docs/1.10.6}/_images/duration.png       |   Bin
 {1.10.3 => docs/1.10.6}/_images/gantt.png          |   Bin
 {1.10.3 => docs/1.10.6}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../1.10.6}/_images/latest_only_with_trigger.png   |   Bin
 .../1.10.6}/_images/operator_extra_link.png        |   Bin
 {_images => docs/1.10.6/_images}/pin_large.png     |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_after.png   |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_before.png  |   Bin
 {1.10.2 => docs/1.10.6}/_images/subdag_zoom.png    |   Bin
 .../1.10.6/_images}/task_lifecycle.png             |   Bin
 .../1.10.6/_images}/task_manual_vs_scheduled.png   |   Bin
 {1.10.3 => docs/1.10.6}/_images/tree.png           |   Bin
 .../1.10.6}/_images/variable_hidden.png            |   Bin
 docs/1.10.6/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/1.10.6/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../1.10.6/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/1.10.6/_modules/airflow/exceptions.html       |   962 ++
 docs/1.10.6/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/1.10.6/_modules/airflow/hooks.html            |   943 ++
 docs/1.10.6/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/1.10.6/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/1.10.6/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../1.10.6/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/1.10.6/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/1.10.6/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/1.10.6/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/1.10.6/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/1.10.6/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/1.10.6/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/1.10.6/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../1.10.6/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/1.10.6/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../1.10.6/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/1.10.6/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/1.10.6/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../1.10.6/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/1.10.6/_modules/airflow/macros.html           |   957 ++
 docs/1.10.6/_modules/airflow/macros/hive.html      |   971 ++
 docs/1.10.6/_modules/airflow/models.html           |   889 ++
 docs/1.10.6/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/1.10.6/_modules/airflow/models/chart.html     |   899 ++
 .../1.10.6/_modules/airflow/models/connection.html |  1148 +++
 docs/1.10.6/_modules/airflow/models/crypto.html    |   946 ++
 docs/1.10.6/_modules/airflow/models/dag.html       |  2486 +++++
 docs/1.10.6/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/1.10.6/_modules/airflow/models/dagpickle.html |   901 ++
 docs/1.10.6/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/1.10.6/_modules/airflow/models/errors.html    |   880 ++
 .../1.10.6/_modules/airflow/models/knownevent.html |   903 ++
 .../1.10.6/_modules/airflow/models/kubernetes.html |   928 ++
 docs/1.10.6/_modules/airflow/models/log.html       |   917 ++
 docs/1.10.6/_modules/airflow/models/pool.html      |   958 ++
 docs/1.10.6/_modules/airflow/models/skipmixin.html |   951 ++
 docs/1.10.6/_modules/airflow/models/slamiss.html   |   897 ++
 docs/1.10.6/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/1.10.6/_modules/airflow/models/user.html      |   889 ++
 docs/1.10.6/_modules/airflow/models/variable.html  |  1001 ++
 docs/1.10.6/_modules/airflow/models/xcom.html      |  1083 ++
 docs/1.10.6/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../1.10.6/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/1.10.6/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/1.10.6/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources}/_api/airflow/executors/index.rst.txt |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_api/airflow/models/dag/index.rst.txt          |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources}/_api/airflow/models/index.rst.txt    |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources}/_api/airflow/operators/index.rst.txt |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../1.10.6}/_sources/_api/index.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/api.rst.txt       |     0
 {1.10.6 => docs/1.10.6}/_sources/changelog.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/cli.rst.txt       |     0
 .../1.10.6/_sources}/concepts.rst.txt              |     0
 {_sources => docs/1.10.6/_sources}/errors.rst.txt  |     0
 {_sources => docs/1.10.6/_sources}/faq.rst.txt     |     0
 .../1.10.6}/_sources/howto/check-health.rst.txt    |     0
 .../1.10.6/_sources}/howto/cli-completion.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/aws.rst.txt  |     0
 .../1.10.6/_sources}/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../1.10.6/_sources}/howto/connection/grpc.rst.txt |     0
 .../_sources}/howto/connection/index.rst.txt       |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources}/howto/connection/oracle.rst.txt      |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../1.10.6/_sources}/howto/connection/ssh.rst.txt  |     0
 .../_sources}/howto/define_extra_link.rst.txt      |     0
 .../_sources}/howto/executor/use-celery.rst.txt    |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources}/howto/executor/use-mesos.rst.txt     |     0
 .../1.10.6/_sources}/howto/index.rst.txt           |     0
 .../_sources}/howto/initialize-database.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/bash.rst.txt   |     0
 .../_sources}/howto/operator/dingding.rst.txt      |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources}/howto/operator/gcp/function.rst.txt  |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources}/howto/operator/gcp/spanner.rst.txt   |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources}/howto/operator/gcp/sql.rst.txt       |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources}/howto/operator/gcp/vision.rst.txt    |     0
 .../1.10.6/_sources}/howto/operator/index.rst.txt  |     0
 .../_sources}/howto/operator/papermill.rst.txt     |     0
 .../1.10.6}/_sources/howto/operator/python.rst.txt |     0
 .../_sources}/howto/run-behind-proxy.rst.txt       |     0
 .../_sources}/howto/run-with-systemd.rst.txt       |     0
 .../_sources}/howto/run-with-upstart.rst.txt       |     0
 .../_sources}/howto/secure-connections.rst.txt     |     0
 .../1.10.6/_sources}/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../1.10.6/_sources}/howto/use-test-config.rst.txt |     0
 .../1.10.6/_sources}/howto/write-logs.rst.txt      |     0
 {_sources => docs/1.10.6/_sources}/index.rst.txt   |     0
 .../1.10.6}/_sources/installation.rst.txt          |     0
 .../1.10.6/_sources}/integration.rst.txt           |     0
 .../1.10.6}/_sources/kubernetes.rst.txt            |     0
 {1.10.6 => docs/1.10.6}/_sources/license.rst.txt   |     0
 {_sources => docs/1.10.6/_sources}/lineage.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/macros.rst.txt    |     0
 {_sources => docs/1.10.6/_sources}/metrics.rst.txt |     0
 {_sources => docs/1.10.6/_sources}/plugins.rst.txt |     0
 .../1.10.6}/_sources/privacy_notice.rst.txt        |     0
 {1.10.6 => docs/1.10.6}/_sources/profiling.rst.txt |     0
 {1.10.6 => docs/1.10.6}/_sources/project.rst.txt   |     0
 .../1.10.6/_sources}/scheduler.rst.txt             |     0
 .../1.10.6/_sources}/security.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/start.rst.txt     |     0
 .../1.10.6/_sources}/timezone.rst.txt              |     0
 .../1.10.6/_sources}/tutorial.rst.txt              |     0
 {1.10.6 => docs/1.10.6}/_sources/ui.rst.txt        |     0
 docs/1.10.6/_static/_gen/css/main-custom.min.css   |     1 +
 docs/1.10.6/_static/_gen/css/main.min.css          |     7 +
 docs/1.10.6/_static/_gen/js/docs.js                |     1 +
 {1.10.6 => docs/1.10.6}/_static/basic.css          |     0
 {1.10.4 => docs/1.10.6}/_static/doctools.js        |     0
 .../1.10.6/_static}/documentation_options.js       |     0
 docs/1.10.6/_static/exampleinclude.css             |    79 +
 {1.10.2 => docs/1.10.6}/_static/file.png           |   Bin
 {_static => docs/1.10.6/_static}/graphviz.css      |     0
 docs/1.10.6/_static/jira-links.js                  |    34 +
 {1.10.6 => docs/1.10.6}/_static/jquery-3.4.1.js    |     0
 {1.10.6 => docs/1.10.6}/_static/jquery.js          |     0
 {1.10.4 => docs/1.10.6}/_static/language_data.js   |     0
 {1.10.2 => docs/1.10.6}/_static/minus.png          |   Bin
 {_static => docs/1.10.6/_static}/pin_32.png        |   Bin
 {1.10.2 => docs/1.10.6}/_static/plus.png           |   Bin
 {1.10.2 => docs/1.10.6}/_static/pygments.css       |     0
 {1.10.5 => docs/1.10.6}/_static/searchtools.js     |     0
 .../1.10.6}/_static/underscore-1.3.1.js            |     0
 {1.10.2 => docs/1.10.6}/_static/underscore.js      |     0
 docs/1.10.6/api.html                               |  1127 ++
 docs/1.10.6/changelog.html                         |  4283 ++++++++
 docs/1.10.6/cli.html                               |  2493 +++++
 docs/1.10.6/concepts.html                          |  2058 ++++
 docs/1.10.6/errors.html                            |   967 ++
 docs/1.10.6/faq.html                               |  1082 ++
 docs/1.10.6/genindex.html                          | 10298 +++++++++++++++++++
 docs/1.10.6/howto/check-health.html                |   950 ++
 docs/1.10.6/howto/cli-completion.html              |   941 ++
 docs/1.10.6/howto/connection/aws.html              |  1001 ++
 docs/1.10.6/howto/connection/gcp.html              |  1045 ++
 docs/1.10.6/howto/connection/gcp_sql.html          |  1004 ++
 docs/1.10.6/howto/connection/grpc.html             |  1008 ++
 docs/1.10.6/howto/connection/index.html            |  1023 ++
 docs/1.10.6/howto/connection/mysql.html            |  1025 ++
 docs/1.10.6/howto/connection/oracle.html           |  1014 ++
 docs/1.10.6/howto/connection/postgres.html         |  1010 ++
 docs/1.10.6/howto/connection/ssh.html              |  1004 ++
 docs/1.10.6/howto/define_extra_link.html           |  1024 ++
 docs/1.10.6/howto/executor/use-celery.html         |  1040 ++
 docs/1.10.6/howto/executor/use-dask.html           |   944 ++
 docs/1.10.6/howto/executor/use-mesos.html          |   994 ++
 docs/1.10.6/howto/index.html                       |   975 ++
 docs/1.10.6/howto/initialize-database.html         |   949 ++
 docs/1.10.6/howto/operator/bash.html               |   998 ++
 docs/1.10.6/howto/operator/dingding.html           |  1081 ++
 docs/1.10.6/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/1.10.6/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/1.10.6/howto/operator/gcp/compute.html        |  1364 +++
 docs/1.10.6/howto/operator/gcp/function.html       |  1197 +++
 docs/1.10.6/howto/operator/gcp/gcs.html            |  1108 ++
 docs/1.10.6/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/1.10.6/howto/operator/gcp/spanner.html        |  1339 +++
 docs/1.10.6/howto/operator/gcp/speech.html         |  1103 ++
 docs/1.10.6/howto/operator/gcp/sql.html            |  2019 ++++
 docs/1.10.6/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/1.10.6/howto/operator/gcp/translate.html      |  1030 ++
 docs/1.10.6/howto/operator/gcp/video.html          |  1187 +++
 docs/1.10.6/howto/operator/gcp/vision.html         |  2248 ++++
 docs/1.10.6/howto/operator/index.html              |   985 ++
 docs/1.10.6/howto/operator/papermill.html          |   985 ++
 docs/1.10.6/howto/operator/python.html             |  1000 ++
 docs/1.10.6/howto/run-behind-proxy.html            |   984 ++
 docs/1.10.6/howto/run-with-systemd.html            |   934 ++
 docs/1.10.6/howto/run-with-upstart.html            |   944 ++
 docs/1.10.6/howto/secure-connections.html          |   963 ++
 docs/1.10.6/howto/set-config.html                  |   959 ++
 docs/1.10.6/howto/tracking-user-activity.html      |   936 ++
 docs/1.10.6/howto/use-test-config.html             |   929 ++
 docs/1.10.6/howto/write-logs.html                  |  1116 ++
 docs/1.10.6/http-routingtable.html                 |   923 ++
 docs/1.10.6/index.html                             |  1610 +++
 docs/1.10.6/installation.html                      |  1073 ++
 docs/1.10.6/integration.html                       |  1798 ++++
 docs/1.10.6/kubernetes.html                        |  1031 ++
 docs/1.10.6/license.html                           |  1055 ++
 docs/1.10.6/lineage.html                           |   970 ++
 docs/1.10.6/macros.html                            |  1247 +++
 docs/1.10.6/metrics.html                           |  1048 ++
 objects.inv => docs/1.10.6/objects.inv             |   Bin
 docs/1.10.6/plugins.html                           |  1178 +++
 docs/1.10.6/privacy_notice.html                    |   922 ++
 docs/1.10.6/profiling.html                         |   932 ++
 docs/1.10.6/project.html                           |   958 ++
 docs/1.10.6/py-modindex.html                       |  2445 +++++
 docs/1.10.6/scheduler.html                         |  1069 ++
 docs/1.10.6/search.html                            |   889 ++
 searchindex.js => docs/1.10.6/searchindex.js       |     0
 docs/1.10.6/security.html                          |  1532 +++
 docs/1.10.6/start.html                             |   933 ++
 docs/1.10.6/timezone.html                          |  1037 ++
 docs/1.10.6/tutorial.html                          |  1348 +++
 docs/1.10.6/ui.html                                |   982 ++
 docs/index.html                                    |     5 +
 docs/stable/.buildinfo                             |     4 +
 .../_api/airflow/contrib/executors/index.html      |   918 ++
 .../executors/kubernetes_executor/index.html       |  1343 +++
 .../contrib/executors/mesos_executor/index.html    |  1080 ++
 .../contrib/hooks/aws_athena_hook/index.html       |  1079 ++
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   952 ++
 .../contrib/hooks/aws_firehose_hook/index.html     |   948 ++
 .../contrib/hooks/aws_glue_catalog_hook/index.html |  1046 ++
 .../_api/airflow/contrib/hooks/aws_hook/index.html |  1012 ++
 .../contrib/hooks/aws_lambda_hook/index.html       |   954 ++
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   983 ++
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   953 ++
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   994 ++
 .../hooks/azure_container_instance_hook/index.html |  1089 ++
 .../hooks/azure_container_registry_hook/index.html |   938 ++
 .../hooks/azure_container_volume_hook/index.html   |   946 ++
 .../contrib/hooks/azure_cosmos_hook/index.html     |  1081 ++
 .../contrib/hooks/azure_data_lake_hook/index.html  |  1024 ++
 .../contrib/hooks/azure_fileshare_hook/index.html  |  1147 +++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  2099 ++++
 .../contrib/hooks/cassandra_hook/index.html        |  1031 ++
 .../airflow/contrib/hooks/cloudant_hook/index.html |   945 ++
 .../contrib/hooks/databricks_hook/index.html       |  1206 +++
 .../airflow/contrib/hooks/datadog_hook/index.html  |  1015 ++
 .../contrib/hooks/datastore_hook/index.html        |  1226 +++
 .../airflow/contrib/hooks/dingding_hook/index.html |   984 ++
 .../contrib/hooks/discord_webhook_hook/index.html  |   991 ++
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   945 ++
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   946 ++
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |  1186 +++
 .../contrib/hooks/gcp_api_base_hook/index.html     |  1153 +++
 .../contrib/hooks/gcp_bigtable_hook/index.html     |  1117 ++
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |  1015 ++
 .../contrib/hooks/gcp_compute_hook/index.html      |  1227 +++
 .../contrib/hooks/gcp_container_hook/index.html    |  1117 ++
 .../contrib/hooks/gcp_dataflow_hook/index.html     |  1078 ++
 .../contrib/hooks/gcp_dataproc_hook/index.html     |  1175 +++
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1897 ++++
 .../contrib/hooks/gcp_function_hook/index.html     |  1106 ++
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |  1012 ++
 .../contrib/hooks/gcp_mlengine_hook/index.html     |  1076 ++
 .../hooks/gcp_natural_language_hook/index.html     |  1120 ++
 .../contrib/hooks/gcp_pubsub_hook/index.html       |  1132 ++
 .../contrib/hooks/gcp_spanner_hook/index.html      |  1209 +++
 .../hooks/gcp_speech_to_text_hook/index.html       |   982 ++
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |  1658 +++
 .../hooks/gcp_text_to_speech_hook/index.html       |   991 ++
 .../contrib/hooks/gcp_transfer_hook/index.html     |  1636 +++
 .../contrib/hooks/gcp_translate_hook/index.html    |   998 ++
 .../hooks/gcp_video_intelligence_hook/index.html   |   989 ++
 .../contrib/hooks/gcp_vision_hook/index.html       |  1216 +++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |  1295 +++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   954 ++
 .../airflow/contrib/hooks/imap_hook/index.html     |  1252 +++
 docs/stable/_api/airflow/contrib/hooks/index.html  |  1011 ++
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   932 ++
 .../airflow/contrib/hooks/jira_hook/index.html     |   937 ++
 .../airflow/contrib/hooks/mongo_hook/index.html    |  1168 +++
 .../airflow/contrib/hooks/openfaas_hook/index.html |  1013 ++
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   973 ++
 .../airflow/contrib/hooks/pinot_hook/index.html    |  1021 ++
 .../contrib/hooks/qubole_check_hook/index.html     |   995 ++
 .../airflow/contrib/hooks/qubole_hook/index.html   |  1085 ++
 .../airflow/contrib/hooks/redis_hook/index.html    |   935 ++
 .../airflow/contrib/hooks/redshift_hook/index.html |  1012 ++
 .../contrib/hooks/sagemaker_hook/index.html        |  1530 +++
 .../contrib/hooks/salesforce_hook/index.html       |  1084 ++
 .../airflow/contrib/hooks/segment_hook/index.html  |   948 ++
 .../airflow/contrib/hooks/sftp_hook/index.html     |  1057 ++
 .../contrib/hooks/slack_webhook_hook/index.html    |   981 ++
 .../contrib/hooks/snowflake_hook/index.html        |   996 ++
 .../contrib/hooks/spark_jdbc_hook/index.html       |  1017 ++
 .../contrib/hooks/spark_jdbc_script/index.html     |   946 ++
 .../contrib/hooks/spark_sql_hook/index.html        |   996 ++
 .../contrib/hooks/spark_submit_hook/index.html     |  1130 ++
 .../airflow/contrib/hooks/sqoop_hook/index.html    |  1113 ++
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |  1002 ++
 .../airflow/contrib/hooks/vertica_hook/index.html  |   957 ++
 .../airflow/contrib/hooks/wasb_hook/index.html     |  1092 ++
 .../airflow/contrib/hooks/winrm_hook/index.html    |   974 ++
 .../operators/adls_list_operator/index.html        |   982 ++
 .../contrib/operators/adls_to_gcs/index.html       |  1014 ++
 .../operators/aws_athena_operator/index.html       |   996 ++
 .../operators/aws_sqs_publish_operator/index.html  |   983 ++
 .../contrib/operators/awsbatch_operator/index.html |  1038 ++
 .../azure_container_instances_operator/index.html  |  1083 ++
 .../operators/azure_cosmos_operator/index.html     |   967 ++
 .../operators/bigquery_check_operator/index.html   |  1077 ++
 .../contrib/operators/bigquery_get_data/index.html |   996 ++
 .../contrib/operators/bigquery_operator/index.html |  1561 +++
 .../bigquery_table_delete_operator/index.html      |   971 ++
 .../operators/bigquery_to_bigquery/index.html      |   998 ++
 .../contrib/operators/bigquery_to_gcs/index.html   |   993 ++
 .../contrib/operators/cassandra_to_gcs/index.html  |  1165 +++
 .../operators/databricks_operator/index.html       |  1340 +++
 .../contrib/operators/dataflow_operator/index.html |  1252 +++
 .../contrib/operators/dataproc_operator/index.html |  1791 ++++
 .../operators/datastore_export_operator/index.html |   964 ++
 .../operators/datastore_import_operator/index.html |   962 ++
 .../contrib/operators/dingding_operator/index.html |   972 ++
 .../operators/discord_webhook_operator/index.html  |   971 ++
 .../contrib/operators/druid_operator/index.html    |   965 ++
 .../contrib/operators/ecs_operator/index.html      |  1044 ++
 .../operators/emr_add_steps_operator/index.html    |   973 ++
 .../emr_create_job_flow_operator/index.html        |   976 ++
 .../emr_terminate_job_flow_operator/index.html     |   972 ++
 .../contrib/operators/file_to_gcs/index.html       |   963 ++
 .../contrib/operators/file_to_wasb/index.html      |   961 ++
 .../operators/gcp_bigtable_operator/index.html     |  1287 +++
 .../operators/gcp_cloud_build_operator/index.html  |  1076 ++
 .../operators/gcp_compute_operator/index.html      |  1259 +++
 .../operators/gcp_container_operator/index.html    |  1159 +++
 .../contrib/operators/gcp_dlp_operator/index.html  |  2388 +++++
 .../operators/gcp_function_operator/index.html     |  1235 +++
 .../gcp_natural_language_operator/index.html       |  1113 ++
 .../operators/gcp_spanner_operator/index.html      |  1264 +++
 .../gcp_speech_to_text_operator/index.html         |   980 ++
 .../contrib/operators/gcp_sql_operator/index.html  |  1573 +++
 .../gcp_text_to_speech_operator/index.html         |   984 ++
 .../operators/gcp_transfer_operator/index.html     |  1645 +++
 .../operators/gcp_translate_operator/index.html    |   984 ++
 .../gcp_translate_speech_operator/index.html       |   997 ++
 .../gcp_video_intelligence_operator/index.html     |  1089 ++
 .../operators/gcp_vision_operator/index.html       |  1807 ++++
 .../contrib/operators/gcs_acl_operator/index.html  |  1021 ++
 .../operators/gcs_delete_operator/index.html       |   966 ++
 .../operators/gcs_download_operator/index.html     |   981 ++
 .../contrib/operators/gcs_list_operator/index.html |   991 ++
 .../contrib/operators/gcs_operator/index.html      |  1013 ++
 .../airflow/contrib/operators/gcs_to_bq/index.html |  1054 ++
 .../contrib/operators/gcs_to_gcs/index.html        |  1052 ++
 .../airflow/contrib/operators/gcs_to_s3/index.html |  1000 ++
 .../contrib/operators/hipchat_operator/index.html  |  1013 ++
 .../contrib/operators/hive_to_dynamodb/index.html  |   982 ++
 .../imap_attachment_to_s3_operator/index.html      |   967 ++
 .../_api/airflow/contrib/operators/index.html      |  1043 ++
 .../jenkins_job_trigger_operator/index.html        |  1064 ++
 .../contrib/operators/jira_operator/index.html     |   961 ++
 .../operators/kubernetes_pod_operator/index.html   |  1009 ++
 .../contrib/operators/mlengine_operator/index.html |  1221 +++
 .../contrib/operators/mongo_to_s3/index.html       |   983 ++
 .../contrib/operators/mssql_to_gcs/index.html      |  1006 ++
 .../contrib/operators/mysql_to_gcs/index.html      |  1006 ++
 .../operators/opsgenie_alert_operator/index.html   |   993 ++
 .../oracle_to_azure_data_lake_transfer/index.html  |   981 ++
 .../operators/oracle_to_oracle_transfer/index.html |   977 ++
 .../operators/postgres_to_gcs_operator/index.html  |   991 ++
 .../contrib/operators/pubsub_operator/index.html   |  1223 +++
 .../operators/qubole_check_operator/index.html     |  1169 +++
 .../contrib/operators/qubole_operator/index.html   |  1324 +++
 .../operators/redis_publish_operator/index.html    |   963 ++
 .../operators/s3_copy_object_operator/index.html   |   989 ++
 .../s3_delete_objects_operator/index.html          |   983 ++
 .../contrib/operators/s3_list_operator/index.html  |  1002 ++
 .../operators/s3_to_gcs_operator/index.html        |  1018 ++
 .../operators/s3_to_sftp_operator/index.html       |   974 ++
 .../operators/sagemaker_base_operator/index.html   |  1012 ++
 .../sagemaker_endpoint_config_operator/index.html  |   959 ++
 .../sagemaker_endpoint_operator/index.html         |   991 ++
 .../operators/sagemaker_model_operator/index.html  |   959 ++
 .../sagemaker_training_operator/index.html         |   975 ++
 .../sagemaker_transform_operator/index.html        |   987 ++
 .../operators/sagemaker_tuning_operator/index.html |   974 ++
 .../segment_track_event_operator/index.html        |   968 ++
 .../contrib/operators/sftp_operator/index.html     |  1031 ++
 .../operators/sftp_to_s3_operator/index.html       |   975 ++
 .../operators/slack_webhook_operator/index.html    |   972 ++
 .../operators/snowflake_operator/index.html        |   990 ++
 .../operators/sns_publish_operator/index.html      |   965 ++
 .../operators/spark_jdbc_operator/index.html       |  1012 ++
 .../operators/spark_sql_operator/index.html        |   985 ++
 .../operators/spark_submit_operator/index.html     |  1005 ++
 .../contrib/operators/sql_to_gcs/index.html        |  1104 ++
 .../contrib/operators/sqoop_operator/index.html    |   969 ++
 .../contrib/operators/ssh_operator/index.html      |   982 ++
 .../contrib/operators/vertica_operator/index.html  |   974 ++
 .../contrib/operators/vertica_to_hive/index.html   |   999 ++
 .../contrib/operators/vertica_to_mysql/index.html  |   986 ++
 .../operators/wasb_delete_blob_operator/index.html |   962 ++
 .../contrib/operators/winrm_operator/index.html    |   960 ++
 .../contrib/sensors/aws_athena_sensor/index.html   |  1009 ++
 .../aws_glue_catalog_partition_sensor/index.html   |   987 ++
 .../sensors/aws_redshift_cluster_sensor/index.html |   956 ++
 .../contrib/sensors/aws_sqs_sensor/index.html      |   969 ++
 .../contrib/sensors/azure_cosmos_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/bash_sensor/index.html |   964 ++
 .../contrib/sensors/bigquery_sensor/index.html     |   973 ++
 .../sensors/cassandra_record_sensor/index.html     |   957 ++
 .../sensors/cassandra_table_sensor/index.html      |   955 ++
 .../contrib/sensors/datadog_sensor/index.html      |   959 ++
 .../contrib/sensors/emr_base_sensor/index.html     |   950 ++
 .../contrib/sensors/emr_job_flow_sensor/index.html |   994 ++
 .../contrib/sensors/emr_step_sensor/index.html     |   997 ++
 .../airflow/contrib/sensors/file_sensor/index.html |   968 ++
 .../airflow/contrib/sensors/ftp_sensor/index.html  |  1002 ++
 .../contrib/sensors/gcp_transfer_sensor/index.html |   964 ++
 .../airflow/contrib/sensors/gcs_sensor/index.html  |  1173 +++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   968 ++
 .../sensors/imap_attachment_sensor/index.html      |   975 ++
 .../stable/_api/airflow/contrib/sensors/index.html |   958 ++
 .../airflow/contrib/sensors/jira_sensor/index.html |   995 ++
 .../contrib/sensors/mongo_sensor/index.html        |   955 ++
 .../contrib/sensors/pubsub_sensor/index.html       |   974 ++
 .../contrib/sensors/python_sensor/index.html       |   972 ++
 .../contrib/sensors/qubole_sensor/index.html       |  1009 ++
 .../contrib/sensors/redis_key_sensor/index.html    |   956 ++
 .../sensors/redis_pub_sub_sensor/index.html        |   966 ++
 .../sensors/sagemaker_base_sensor/index.html       |   991 ++
 .../sensors/sagemaker_endpoint_sensor/index.html   |   994 ++
 .../sensors/sagemaker_training_sensor/index.html   |  1005 ++
 .../sensors/sagemaker_transform_sensor/index.html  |   995 ++
 .../sensors/sagemaker_tuning_sensor/index.html     |   995 ++
 .../airflow/contrib/sensors/sftp_sensor/index.html |   956 ++
 .../airflow/contrib/sensors/wasb_sensor/index.html |   996 ++
 .../contrib/sensors/weekday_sensor/index.html      |   991 ++
 .../airflow/executors/base_executor/index.html     |  1081 ++
 .../airflow/executors/celery_executor/index.html   |  1095 ++
 .../airflow/executors/dask_executor/index.html     |   972 ++
 docs/stable/_api/airflow/executors/index.html      |  1427 +++
 .../airflow/executors/local_executor/index.html    |  1135 ++
 .../executors/sequential_executor/index.html       |   952 ++
 docs/stable/_api/airflow/hooks/S3_hook/index.html  |  1308 +++
 .../stable/_api/airflow/hooks/base_hook/index.html |  1008 ++
 .../_api/airflow/hooks/dbapi_hook/index.html       |  1177 +++
 .../_api/airflow/hooks/docker_hook/index.html      |   946 ++
 .../_api/airflow/hooks/druid_hook/index.html       |  1031 ++
 .../stable/_api/airflow/hooks/hdfs_hook/index.html |   959 ++
 .../_api/airflow/hooks/hive_hooks/index.html       |  1505 +++
 .../stable/_api/airflow/hooks/http_hook/index.html |  1034 ++
 docs/stable/_api/airflow/hooks/index.html          |   966 ++
 .../stable/_api/airflow/hooks/jdbc_hook/index.html |   976 ++
 .../_api/airflow/hooks/mssql_hook/index.html       |   973 ++
 .../_api/airflow/hooks/mysql_hook/index.html       |  1046 ++
 .../_api/airflow/hooks/oracle_hook/index.html      |  1029 ++
 docs/stable/_api/airflow/hooks/pig_hook/index.html |   950 ++
 .../_api/airflow/hooks/postgres_hook/index.html    |  1039 ++
 .../_api/airflow/hooks/presto_hook/index.html      |  1036 ++
 .../_api/airflow/hooks/samba_hook/index.html       |   940 ++
 .../_api/airflow/hooks/slack_hook/index.html       |   940 ++
 .../_api/airflow/hooks/sqlite_hook/index.html      |   957 ++
 .../_api/airflow/hooks/webhdfs_hook/index.html     |  1026 ++
 .../_api/airflow/hooks/zendesk_hook/index.html     |   967 ++
 docs/stable/_api/airflow/models/base/index.html    |   946 ++
 .../_api/airflow/models/baseoperator/index.html    |  1714 +++
 docs/stable/_api/airflow/models/chart/index.html   |  1067 ++
 .../_api/airflow/models/connection/index.html      |  1136 ++
 docs/stable/_api/airflow/models/crypto/index.html  |   989 ++
 docs/stable/_api/airflow/models/dag/index.html     |  2056 ++++
 docs/stable/_api/airflow/models/dagbag/index.html  |  1086 ++
 .../_api/airflow/models/dagpickle/index.html       |   970 ++
 docs/stable/_api/airflow/models/dagrun/index.html  |  1238 +++
 docs/stable/_api/airflow/models/errors/index.html  |   963 ++
 docs/stable/_api/airflow/models/index.html         |  5692 ++++++++++
 .../_api/airflow/models/knownevent/index.html      |  1052 ++
 .../_api/airflow/models/kubernetes/index.html      |  1020 ++
 docs/stable/_api/airflow/models/log/index.html     |  1004 ++
 docs/stable/_api/airflow/models/pool/index.html    |  1039 ++
 .../_api/airflow/models/skipmixin/index.html       |   953 ++
 docs/stable/_api/airflow/models/slamiss/index.html |  1006 ++
 .../stable/_api/airflow/models/taskfail/index.html |   998 ++
 .../_api/airflow/models/taskinstance/index.html    |  1658 +++
 .../_api/airflow/models/taskreschedule/index.html  |  1029 ++
 docs/stable/_api/airflow/models/user/index.html    |   987 ++
 .../stable/_api/airflow/models/variable/index.html |  1059 ++
 docs/stable/_api/airflow/models/xcom/index.html    |  1087 ++
 .../airflow/operators/bash_operator/index.html     |   994 ++
 .../airflow/operators/branch_operator/index.html   |   965 ++
 .../airflow/operators/check_operator/index.html    |  1197 +++
 .../airflow/operators/dagrun_operator/index.html   |   982 ++
 .../airflow/operators/docker_operator/index.html   |  1061 ++
 .../operators/druid_check_operator/index.html      |   993 ++
 .../airflow/operators/dummy_operator/index.html    |   949 ++
 .../airflow/operators/email_operator/index.html    |   980 ++
 .../airflow/operators/generic_transfer/index.html  |   980 ++
 .../airflow/operators/hive_operator/index.html     |  1021 ++
 .../operators/hive_stats_operator/index.html       |   991 ++
 .../airflow/operators/hive_to_druid/index.html     |  1011 ++
 .../airflow/operators/hive_to_mysql/index.html     |   988 ++
 .../operators/hive_to_samba_operator/index.html    |   966 ++
 .../airflow/operators/http_operator/index.html     |   986 ++
 docs/stable/_api/airflow/operators/index.html      |  1722 ++++
 .../airflow/operators/jdbc_operator/index.html     |   978 ++
 .../operators/latest_only_operator/index.html      |   953 ++
 .../airflow/operators/mssql_operator/index.html    |   977 ++
 .../airflow/operators/mssql_to_hive/index.html     |  1001 ++
 .../airflow/operators/mysql_operator/index.html    |   979 ++
 .../airflow/operators/mysql_to_hive/index.html     |  1000 ++
 .../airflow/operators/oracle_operator/index.html   |   978 ++
 .../operators/papermill_operator/index.html        |   974 ++
 .../_api/airflow/operators/pig_operator/index.html |  1002 ++
 .../airflow/operators/postgres_operator/index.html |   978 ++
 .../operators/presto_check_operator/index.html     |  1026 ++
 .../airflow/operators/presto_to_mysql/index.html   |   981 ++
 .../airflow/operators/python_operator/index.html   |  1194 +++
 .../operators/redshift_to_s3_operator/index.html   |  1000 ++
 .../s3_file_transform_operator/index.html          |  1007 ++
 .../operators/s3_to_hive_operator/index.html       |  1045 ++
 .../operators/s3_to_redshift_operator/index.html   |   995 ++
 .../_api/airflow/operators/sensors/index.html      |  1030 ++
 .../airflow/operators/slack_operator/index.html    |  1016 ++
 .../airflow/operators/sqlite_operator/index.html   |   974 ++
 .../airflow/operators/subdag_operator/index.html   |   967 ++
 .../sensors/base_sensor_operator/index.html        |  1024 ++
 .../sensors/external_task_sensor/index.html        |   980 ++
 .../_api/airflow/sensors/hdfs_sensor/index.html    |  1000 ++
 .../sensors/hive_partition_sensor/index.html       |   973 ++
 .../_api/airflow/sensors/http_sensor/index.html    |   967 ++
 docs/stable/_api/airflow/sensors/index.html        |   967 ++
 .../sensors/metastore_partition_sensor/index.html  |   973 ++
 .../sensors/named_hive_partition_sensor/index.html |   987 ++
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   980 ++
 .../airflow/sensors/s3_prefix_sensor/index.html    |   982 ++
 .../_api/airflow/sensors/sql_sensor/index.html     |   994 ++
 .../airflow/sensors/time_delta_sensor/index.html   |   948 ++
 .../_api/airflow/sensors/time_sensor/index.html    |   945 ++
 .../airflow/sensors/web_hdfs_sensor/index.html     |   948 ++
 docs/stable/_api/index.html                        |  1059 ++
 {1.10.1 => docs/stable}/_images/adhoc.png          |   Bin
 {1.10.1 => docs/stable}/_images/airflow.gif        |   Bin
 {1.10.1 => docs/stable}/_images/apache.jpg         |   Bin
 {1.10.1 => docs/stable}/_images/branch_bad.png     |   Bin
 {1.10.1 => docs/stable}/_images/branch_good.png    |   Bin
 .../stable}/_images/branch_with_trigger.png        |   Bin
 .../stable}/_images/branch_without_trigger.png     |   Bin
 {1.10.1 => docs/stable}/_images/chart.png          |   Bin
 {1.10.1 => docs/stable}/_images/chart_form.png     |   Bin
 {1.10.6 => docs/stable}/_images/cli_completion.gif |   Bin
 {1.10.2 => docs/stable}/_images/code.png           |   Bin
 .../stable}/_images/connection_create.png          |   Bin
 .../stable}/_images/connection_edit.png            |   Bin
 {1.10.1 => docs/stable}/_images/connections.png    |   Bin
 {1.10.2 => docs/stable}/_images/context.png        |   Bin
 {1.10.2 => docs/stable}/_images/dags.png           |   Bin
 {1.10.2 => docs/stable}/_images/duration.png       |   Bin
 {1.10.2 => docs/stable}/_images/gantt.png          |   Bin
 {1.10.2 => docs/stable}/_images/graph.png          |   Bin
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44627 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     0
 .../stable}/_images/latest_only_with_trigger.png   |   Bin
 .../stable}/_images/operator_extra_link.png        |   Bin
 {1.10.6 => docs/stable}/_images/pin_large.png      |   Bin
 {1.10.1 => docs/stable}/_images/subdag_after.png   |   Bin
 {1.10.1 => docs/stable}/_images/subdag_before.png  |   Bin
 {1.10.1 => docs/stable}/_images/subdag_zoom.png    |   Bin
 {1.10.6 => docs/stable}/_images/task_lifecycle.png |   Bin
 .../stable}/_images/task_manual_vs_scheduled.png   |   Bin
 {1.10.2 => docs/stable}/_images/tree.png           |   Bin
 .../stable}/_images/variable_hidden.png            |   Bin
 docs/stable/_modules/airflow/configuration.html    |  1511 +++
 .../example_dags/example_dingding_operator.html    |  1069 ++
 .../example_gcp_bigtable_operators.html            |  1052 ++
 .../example_dags/example_gcp_cloud_build.html      |   953 ++
 .../contrib/example_dags/example_gcp_compute.html  |   961 ++
 .../example_dags/example_gcp_compute_igm.html      |   991 ++
 .../contrib/example_dags/example_gcp_function.html |   980 ++
 .../example_dags/example_gcp_natural_language.html |   961 ++
 .../contrib/example_dags/example_gcp_spanner.html  |  1045 ++
 .../contrib/example_dags/example_gcp_speech.html   |   949 ++
 .../contrib/example_dags/example_gcp_sql.html      |  1270 +++
 .../example_dags/example_gcp_sql_query.html        |  1141 ++
 .../contrib/example_dags/example_gcp_transfer.html |  1100 ++
 .../example_dags/example_gcp_translate.html        |   899 ++
 .../example_gcp_video_intelligence.html            |   969 ++
 .../contrib/example_dags/example_gcp_vision.html   |  1331 +++
 .../contrib/example_dags/example_gcs_acl.html      |   923 ++
 .../example_dags/example_gcs_to_bq_operator.html   |   914 ++
 .../example_dags/example_papermill_operator.html   |   898 ++
 .../contrib/executors/kubernetes_executor.html     |  1752 ++++
 .../airflow/contrib/executors/mesos_executor.html  |  1173 +++
 docs/stable/_modules/airflow/contrib/hooks.html    |   917 ++
 .../airflow/contrib/hooks/aws_athena_hook.html     |  1022 ++
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   923 ++
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   909 ++
 .../contrib/hooks/aws_glue_catalog_hook.html       |  1001 ++
 .../_modules/airflow/contrib/hooks/aws_hook.html   |  1064 ++
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   921 ++
 .../airflow/contrib/hooks/aws_logs_hook.html       |   952 ++
 .../airflow/contrib/hooks/aws_sns_hook.html        |   913 ++
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   923 ++
 .../hooks/azure_container_instance_hook.html       |  1030 ++
 .../hooks/azure_container_registry_hook.html       |   888 ++
 .../contrib/hooks/azure_container_volume_hook.html |   903 ++
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |  1136 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   990 ++
 .../contrib/hooks/azure_fileshare_hook.html        |  1061 ++
 .../airflow/contrib/hooks/bigquery_hook.html       |  3121 ++++++
 .../airflow/contrib/hooks/cassandra_hook.html      |  1049 ++
 .../airflow/contrib/hooks/cloudant_hook.html       |   932 ++
 .../airflow/contrib/hooks/databricks_hook.html     |  1127 ++
 .../airflow/contrib/hooks/datadog_hook.html        |  1007 ++
 .../airflow/contrib/hooks/datastore_hook.html      |  1188 +++
 .../airflow/contrib/hooks/dingding_hook.html       |   983 ++
 .../contrib/hooks/discord_webhook_hook.html        |   989 ++
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   906 ++
 .../_modules/airflow/contrib/hooks/fs_hook.html    |   895 ++
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |  1169 +++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |  1195 +++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |  1111 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   980 ++
 .../airflow/contrib/hooks/gcp_compute_hook.html    |  1188 +++
 .../airflow/contrib/hooks/gcp_container_hook.html  |  1096 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |  1145 +++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |  1198 +++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2628 +++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |  1046 ++
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   957 ++
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |  1124 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |  1072 ++
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |  1133 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |  1198 +++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   923 ++
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1852 ++++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   930 ++
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |  1245 +++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   947 ++
 .../contrib/hooks/gcp_video_intelligence_hook.html |   955 ++
 .../airflow/contrib/hooks/gcp_vision_hook.html     |  1429 +++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |  1444 +++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   984 ++
 .../_modules/airflow/contrib/hooks/imap_hook.html  |  1165 +++
 .../airflow/contrib/hooks/jenkins_hook.html        |   897 ++
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   935 ++
 .../_modules/airflow/contrib/hooks/mongo_hook.html |  1146 +++
 .../airflow/contrib/hooks/openfaas_hook.html       |   948 ++
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   937 ++
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   954 ++
 .../airflow/contrib/hooks/qubole_check_hook.html   |   966 ++
 .../airflow/contrib/hooks/qubole_hook.html         |  1133 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   915 ++
 .../airflow/contrib/hooks/redshift_hook.html       |   962 ++
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1589 +++
 .../airflow/contrib/hooks/salesforce_hook.html     |  1174 +++
 .../airflow/contrib/hooks/segment_hook.html        |   939 ++
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |  1063 ++
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   989 ++
 .../airflow/contrib/hooks/snowflake_hook.html      |   983 ++
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |  1095 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   995 ++
 .../airflow/contrib/hooks/spark_sql_hook.html      |  1013 ++
 .../airflow/contrib/hooks/spark_submit_hook.html   |  1442 +++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |  1204 +++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |  1112 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   902 ++
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |  1040 ++
 .../_modules/airflow/contrib/hooks/winrm_hook.html |  1083 ++
 .../stable/_modules/airflow/contrib/operators.html |   900 ++
 .../contrib/operators/adls_list_operator.html      |   921 ++
 .../airflow/contrib/operators/adls_to_gcs.html     |  1007 ++
 .../contrib/operators/aws_athena_operator.html     |   969 ++
 .../operators/aws_sqs_publish_operator.html        |   930 ++
 .../contrib/operators/awsbatch_operator.html       |  1044 ++
 .../azure_container_instances_operator.html        |  1194 +++
 .../contrib/operators/azure_cosmos_operator.html   |   918 ++
 .../contrib/operators/bigquery_check_operator.html |  1002 ++
 .../contrib/operators/bigquery_get_data.html       |   965 ++
 .../contrib/operators/bigquery_operator.html       |  1737 ++++
 .../operators/bigquery_table_delete_operator.html  |   917 ++
 .../contrib/operators/bigquery_to_bigquery.html    |   954 ++
 .../airflow/contrib/operators/bigquery_to_gcs.html |   954 ++
 .../contrib/operators/cassandra_to_gcs.html        |  1212 +++
 .../contrib/operators/databricks_operator.html     |  1335 +++
 .../contrib/operators/dataflow_operator.html       |  1277 +++
 .../contrib/operators/dataproc_operator.html       |  2081 ++++
 .../operators/datastore_export_operator.html       |   959 ++
 .../operators/datastore_import_operator.html       |   947 ++
 .../contrib/operators/dingding_operator.html       |   923 ++
 .../operators/discord_webhook_operator.html        |   947 ++
 .../airflow/contrib/operators/druid_operator.html  |   913 ++
 .../airflow/contrib/operators/ecs_operator.html    |  1070 ++
 .../contrib/operators/emr_add_steps_operator.html  |   912 ++
 .../operators/emr_create_job_flow_operator.html    |   923 ++
 .../operators/emr_terminate_job_flow_operator.html |   906 ++
 .../airflow/contrib/operators/file_to_gcs.html     |   931 ++
 .../airflow/contrib/operators/file_to_wasb.html    |   913 ++
 .../contrib/operators/gcp_bigtable_operator.html   |  1340 +++
 .../operators/gcp_cloud_build_operator.html        |  1045 ++
 .../contrib/operators/gcp_compute_operator.html    |  1333 +++
 .../contrib/operators/gcp_container_operator.html  |  1173 +++
 .../contrib/operators/gcp_dlp_operator.html        |  2970 ++++++
 .../contrib/operators/gcp_function_operator.html   |  1177 +++
 .../operators/gcp_natural_language_operator.html   |  1111 ++
 .../contrib/operators/gcp_spanner_operator.html    |  1281 +++
 .../operators/gcp_speech_to_text_operator.html     |   939 ++
 .../contrib/operators/gcp_sql_operator.html        |  1655 +++
 .../operators/gcp_text_to_speech_operator.html     |   978 ++
 .../contrib/operators/gcp_transfer_operator.html   |  1654 +++
 .../contrib/operators/gcp_translate_operator.html  |   962 ++
 .../operators/gcp_translate_speech_operator.html   |  1008 ++
 .../operators/gcp_video_intelligence_operator.html |  1113 ++
 .../contrib/operators/gcp_vision_operator.html     |  2104 ++++
 .../contrib/operators/gcs_acl_operator.html        |   983 ++
 .../contrib/operators/gcs_delete_operator.html     |   932 ++
 .../contrib/operators/gcs_download_operator.html   |   945 ++
 .../contrib/operators/gcs_list_operator.html       |   943 ++
 .../airflow/contrib/operators/gcs_operator.html    |   980 ++
 .../airflow/contrib/operators/gcs_to_bq.html       |  1141 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |  1048 ++
 .../airflow/contrib/operators/gcs_to_s3.html       |   989 ++
 .../contrib/operators/hipchat_operator.html        |   984 ++
 .../contrib/operators/hive_to_dynamodb.html        |   958 ++
 .../operators/imap_attachment_to_s3_operator.html  |   939 ++
 .../operators/jenkins_job_trigger_operator.html    |  1093 ++
 .../airflow/contrib/operators/jira_operator.html   |   943 ++
 .../contrib/operators/kubernetes_pod_operator.html |  1088 ++
 .../contrib/operators/mlengine_operator.html       |  1483 +++
 .../airflow/contrib/operators/mongo_to_s3.html     |   976 ++
 .../airflow/contrib/operators/mssql_to_gcs.html    |   945 ++
 .../airflow/contrib/operators/mysql_to_gcs.html    |   981 ++
 .../contrib/operators/opsgenie_alert_operator.html |   980 ++
 .../oracle_to_azure_data_lake_transfer.html        |   964 ++
 .../operators/oracle_to_oracle_transfer.html       |   940 ++
 .../operators/postgres_to_gcs_operator.html        |   953 ++
 .../airflow/contrib/operators/pubsub_operator.html |  1282 +++
 .../contrib/operators/qubole_check_operator.html   |  1077 ++
 .../airflow/contrib/operators/qubole_operator.html |  1072 ++
 .../contrib/operators/redis_publish_operator.html  |   915 ++
 .../contrib/operators/s3_copy_object_operator.html |   945 ++
 .../operators/s3_delete_objects_operator.html      |   936 ++
 .../contrib/operators/s3_list_operator.html        |   948 ++
 .../contrib/operators/s3_to_gcs_operator.html      |  1061 ++
 .../contrib/operators/s3_to_sftp_operator.html     |   934 ++
 .../contrib/operators/sagemaker_base_operator.html |   951 ++
 .../sagemaker_endpoint_config_operator.html        |   915 ++
 .../operators/sagemaker_endpoint_operator.html     |   999 ++
 .../operators/sagemaker_model_operator.html        |   916 ++
 .../operators/sagemaker_training_operator.html     |   947 ++
 .../operators/sagemaker_transform_operator.html    |   973 ++
 .../operators/sagemaker_tuning_operator.html       |   948 ++
 .../operators/segment_track_event_operator.html    |   921 ++
 .../airflow/contrib/operators/sftp_operator.html   |  1029 ++
 .../contrib/operators/sftp_to_s3_operator.html     |   940 ++
 .../contrib/operators/slack_webhook_operator.html  |   956 ++
 .../contrib/operators/snowflake_operator.html      |   926 ++
 .../contrib/operators/sns_publish_operator.html    |   914 ++
 .../contrib/operators/spark_jdbc_operator.html     |  1063 ++
 .../contrib/operators/spark_sql_operator.html      |   960 ++
 .../contrib/operators/spark_submit_operator.html   |  1033 ++
 .../airflow/contrib/operators/sql_to_gcs.html      |  1126 ++
 .../airflow/contrib/operators/sqoop_operator.html  |  1087 ++
 .../airflow/contrib/operators/ssh_operator.html    |  1028 ++
 .../contrib/operators/vertica_operator.html        |   898 ++
 .../airflow/contrib/operators/vertica_to_hive.html |   988 ++
 .../contrib/operators/vertica_to_mysql.html        |  1004 ++
 .../operators/wasb_delete_blob_operator.html       |   919 ++
 .../airflow/contrib/operators/winrm_operator.html  |   998 ++
 .../airflow/contrib/sensors/aws_athena_sensor.html |   926 ++
 .../sensors/aws_glue_catalog_partition_sensor.html |   940 ++
 .../sensors/aws_redshift_cluster_sensor.html       |   899 ++
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   940 ++
 .../contrib/sensors/azure_cosmos_sensor.html       |   914 ++
 .../airflow/contrib/sensors/bash_sensor.html       |   937 ++
 .../airflow/contrib/sensors/bigquery_sensor.html   |   917 ++
 .../contrib/sensors/cassandra_record_sensor.html   |   908 ++
 .../contrib/sensors/cassandra_table_sensor.html    |   903 ++
 .../airflow/contrib/sensors/datadog_sensor.html    |   930 ++
 .../airflow/contrib/sensors/emr_base_sensor.html   |   907 ++
 .../contrib/sensors/emr_job_flow_sensor.html       |   910 ++
 .../airflow/contrib/sensors/emr_step_sensor.html   |   914 ++
 .../airflow/contrib/sensors/file_sensor.html       |   918 ++
 .../airflow/contrib/sensors/ftp_sensor.html        |   947 ++
 .../contrib/sensors/gcp_transfer_sensor.html       |   927 ++
 .../airflow/contrib/sensors/gcs_sensor.html        |  1161 +++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   921 ++
 .../contrib/sensors/imap_attachment_sensor.html    |   923 ++
 .../airflow/contrib/sensors/jira_sensor.html       |   998 ++
 .../airflow/contrib/sensors/mongo_sensor.html      |   905 ++
 .../airflow/contrib/sensors/pubsub_sensor.html     |   952 ++
 .../airflow/contrib/sensors/python_sensor.html     |   927 ++
 .../airflow/contrib/sensors/qubole_sensor.html     |   959 ++
 .../airflow/contrib/sensors/redis_key_sensor.html  |   886 ++
 .../contrib/sensors/redis_pub_sub_sensor.html      |   920 ++
 .../contrib/sensors/sagemaker_base_sensor.html     |   921 ++
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   908 ++
 .../contrib/sensors/sagemaker_training_sensor.html |   949 ++
 .../sensors/sagemaker_transform_sensor.html        |   909 ++
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   909 ++
 .../airflow/contrib/sensors/sftp_sensor.html       |   899 ++
 .../airflow/contrib/sensors/wasb_sensor.html       |   942 ++
 .../airflow/contrib/sensors/weekday_sensor.html    |   952 ++
 .../example_dags/example_bash_operator.html        |   920 ++
 .../example_dags/example_python_operator.html      |   921 ++
 docs/stable/_modules/airflow/exceptions.html       |   962 ++
 docs/stable/_modules/airflow/executors.html        |   946 ++
 .../_modules/airflow/executors/base_executor.html  |  1061 ++
 .../airflow/executors/celery_executor.html         |  1143 ++
 .../_modules/airflow/executors/dask_executor.html  |   946 ++
 .../_modules/airflow/executors/local_executor.html |  1083 ++
 .../airflow/executors/sequential_executor.html     |   906 ++
 docs/stable/_modules/airflow/hooks.html            |   943 ++
 docs/stable/_modules/airflow/hooks/S3_hook.html    |  1392 +++
 docs/stable/_modules/airflow/hooks/base_hook.html  |   951 ++
 docs/stable/_modules/airflow/hooks/dbapi_hook.html |  1154 +++
 .../stable/_modules/airflow/hooks/docker_hook.html |   937 ++
 docs/stable/_modules/airflow/hooks/druid_hook.html |  1014 ++
 docs/stable/_modules/airflow/hooks/hdfs_hook.html  |   947 ++
 docs/stable/_modules/airflow/hooks/hive_hooks.html |  1853 ++++
 docs/stable/_modules/airflow/hooks/http_hook.html  |  1062 ++
 docs/stable/_modules/airflow/hooks/jdbc_hook.html  |   910 ++
 docs/stable/_modules/airflow/hooks/mssql_hook.html |   904 ++
 docs/stable/_modules/airflow/hooks/mysql_hook.html |  1023 ++
 .../stable/_modules/airflow/hooks/oracle_hook.html |  1080 ++
 docs/stable/_modules/airflow/hooks/pig_hook.html   |   949 ++
 .../_modules/airflow/hooks/postgres_hook.html      |  1011 ++
 .../stable/_modules/airflow/hooks/presto_hook.html |   989 ++
 docs/stable/_modules/airflow/hooks/samba_hook.html |   901 ++
 docs/stable/_modules/airflow/hooks/slack_hook.html |   911 ++
 .../stable/_modules/airflow/hooks/sqlite_hook.html |   890 ++
 .../_modules/airflow/hooks/webhdfs_hook.html       |   981 ++
 .../_modules/airflow/hooks/zendesk_hook.html       |   961 ++
 docs/stable/_modules/airflow/macros.html           |   957 ++
 docs/stable/_modules/airflow/macros/hive.html      |   971 ++
 docs/stable/_modules/airflow/models.html           |   889 ++
 docs/stable/_modules/airflow/models/base.html      |   884 ++
 .../_modules/airflow/models/baseoperator.html      |  1964 ++++
 docs/stable/_modules/airflow/models/chart.html     |   899 ++
 .../stable/_modules/airflow/models/connection.html |  1148 +++
 docs/stable/_modules/airflow/models/crypto.html    |   946 ++
 docs/stable/_modules/airflow/models/dag.html       |  2486 +++++
 docs/stable/_modules/airflow/models/dagbag.html    |  1272 +++
 docs/stable/_modules/airflow/models/dagpickle.html |   901 ++
 docs/stable/_modules/airflow/models/dagrun.html    |  1296 +++
 docs/stable/_modules/airflow/models/errors.html    |   880 ++
 .../stable/_modules/airflow/models/knownevent.html |   903 ++
 .../stable/_modules/airflow/models/kubernetes.html |   928 ++
 docs/stable/_modules/airflow/models/log.html       |   917 ++
 docs/stable/_modules/airflow/models/pool.html      |   958 ++
 docs/stable/_modules/airflow/models/skipmixin.html |   951 ++
 docs/stable/_modules/airflow/models/slamiss.html   |   897 ++
 docs/stable/_modules/airflow/models/taskfail.html  |   904 ++
 .../_modules/airflow/models/taskinstance.html      |  2259 ++++
 .../_modules/airflow/models/taskreschedule.html    |   934 ++
 docs/stable/_modules/airflow/models/user.html      |   889 ++
 docs/stable/_modules/airflow/models/variable.html  |  1001 ++
 docs/stable/_modules/airflow/models/xcom.html      |  1083 ++
 docs/stable/_modules/airflow/operators.html        |   970 ++
 .../_modules/airflow/operators/bash_operator.html  |   992 ++
 .../airflow/operators/branch_operator.html         |   901 ++
 .../_modules/airflow/operators/check_operator.html |  1183 +++
 .../airflow/operators/dagrun_operator.html         |   946 ++
 .../airflow/operators/docker_operator.html         |  1143 ++
 .../airflow/operators/druid_check_operator.html    |   940 ++
 .../_modules/airflow/operators/dummy_operator.html |   886 ++
 .../_modules/airflow/operators/email_operator.html |   927 ++
 .../airflow/operators/generic_transfer.html        |   930 ++
 .../_modules/airflow/operators/hive_operator.html  |   991 ++
 .../airflow/operators/hive_stats_operator.html     |  1033 ++
 .../_modules/airflow/operators/hive_to_druid.html  |  1095 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   963 ++
 .../airflow/operators/hive_to_samba_operator.html  |   916 ++
 .../_modules/airflow/operators/http_operator.html  |   948 ++
 .../_modules/airflow/operators/jdbc_operator.html  |   912 ++
 .../airflow/operators/latest_only_operator.html    |   917 ++
 .../_modules/airflow/operators/mssql_operator.html |   912 ++
 .../_modules/airflow/operators/mssql_to_hive.html  |   988 ++
 .../_modules/airflow/operators/mysql_operator.html |   916 ++
 .../_modules/airflow/operators/mysql_to_hive.html  |   993 ++
 .../airflow/operators/oracle_operator.html         |   912 ++
 .../airflow/operators/papermill_operator.html      |   907 ++
 .../_modules/airflow/operators/pig_operator.html   |   926 ++
 .../airflow/operators/postgres_operator.html       |   916 ++
 .../airflow/operators/presto_check_operator.html   |   976 ++
 .../airflow/operators/presto_to_mysql.html         |   929 ++
 .../airflow/operators/python_operator.html         |  1265 +++
 .../airflow/operators/redshift_to_s3_operator.html |   970 ++
 .../operators/s3_file_transform_operator.html      |  1017 ++
 .../airflow/operators/s3_to_hive_operator.html     |  1146 +++
 .../airflow/operators/s3_to_redshift_operator.html |   958 ++
 .../stable/_modules/airflow/operators/sensors.html |   943 ++
 .../_modules/airflow/operators/slack_operator.html |   987 ++
 .../airflow/operators/sqlite_operator.html         |   903 ++
 .../airflow/operators/subdag_operator.html         |   951 ++
 docs/stable/_modules/airflow/sensors.html          |   912 ++
 .../airflow/sensors/base_sensor_operator.html      |   990 ++
 .../airflow/sensors/external_task_sensor.html      |  1003 ++
 .../_modules/airflow/sensors/hdfs_sensor.html      |   972 ++
 .../airflow/sensors/hive_partition_sensor.html     |   924 ++
 .../_modules/airflow/sensors/http_sensor.html      |   941 ++
 .../sensors/metastore_partition_sensor.html        |   932 ++
 .../sensors/named_hive_partition_sensor.html       |   951 ++
 .../_modules/airflow/sensors/s3_key_sensor.html    |   942 ++
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   931 ++
 .../_modules/airflow/sensors/sql_sensor.html       |   951 ++
 .../airflow/sensors/time_delta_sensor.html         |   895 ++
 .../_modules/airflow/sensors/time_sensor.html      |   889 ++
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   893 ++
 .../_modules/airflow/utils/log/logging_mixin.html  |  1053 ++
 docs/stable/_modules/index.html                    |  1183 +++
 .../_api/airflow/contrib/executors/index.rst.txt   |     0
 .../executors/kubernetes_executor/index.rst.txt    |     0
 .../contrib/executors/mesos_executor/index.rst.txt |     0
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     0
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     0
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     0
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     0
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     0
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |     0
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     0
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     0
 .../azure_container_instance_hook/index.rst.txt    |     0
 .../azure_container_registry_hook/index.rst.txt    |     0
 .../azure_container_volume_hook/index.rst.txt      |     0
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |     0
 .../hooks/azure_data_lake_hook/index.rst.txt       |     0
 .../hooks/azure_fileshare_hook/index.rst.txt       |     0
 .../contrib/hooks/bigquery_hook/index.rst.txt      |     0
 .../contrib/hooks/cassandra_hook/index.rst.txt     |     0
 .../contrib/hooks/cloudant_hook/index.rst.txt      |     0
 .../contrib/hooks/databricks_hook/index.rst.txt    |     0
 .../contrib/hooks/datadog_hook/index.rst.txt       |     0
 .../contrib/hooks/datastore_hook/index.rst.txt     |     0
 .../contrib/hooks/dingding_hook/index.rst.txt      |     0
 .../hooks/discord_webhook_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |     0
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |     0
 .../contrib/hooks/gcp_container_hook/index.rst.txt |     0
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |     0
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |     0
 .../hooks/gcp_natural_language_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |     0
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |     0
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |     0
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |     0
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     0
 .../gcp_video_intelligence_hook/index.rst.txt      |     0
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |     0
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |     0
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |     0
 .../_api/airflow/contrib/hooks/index.rst.txt       |     0
 .../contrib/hooks/jenkins_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |     0
 .../contrib/hooks/openfaas_hook/index.rst.txt      |     0
 .../hooks/opsgenie_alert_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |     0
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |     0
 .../contrib/hooks/qubole_hook/index.rst.txt        |     0
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |     0
 .../contrib/hooks/redshift_hook/index.rst.txt      |     0
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |     0
 .../contrib/hooks/salesforce_hook/index.rst.txt    |     0
 .../contrib/hooks/segment_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |     0
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     0
 .../contrib/hooks/snowflake_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |     0
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |     0
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |     0
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |     0
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     0
 .../contrib/hooks/vertica_hook/index.rst.txt       |     0
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |     0
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |     0
 .../operators/adls_list_operator/index.rst.txt     |     0
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     0
 .../operators/aws_athena_operator/index.rst.txt    |     0
 .../aws_sqs_publish_operator/index.rst.txt         |     0
 .../operators/awsbatch_operator/index.rst.txt      |     0
 .../index.rst.txt                                  |     0
 .../operators/azure_cosmos_operator/index.rst.txt  |     0
 .../bigquery_check_operator/index.rst.txt          |     0
 .../operators/bigquery_get_data/index.rst.txt      |     0
 .../operators/bigquery_operator/index.rst.txt      |     0
 .../bigquery_table_delete_operator/index.rst.txt   |     0
 .../operators/bigquery_to_bigquery/index.rst.txt   |     0
 .../operators/bigquery_to_gcs/index.rst.txt        |     0
 .../operators/cassandra_to_gcs/index.rst.txt       |     0
 .../operators/databricks_operator/index.rst.txt    |     0
 .../operators/dataflow_operator/index.rst.txt      |     0
 .../operators/dataproc_operator/index.rst.txt      |     0
 .../datastore_export_operator/index.rst.txt        |     0
 .../datastore_import_operator/index.rst.txt        |     0
 .../operators/dingding_operator/index.rst.txt      |     0
 .../discord_webhook_operator/index.rst.txt         |     0
 .../contrib/operators/druid_operator/index.rst.txt |     0
 .../contrib/operators/ecs_operator/index.rst.txt   |     0
 .../operators/emr_add_steps_operator/index.rst.txt |     0
 .../emr_create_job_flow_operator/index.rst.txt     |     0
 .../emr_terminate_job_flow_operator/index.rst.txt  |     0
 .../contrib/operators/file_to_gcs/index.rst.txt    |     0
 .../contrib/operators/file_to_wasb/index.rst.txt   |     0
 .../operators/gcp_bigtable_operator/index.rst.txt  |     0
 .../gcp_cloud_build_operator/index.rst.txt         |     0
 .../operators/gcp_compute_operator/index.rst.txt   |     0
 .../operators/gcp_container_operator/index.rst.txt |     0
 .../operators/gcp_dlp_operator/index.rst.txt       |     0
 .../operators/gcp_function_operator/index.rst.txt  |     0
 .../gcp_natural_language_operator/index.rst.txt    |     0
 .../operators/gcp_spanner_operator/index.rst.txt   |     0
 .../gcp_speech_to_text_operator/index.rst.txt      |     0
 .../operators/gcp_sql_operator/index.rst.txt       |     0
 .../gcp_text_to_speech_operator/index.rst.txt      |     0
 .../operators/gcp_transfer_operator/index.rst.txt  |     0
 .../operators/gcp_translate_operator/index.rst.txt |     0
 .../gcp_translate_speech_operator/index.rst.txt    |     0
 .../gcp_video_intelligence_operator/index.rst.txt  |     0
 .../operators/gcp_vision_operator/index.rst.txt    |     0
 .../operators/gcs_acl_operator/index.rst.txt       |     0
 .../operators/gcs_delete_operator/index.rst.txt    |     0
 .../operators/gcs_download_operator/index.rst.txt  |     0
 .../operators/gcs_list_operator/index.rst.txt      |     0
 .../contrib/operators/gcs_operator/index.rst.txt   |     0
 .../contrib/operators/gcs_to_bq/index.rst.txt      |     0
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |     0
 .../contrib/operators/gcs_to_s3/index.rst.txt      |     0
 .../operators/hipchat_operator/index.rst.txt       |     0
 .../operators/hive_to_dynamodb/index.rst.txt       |     0
 .../imap_attachment_to_s3_operator/index.rst.txt   |     0
 .../_api/airflow/contrib/operators/index.rst.txt   |     0
 .../jenkins_job_trigger_operator/index.rst.txt     |     0
 .../contrib/operators/jira_operator/index.rst.txt  |     0
 .../kubernetes_pod_operator/index.rst.txt          |     0
 .../operators/mlengine_operator/index.rst.txt      |     0
 .../contrib/operators/mongo_to_s3/index.rst.txt    |     0
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |     0
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |     0
 .../opsgenie_alert_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../oracle_to_oracle_transfer/index.rst.txt        |     0
 .../postgres_to_gcs_operator/index.rst.txt         |     0
 .../operators/pubsub_operator/index.rst.txt        |     0
 .../operators/qubole_check_operator/index.rst.txt  |     0
 .../operators/qubole_operator/index.rst.txt        |     0
 .../operators/redis_publish_operator/index.rst.txt |     0
 .../s3_copy_object_operator/index.rst.txt          |     0
 .../s3_delete_objects_operator/index.rst.txt       |     0
 .../operators/s3_list_operator/index.rst.txt       |     0
 .../operators/s3_to_gcs_operator/index.rst.txt     |     0
 .../operators/s3_to_sftp_operator/index.rst.txt    |     0
 .../sagemaker_base_operator/index.rst.txt          |     0
 .../index.rst.txt                                  |     0
 .../sagemaker_endpoint_operator/index.rst.txt      |     0
 .../sagemaker_model_operator/index.rst.txt         |     0
 .../sagemaker_training_operator/index.rst.txt      |     0
 .../sagemaker_transform_operator/index.rst.txt     |     0
 .../sagemaker_tuning_operator/index.rst.txt        |     0
 .../segment_track_event_operator/index.rst.txt     |     0
 .../contrib/operators/sftp_operator/index.rst.txt  |     0
 .../operators/sftp_to_s3_operator/index.rst.txt    |     0
 .../operators/slack_webhook_operator/index.rst.txt |     0
 .../operators/snowflake_operator/index.rst.txt     |     0
 .../operators/sns_publish_operator/index.rst.txt   |     0
 .../operators/spark_jdbc_operator/index.rst.txt    |     0
 .../operators/spark_sql_operator/index.rst.txt     |     0
 .../operators/spark_submit_operator/index.rst.txt  |     0
 .../contrib/operators/sql_to_gcs/index.rst.txt     |     0
 .../contrib/operators/sqoop_operator/index.rst.txt |     0
 .../contrib/operators/ssh_operator/index.rst.txt   |     0
 .../operators/vertica_operator/index.rst.txt       |     0
 .../operators/vertica_to_hive/index.rst.txt        |     0
 .../operators/vertica_to_mysql/index.rst.txt       |     0
 .../wasb_delete_blob_operator/index.rst.txt        |     0
 .../contrib/operators/winrm_operator/index.rst.txt |     0
 .../sensors/aws_athena_sensor/index.rst.txt        |     0
 .../index.rst.txt                                  |     0
 .../aws_redshift_cluster_sensor/index.rst.txt      |     0
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |     0
 .../sensors/azure_cosmos_sensor/index.rst.txt      |     0
 .../contrib/sensors/bash_sensor/index.rst.txt      |     0
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |     0
 .../sensors/cassandra_record_sensor/index.rst.txt  |     0
 .../sensors/cassandra_table_sensor/index.rst.txt   |     0
 .../contrib/sensors/datadog_sensor/index.rst.txt   |     0
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |     0
 .../sensors/emr_job_flow_sensor/index.rst.txt      |     0
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |     0
 .../contrib/sensors/file_sensor/index.rst.txt      |     0
 .../contrib/sensors/ftp_sensor/index.rst.txt       |     0
 .../sensors/gcp_transfer_sensor/index.rst.txt      |     0
 .../contrib/sensors/gcs_sensor/index.rst.txt       |     0
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |     0
 .../sensors/imap_attachment_sensor/index.rst.txt   |     0
 .../_api/airflow/contrib/sensors/index.rst.txt     |     0
 .../contrib/sensors/jira_sensor/index.rst.txt      |     0
 .../contrib/sensors/mongo_sensor/index.rst.txt     |     0
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |     0
 .../contrib/sensors/python_sensor/index.rst.txt    |     0
 .../contrib/sensors/qubole_sensor/index.rst.txt    |     0
 .../contrib/sensors/redis_key_sensor/index.rst.txt |     0
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |     0
 .../sensors/sagemaker_base_sensor/index.rst.txt    |     0
 .../sagemaker_endpoint_sensor/index.rst.txt        |     0
 .../sagemaker_training_sensor/index.rst.txt        |     0
 .../sagemaker_transform_sensor/index.rst.txt       |     0
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |     0
 .../contrib/sensors/sftp_sensor/index.rst.txt      |     0
 .../contrib/sensors/wasb_sensor/index.rst.txt      |     0
 .../contrib/sensors/weekday_sensor/index.rst.txt   |     0
 .../airflow/executors/base_executor/index.rst.txt  |     0
 .../executors/celery_executor/index.rst.txt        |     0
 .../airflow/executors/dask_executor/index.rst.txt  |     0
 .../_sources/_api/airflow/executors/index.rst.txt  |     0
 .../airflow/executors/local_executor/index.rst.txt |     0
 .../executors/sequential_executor/index.rst.txt    |     0
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |     0
 .../_api/airflow/hooks/base_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     0
 .../_api/airflow/hooks/http_hook/index.rst.txt     |     0
 .../_sources/_api/airflow/hooks/index.rst.txt      |     0
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |     0
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |     0
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |     0
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |     0
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |     0
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |     0
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |     0
 .../_api/airflow/models/base/index.rst.txt         |     0
 .../_api/airflow/models/baseoperator/index.rst.txt |     0
 .../_api/airflow/models/chart/index.rst.txt        |     0
 .../_api/airflow/models/connection/index.rst.txt   |     0
 .../_api/airflow/models/crypto/index.rst.txt       |     0
 .../_sources/_api/airflow/models/dag/index.rst.txt |     0
 .../_api/airflow/models/dagbag/index.rst.txt       |     0
 .../_api/airflow/models/dagpickle/index.rst.txt    |     0
 .../_api/airflow/models/dagrun/index.rst.txt       |     0
 .../_api/airflow/models/errors/index.rst.txt       |     0
 .../_sources/_api/airflow/models/index.rst.txt     |     0
 .../_api/airflow/models/knownevent/index.rst.txt   |     0
 .../_api/airflow/models/kubernetes/index.rst.txt   |     0
 .../_sources/_api/airflow/models/log/index.rst.txt |     0
 .../_api/airflow/models/pool/index.rst.txt         |     0
 .../_api/airflow/models/skipmixin/index.rst.txt    |     0
 .../_api/airflow/models/slamiss/index.rst.txt      |     0
 .../_api/airflow/models/taskfail/index.rst.txt     |     0
 .../_api/airflow/models/taskinstance/index.rst.txt |     0
 .../airflow/models/taskreschedule/index.rst.txt    |     0
 .../_api/airflow/models/user/index.rst.txt         |     0
 .../_api/airflow/models/variable/index.rst.txt     |     0
 .../_api/airflow/models/xcom/index.rst.txt         |     0
 .../airflow/operators/bash_operator/index.rst.txt  |     0
 .../operators/branch_operator/index.rst.txt        |     0
 .../airflow/operators/check_operator/index.rst.txt |     0
 .../operators/dagrun_operator/index.rst.txt        |     0
 .../operators/docker_operator/index.rst.txt        |     0
 .../operators/druid_check_operator/index.rst.txt   |     0
 .../airflow/operators/dummy_operator/index.rst.txt |     0
 .../airflow/operators/email_operator/index.rst.txt |     0
 .../operators/generic_transfer/index.rst.txt       |     0
 .../airflow/operators/hive_operator/index.rst.txt  |     0
 .../operators/hive_stats_operator/index.rst.txt    |     0
 .../airflow/operators/hive_to_druid/index.rst.txt  |     0
 .../airflow/operators/hive_to_mysql/index.rst.txt  |     0
 .../operators/hive_to_samba_operator/index.rst.txt |     0
 .../airflow/operators/http_operator/index.rst.txt  |     0
 .../_sources/_api/airflow/operators/index.rst.txt  |     0
 .../airflow/operators/jdbc_operator/index.rst.txt  |     0
 .../operators/latest_only_operator/index.rst.txt   |     0
 .../airflow/operators/mssql_operator/index.rst.txt |     0
 .../airflow/operators/mssql_to_hive/index.rst.txt  |     0
 .../airflow/operators/mysql_operator/index.rst.txt |     0
 .../airflow/operators/mysql_to_hive/index.rst.txt  |     0
 .../operators/oracle_operator/index.rst.txt        |     0
 .../operators/papermill_operator/index.rst.txt     |     0
 .../airflow/operators/pig_operator/index.rst.txt   |     0
 .../operators/postgres_operator/index.rst.txt      |     0
 .../operators/presto_check_operator/index.rst.txt  |     0
 .../operators/presto_to_mysql/index.rst.txt        |     0
 .../operators/python_operator/index.rst.txt        |     0
 .../redshift_to_s3_operator/index.rst.txt          |     0
 .../s3_file_transform_operator/index.rst.txt       |     0
 .../operators/s3_to_hive_operator/index.rst.txt    |     0
 .../s3_to_redshift_operator/index.rst.txt          |     0
 .../_api/airflow/operators/sensors/index.rst.txt   |     0
 .../airflow/operators/slack_operator/index.rst.txt |     0
 .../operators/sqlite_operator/index.rst.txt        |     0
 .../operators/subdag_operator/index.rst.txt        |     0
 .../sensors/base_sensor_operator/index.rst.txt     |     0
 .../sensors/external_task_sensor/index.rst.txt     |     0
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |     0
 .../sensors/hive_partition_sensor/index.rst.txt    |     0
 .../_api/airflow/sensors/http_sensor/index.rst.txt |     0
 .../_sources/_api/airflow/sensors/index.rst.txt    |     0
 .../metastore_partition_sensor/index.rst.txt       |     0
 .../named_hive_partition_sensor/index.rst.txt      |     0
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |     0
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |     0
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |     0
 .../sensors/time_delta_sensor/index.rst.txt        |     0
 .../_api/airflow/sensors/time_sensor/index.rst.txt |     0
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |     0
 .../stable}/_sources/_api/index.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/api.rst.txt       |     0
 {1.10.5 => docs/stable}/_sources/changelog.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/cli.rst.txt       |     0
 {1.10.6 => docs/stable}/_sources/concepts.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/errors.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/faq.rst.txt       |     0
 .../stable}/_sources/howto/check-health.rst.txt    |     0
 .../stable}/_sources/howto/cli-completion.rst.txt  |     0
 .../stable}/_sources/howto/connection/aws.rst.txt  |     0
 .../stable}/_sources/howto/connection/gcp.rst.txt  |     0
 .../_sources/howto/connection/gcp_sql.rst.txt      |     0
 .../stable}/_sources/howto/connection/grpc.rst.txt |     0
 .../_sources/howto/connection/index.rst.txt        |     0
 .../_sources/howto/connection/mysql.rst.txt        |     0
 .../_sources/howto/connection/oracle.rst.txt       |     0
 .../_sources/howto/connection/postgres.rst.txt     |     0
 .../stable}/_sources/howto/connection/ssh.rst.txt  |     0
 .../_sources/howto/define_extra_link.rst.txt       |     0
 .../_sources/howto/executor/use-celery.rst.txt     |     0
 .../_sources/howto/executor/use-dask.rst.txt       |     0
 .../_sources/howto/executor/use-mesos.rst.txt      |     0
 .../stable}/_sources/howto/index.rst.txt           |     0
 .../_sources/howto/initialize-database.rst.txt     |     0
 .../stable}/_sources/howto/operator/bash.rst.txt   |     0
 .../_sources/howto/operator/dingding.rst.txt       |     0
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |     0
 .../howto/operator/gcp/cloud_build.rst.txt         |     0
 .../_sources/howto/operator/gcp/compute.rst.txt    |     0
 .../_sources/howto/operator/gcp/function.rst.txt   |     0
 .../_sources/howto/operator/gcp/gcs.rst.txt        |     0
 .../_sources/howto/operator/gcp/index.rst.txt      |     0
 .../howto/operator/gcp/natural_language.rst.txt    |     0
 .../_sources/howto/operator/gcp/spanner.rst.txt    |     0
 .../_sources/howto/operator/gcp/speech.rst.txt     |     0
 .../_sources/howto/operator/gcp/sql.rst.txt        |     0
 .../_sources/howto/operator/gcp/transfer.rst.txt   |     0
 .../howto/operator/gcp/translate-speech.rst.txt    |     0
 .../_sources/howto/operator/gcp/translate.rst.txt  |     0
 .../_sources/howto/operator/gcp/video.rst.txt      |     0
 .../_sources/howto/operator/gcp/vision.rst.txt     |     0
 .../stable}/_sources/howto/operator/index.rst.txt  |     0
 .../_sources/howto/operator/papermill.rst.txt      |     0
 .../stable}/_sources/howto/operator/python.rst.txt |     0
 .../_sources/howto/run-behind-proxy.rst.txt        |     0
 .../_sources/howto/run-with-systemd.rst.txt        |     0
 .../_sources/howto/run-with-upstart.rst.txt        |     0
 .../_sources/howto/secure-connections.rst.txt      |     0
 .../stable}/_sources/howto/set-config.rst.txt      |     0
 .../_sources/howto/tracking-user-activity.rst.txt  |     0
 .../stable}/_sources/howto/use-test-config.rst.txt |     0
 .../stable}/_sources/howto/write-logs.rst.txt      |     0
 {1.10.6 => docs/stable}/_sources/index.rst.txt     |     0
 .../stable}/_sources/installation.rst.txt          |     0
 .../stable}/_sources/integration.rst.txt           |     0
 .../stable}/_sources/kubernetes.rst.txt            |     0
 {1.10.5 => docs/stable}/_sources/license.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/lineage.rst.txt   |     0
 {1.10.5 => docs/stable}/_sources/macros.rst.txt    |     0
 {1.10.6 => docs/stable}/_sources/metrics.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/plugins.rst.txt   |     0
 .../stable}/_sources/privacy_notice.rst.txt        |     0
 {1.10.5 => docs/stable}/_sources/profiling.rst.txt |     0
 {1.10.5 => docs/stable}/_sources/project.rst.txt   |     0
 {1.10.6 => docs/stable}/_sources/scheduler.rst.txt |     0
 {1.10.6 => docs/stable}/_sources/security.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/start.rst.txt     |     0
 {1.10.6 => docs/stable}/_sources/timezone.rst.txt  |     0
 {1.10.6 => docs/stable}/_sources/tutorial.rst.txt  |     0
 {1.10.5 => docs/stable}/_sources/ui.rst.txt        |     0
 docs/stable/_static/_gen/css/main-custom.min.css   |     1 +
 docs/stable/_static/_gen/css/main.min.css          |     7 +
 docs/stable/_static/_gen/js/docs.js                |     1 +
 {1.10.5 => docs/stable}/_static/basic.css          |     0
 {1.10.3 => docs/stable}/_static/doctools.js        |     0
 .../stable}/_static/documentation_options.js       |     0
 docs/stable/_static/exampleinclude.css             |    79 +
 {1.10.1 => docs/stable}/_static/file.png           |   Bin
 {1.10.6 => docs/stable}/_static/graphviz.css       |     0
 docs/stable/_static/jira-links.js                  |    34 +
 {1.10.5 => docs/stable}/_static/jquery-3.4.1.js    |     0
 {1.10.5 => docs/stable}/_static/jquery.js          |     0
 {1.10.3 => docs/stable}/_static/language_data.js   |     0
 {1.10.1 => docs/stable}/_static/minus.png          |   Bin
 {1.10.6 => docs/stable}/_static/pin_32.png         |   Bin
 {1.10.1 => docs/stable}/_static/plus.png           |   Bin
 {1.10.1 => docs/stable}/_static/pygments.css       |     0
 {1.10.4 => docs/stable}/_static/searchtools.js     |     0
 .../stable}/_static/underscore-1.3.1.js            |     0
 {1.10.1 => docs/stable}/_static/underscore.js      |     0
 docs/stable/api.html                               |  1127 ++
 docs/stable/changelog.html                         |  4283 ++++++++
 docs/stable/cli.html                               |  2493 +++++
 docs/stable/concepts.html                          |  2058 ++++
 docs/stable/errors.html                            |   967 ++
 docs/stable/faq.html                               |  1082 ++
 docs/stable/genindex.html                          | 10298 +++++++++++++++++++
 docs/stable/howto/check-health.html                |   950 ++
 docs/stable/howto/cli-completion.html              |   941 ++
 docs/stable/howto/connection/aws.html              |  1001 ++
 docs/stable/howto/connection/gcp.html              |  1045 ++
 docs/stable/howto/connection/gcp_sql.html          |  1004 ++
 docs/stable/howto/connection/grpc.html             |  1008 ++
 docs/stable/howto/connection/index.html            |  1023 ++
 docs/stable/howto/connection/mysql.html            |  1025 ++
 docs/stable/howto/connection/oracle.html           |  1014 ++
 docs/stable/howto/connection/postgres.html         |  1010 ++
 docs/stable/howto/connection/ssh.html              |  1004 ++
 docs/stable/howto/define_extra_link.html           |  1024 ++
 docs/stable/howto/executor/use-celery.html         |  1040 ++
 docs/stable/howto/executor/use-dask.html           |   944 ++
 docs/stable/howto/executor/use-mesos.html          |   994 ++
 docs/stable/howto/index.html                       |   975 ++
 docs/stable/howto/initialize-database.html         |   949 ++
 docs/stable/howto/operator/bash.html               |   998 ++
 docs/stable/howto/operator/dingding.html           |  1081 ++
 docs/stable/howto/operator/gcp/bigtable.html       |  1215 +++
 docs/stable/howto/operator/gcp/cloud_build.html    |  1086 ++
 docs/stable/howto/operator/gcp/compute.html        |  1364 +++
 docs/stable/howto/operator/gcp/function.html       |  1197 +++
 docs/stable/howto/operator/gcp/gcs.html            |  1108 ++
 docs/stable/howto/operator/gcp/index.html          |   989 ++
 .../howto/operator/gcp/natural_language.html       |  1167 +++
 docs/stable/howto/operator/gcp/spanner.html        |  1339 +++
 docs/stable/howto/operator/gcp/speech.html         |  1103 ++
 docs/stable/howto/operator/gcp/sql.html            |  2019 ++++
 docs/stable/howto/operator/gcp/transfer.html       |  1545 +++
 .../howto/operator/gcp/translate-speech.html       |  1038 ++
 docs/stable/howto/operator/gcp/translate.html      |  1030 ++
 docs/stable/howto/operator/gcp/video.html          |  1187 +++
 docs/stable/howto/operator/gcp/vision.html         |  2248 ++++
 docs/stable/howto/operator/index.html              |   985 ++
 docs/stable/howto/operator/papermill.html          |   985 ++
 docs/stable/howto/operator/python.html             |  1000 ++
 docs/stable/howto/run-behind-proxy.html            |   984 ++
 docs/stable/howto/run-with-systemd.html            |   934 ++
 docs/stable/howto/run-with-upstart.html            |   944 ++
 docs/stable/howto/secure-connections.html          |   963 ++
 docs/stable/howto/set-config.html                  |   959 ++
 docs/stable/howto/tracking-user-activity.html      |   936 ++
 docs/stable/howto/use-test-config.html             |   929 ++
 docs/stable/howto/write-logs.html                  |  1116 ++
 docs/stable/http-routingtable.html                 |   923 ++
 docs/stable/index.html                             |  1610 +++
 docs/stable/installation.html                      |  1073 ++
 docs/stable/integration.html                       |  1798 ++++
 docs/stable/kubernetes.html                        |  1031 ++
 docs/stable/license.html                           |  1055 ++
 docs/stable/lineage.html                           |   970 ++
 docs/stable/macros.html                            |  1247 +++
 docs/stable/metrics.html                           |  1048 ++
 {1.10.6 => docs/stable}/objects.inv                |   Bin
 docs/stable/plugins.html                           |  1178 +++
 docs/stable/privacy_notice.html                    |   922 ++
 docs/stable/profiling.html                         |   932 ++
 docs/stable/project.html                           |   958 ++
 docs/stable/py-modindex.html                       |  2445 +++++
 docs/stable/scheduler.html                         |  1069 ++
 docs/stable/search.html                            |   889 ++
 {1.10.6 => docs/stable}/searchindex.js             |     0
 docs/stable/security.html                          |  1532 +++
 docs/stable/start.html                             |   933 ++
 docs/stable/timezone.html                          |  1037 ++
 docs/stable/tutorial.html                          |  1348 +++
 docs/stable/ui.html                                |   982 ++
 errors.html                                        |   437 -
 faq.html                                           |   538 -
 favicon.ico                                        |   Bin 0 -> 1150 bytes
 favicons/android-144x144.png                       |   Bin 0 -> 4299 bytes
 favicons/android-192x192.png                       |   Bin 0 -> 5264 bytes
 favicons/android-36x36.png                         |   Bin 0 -> 980 bytes
 favicons/android-48x48.png                         |   Bin 0 -> 1071 bytes
 favicons/android-72x72.png                         |   Bin 0 -> 1926 bytes
 favicons/android-96x196.png                        |   Bin 0 -> 2309 bytes
 favicons/android-icon-144x144.png                  |   Bin 0 -> 10032 bytes
 favicons/android-icon-192x192.png                  |   Bin 0 -> 12414 bytes
 favicons/android-icon-36x36.png                    |   Bin 0 -> 2434 bytes
 favicons/android-icon-48x48.png                    |   Bin 0 -> 3166 bytes
 favicons/android-icon-72x72.png                    |   Bin 0 -> 4630 bytes
 favicons/android-icon-96x96.png                    |   Bin 0 -> 6247 bytes
 favicons/apple-icon-114x114.png                    |   Bin 0 -> 7641 bytes
 favicons/apple-icon-120x120.png                    |   Bin 0 -> 8065 bytes
 favicons/apple-icon-144x144.png                    |   Bin 0 -> 10032 bytes
 favicons/apple-icon-152x152.png                    |   Bin 0 -> 10619 bytes
 favicons/apple-icon-180x180.png                    |   Bin 0 -> 13076 bytes
 favicons/apple-icon-57x57.png                      |   Bin 0 -> 3695 bytes
 favicons/apple-icon-60x60.png                      |   Bin 0 -> 3908 bytes
 favicons/apple-icon-72x72.png                      |   Bin 0 -> 4630 bytes
 favicons/apple-icon-76x76.png                      |   Bin 0 -> 4852 bytes
 favicons/apple-icon-precomposed.png                |   Bin 0 -> 12988 bytes
 favicons/apple-icon.png                            |   Bin 0 -> 12988 bytes
 favicons/apple-touch-icon-180x180.png              |   Bin 0 -> 4748 bytes
 favicons/favicon-1024.png                          |   Bin 0 -> 27759 bytes
 favicons/favicon-16x16.png                         |   Bin 0 -> 1675 bytes
 favicons/favicon-256.png                           |   Bin 0 -> 8037 bytes
 favicons/favicon-32x32.png                         |   Bin 0 -> 2203 bytes
 favicons/favicon-96x96.png                         |   Bin 0 -> 6247 bytes
 favicons/favicon.ico                               |   Bin 0 -> 1150 bytes
 favicons/ms-icon-144x144.png                       |   Bin 0 -> 10032 bytes
 favicons/ms-icon-150x150.png                       |   Bin 0 -> 10549 bytes
 favicons/ms-icon-310x310.png                       |   Bin 0 -> 21086 bytes
 favicons/ms-icon-70x70.png                         |   Bin 0 -> 4538 bytes
 favicons/pwa-192x192.png                           |   Bin 0 -> 5264 bytes
 favicons/pwa-512x512.png                           |   Bin 0 -> 20743 bytes
 favicons/tile150x150.png                           |   Bin 0 -> 8985 bytes
 favicons/tile310x150.png                           |   Bin 0 -> 11661 bytes
 favicons/tile310x310.png                           |   Bin 0 -> 23621 bytes
 favicons/tile70x70.png                             |   Bin 0 -> 3592 bytes
 genindex.html                                      |  9776 ------------------
 howto/check-health.html                            |   410 -
 howto/cli-completion.html                          |   401 -
 howto/connection/aws.html                          |   440 -
 howto/connection/gcp.html                          |   484 -
 howto/connection/gcp_sql.html                      |   445 -
 howto/connection/grpc.html                         |   447 -
 howto/connection/index.html                        |   461 -
 howto/connection/mysql.html                        |   466 -
 howto/connection/oracle.html                       |   455 -
 howto/connection/postgres.html                     |   451 -
 howto/connection/ssh.html                          |   445 -
 howto/define_extra_link.html                       |   478 -
 howto/executor/use-celery.html                     |   494 -
 howto/executor/use-dask.html                       |   404 -
 howto/executor/use-mesos.html                      |   446 -
 howto/index.html                                   |   435 -
 howto/initialize-database.html                     |   409 -
 howto/operator/bash.html                           |   440 -
 howto/operator/dingding.html                       |   516 -
 howto/operator/gcp/bigtable.html                   |   624 --
 howto/operator/gcp/cloud_build.html                |   516 -
 howto/operator/gcp/compute.html                    |   762 --
 howto/operator/gcp/function.html                   |   616 --
 howto/operator/gcp/gcs.html                        |   527 -
 howto/operator/gcp/index.html                      |   425 -
 howto/operator/gcp/natural_language.html           |   594 --
 howto/operator/gcp/spanner.html                    |   738 --
 howto/operator/gcp/speech.html                     |   522 -
 howto/operator/gcp/sql.html                        |  1386 ---
 howto/operator/gcp/transfer.html                   |   917 --
 howto/operator/gcp/translate-speech.html           |   466 -
 howto/operator/gcp/translate.html                  |   458 -
 howto/operator/gcp/video.html                      |   600 --
 howto/operator/gcp/vision.html                     |  1570 ---
 howto/operator/index.html                          |   438 -
 howto/operator/papermill.html                      |   428 -
 howto/operator/python.html                         |   445 -
 howto/run-behind-proxy.html                        |   444 -
 howto/run-with-systemd.html                        |   394 -
 howto/run-with-upstart.html                        |   404 -
 howto/secure-connections.html                      |   422 -
 howto/set-config.html                              |   419 -
 howto/tracking-user-activity.html                  |   396 -
 howto/use-test-config.html                         |   389 -
 howto/write-logs.html                              |   548 -
 http-routingtable.html                             |   417 -
 icons/adobe-logo.svg                               |     5 +
 icons/anchor.svg                                   |     4 +
 icons/big-fish-games-logo.svg                      |     3 +
 icons/commiter-placeholder.svg                     |    12 +
 icons/dish-logo.svg                                |    14 +
 icons/docker-logo.png                              |   Bin 0 -> 7297 bytes
 icons/experity-logo.jpg                            |   Bin 0 -> 59400 bytes
 icons/onefootball-logo.svg                         |     3 +
 icons/sidebar-arrow.svg                            |     3 +
 icons/tick.svg                                     |     8 +
 images/feature-image.png                           |   Bin 0 -> 63044 bytes
 index.html                                         |  2585 +++--
 index.xml                                          |    56 +
 install/index.html                                 |   775 ++
 install/index.xml                                  |    17 +
 installation.html                                  |   543 -
 integration-logos/azure-logo.svg                   |    24 +
 integration.html                                   |  1158 ---
 integrations.json                                  |   406 +
 ...4556a9cebc0ac4fe1ce1457a01b22c0a06b329877383.js |     6 +
 js/swagger-ui-bundle.js                            |    93 +
 js/swagger-ui-standalone-preset.js                 |    14 +
 kubernetes.html                                    |   501 -
 license.html                                       |   535 -
 lineage.html                                       |   444 -
 macros.html                                        |   683 --
 main.b2992.js                                      |     1 +
 manifest.json                                      |    41 +
 meetups.json                                       |    80 +
 meetups/index.html                                 |   988 ++
 meetups/index.xml                                  |    17 +
 metrics.html                                       |   516 -
 plugins.html                                       |   642 --
 privacy-notice/index.html                          |   609 ++
 privacy-notice/index.xml                           |    17 +
 privacy_notice.html                                |   395 -
 profiling.html                                     |   396 -
 project.html                                       |   426 -
 py-modindex.html                                   |  1939 ----
 roadmap/index.html                                 |   779 ++
 roadmap/index.xml                                  |    17 +
 robots.txt                                         |     1 +
 scheduler.html                                     |   537 -
 ...e8d0279dae20d66dbd926c7ffe603c986bd9ba480f3.css |     1 +
 ...8b7ddd1a316055cb9c6fc7ff482c3679b51f0369984.css |     7 +
 search.html                                        |   360 -
 search/index.html                                  |   565 +
 security.html                                      |   908 --
 sitemap.xml                                        |   199 +
 start.html                                         |   407 -
 stock-guy.jpg                                      |   Bin 0 -> 45492 bytes
 tags/index.html                                    |   554 +
 tags/index.xml                                     |    18 +
 timezone.html                                      |   489 -
 tutorial.html                                      |   790 --
 ui.html                                            |   442 -
 use-cases/adobe/index.html                         |   610 ++
 use-cases/big-fish-games/index.html                |   610 ++
 use-cases/dish/index.html                          |   610 ++
 use-cases/experity/index.html                      |   613 ++
 use-cases/index.html                               |   677 ++
 use-cases/index.xml                                |   151 +
 use-cases/onefootball/index.html                   |   617 ++
 webfonts/fa-brands-400.eot                         |   Bin 0 -> 129734 bytes
 webfonts/fa-brands-400.svg                         |  3451 +++++++
 webfonts/fa-brands-400.ttf                         |   Bin 0 -> 129428 bytes
 webfonts/fa-brands-400.woff                        |   Bin 0 -> 87644 bytes
 webfonts/fa-brands-400.woff2                       |   Bin 0 -> 74740 bytes
 webfonts/fa-regular-400.eot                        |   Bin 0 -> 34394 bytes
 webfonts/fa-regular-400.svg                        |   803 ++
 webfonts/fa-regular-400.ttf                        |   Bin 0 -> 34096 bytes
 webfonts/fa-regular-400.woff                       |   Bin 0 -> 16804 bytes
 webfonts/fa-regular-400.woff2                      |   Bin 0 -> 13656 bytes
 webfonts/fa-solid-900.eot                          |   Bin 0 -> 192122 bytes
 webfonts/fa-solid-900.svg                          |  4649 +++++++++
 webfonts/fa-solid-900.ttf                          |   Bin 0 -> 191836 bytes
 webfonts/fa-solid-900.woff                         |   Bin 0 -> 98020 bytes
 webfonts/fa-solid-900.woff2                        |   Bin 0 -> 75336 bytes
 8184 files changed, 1612251 insertions(+), 812876 deletions(-)


[airflow-site] 26/30: Docs for 1.10.6

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 661f1891f51b15eebb140aa70faaf80e6ce0fa41
Author: Ash Berlin-Taylor <as...@firemirror.com>
AuthorDate: Mon Oct 28 21:35:17 2019 +0000

    Docs for 1.10.6
---
 1.10.6/_api/airflow/contrib/executors/index.html   |   395 +
 .../executors/kubernetes_executor/index.html       |   694 ++
 .../contrib/executors/mesos_executor/index.html    |   500 +
 .../contrib/hooks/aws_athena_hook/index.html       |   523 +
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   420 +
 .../contrib/hooks/aws_firehose_hook/index.html     |   416 +
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   505 +
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   465 +
 .../contrib/hooks/aws_lambda_hook/index.html       |   422 +
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   451 +
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   421 +
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   459 +
 .../hooks/azure_container_instance_hook/index.html |   539 +
 .../hooks/azure_container_registry_hook/index.html |   409 +
 .../hooks/azure_container_volume_hook/index.html   |   414 +
 .../contrib/hooks/azure_cosmos_hook/index.html     |   504 +
 .../contrib/hooks/azure_data_lake_hook/index.html  |   486 +
 .../contrib/hooks/azure_fileshare_hook/index.html  |   591 ++
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1402 +++
 .../contrib/hooks/cassandra_hook/index.html        |   487 +
 .../airflow/contrib/hooks/cloudant_hook/index.html |   413 +
 .../contrib/hooks/databricks_hook/index.html       |   596 ++
 .../airflow/contrib/hooks/datadog_hook/index.html  |   477 +
 .../contrib/hooks/datastore_hook/index.html        |   664 ++
 .../airflow/contrib/hooks/dingding_hook/index.html |   446 +
 .../contrib/hooks/discord_webhook_hook/index.html  |   456 +
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   413 +
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   414 +
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   609 ++
 .../contrib/hooks/gcp_api_base_hook/index.html     |   573 +
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   561 +
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   474 +
 .../contrib/hooks/gcp_compute_hook/index.html      |   647 ++
 .../contrib/hooks/gcp_container_hook/index.html    |   564 +
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   495 +
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   562 +
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1272 +++
 .../contrib/hooks/gcp_function_hook/index.html     |   550 +
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   471 +
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   517 +
 .../hooks/gcp_natural_language_hook/index.html     |   570 +
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   573 +
 .../contrib/hooks/gcp_spanner_hook/index.html      |   644 ++
 .../hooks/gcp_speech_to_text_hook/index.html       |   447 +
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   967 ++
 .../hooks/gcp_text_to_speech_hook/index.html       |   456 +
 .../contrib/hooks/gcp_transfer_hook/index.html     |   915 ++
 .../contrib/hooks/gcp_translate_hook/index.html    |   463 +
 .../hooks/gcp_video_intelligence_hook/index.html   |   454 +
 .../contrib/hooks/gcp_vision_hook/index.html       |   603 ++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   715 ++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   419 +
 .../airflow/contrib/hooks/imap_hook/index.html     |   657 ++
 1.10.6/_api/airflow/contrib/hooks/index.html       |   481 +
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   403 +
 .../airflow/contrib/hooks/jira_hook/index.html     |   408 +
 .../airflow/contrib/hooks/mongo_hook/index.html    |   594 ++
 .../airflow/contrib/hooks/openfaas_hook/index.html |   457 +
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   438 +
 .../airflow/contrib/hooks/pinot_hook/index.html    |   465 +
 .../contrib/hooks/qubole_check_hook/index.html     |   442 +
 .../airflow/contrib/hooks/qubole_hook/index.html   |   514 +
 .../airflow/contrib/hooks/redis_hook/index.html    |   406 +
 .../airflow/contrib/hooks/redshift_hook/index.html |   468 +
 .../contrib/hooks/sagemaker_hook/index.html        |   890 ++
 .../contrib/hooks/salesforce_hook/index.html       |   534 +
 .../airflow/contrib/hooks/segment_hook/index.html  |   416 +
 .../airflow/contrib/hooks/sftp_hook/index.html     |   495 +
 .../contrib/hooks/slack_webhook_hook/index.html    |   446 +
 .../contrib/hooks/snowflake_hook/index.html        |   446 +
 .../contrib/hooks/spark_jdbc_hook/index.html       |   479 +
 .../contrib/hooks/spark_jdbc_script/index.html     |   411 +
 .../contrib/hooks/spark_sql_hook/index.html        |   458 +
 .../contrib/hooks/spark_submit_hook/index.html     |   568 +
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   557 +
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   461 +
 .../airflow/contrib/hooks/vertica_hook/index.html  |   419 +
 .../airflow/contrib/hooks/wasb_hook/index.html     |   542 +
 .../airflow/contrib/hooks/winrm_hook/index.html    |   445 +
 .../operators/adls_list_operator/index.html        |   447 +
 .../contrib/operators/adls_to_gcs/index.html       |   479 +
 .../operators/aws_athena_operator/index.html       |   452 +
 .../operators/aws_sqs_publish_operator/index.html  |   448 +
 .../contrib/operators/awsbatch_operator/index.html |   485 +
 .../azure_container_instances_operator/index.html  |   521 +
 .../operators/azure_cosmos_operator/index.html     |   432 +
 .../operators/bigquery_check_operator/index.html   |   521 +
 .../contrib/operators/bigquery_get_data/index.html |   461 +
 .../contrib/operators/bigquery_operator/index.html |   924 ++
 .../bigquery_table_delete_operator/index.html      |   436 +
 .../operators/bigquery_to_bigquery/index.html      |   460 +
 .../contrib/operators/bigquery_to_gcs/index.html   |   455 +
 .../contrib/operators/cassandra_to_gcs/index.html  |   573 +
 .../operators/databricks_operator/index.html       |   763 ++
 .../contrib/operators/dataflow_operator/index.html |   687 ++
 .../contrib/operators/dataproc_operator/index.html |  1076 ++
 .../operators/datastore_export_operator/index.html |   435 +
 .../operators/datastore_import_operator/index.html |   433 +
 .../contrib/operators/dingding_operator/index.html |   437 +
 .../operators/discord_webhook_operator/index.html  |   439 +
 .../contrib/operators/druid_operator/index.html    |   430 +
 .../contrib/operators/ecs_operator/index.html      |   488 +
 .../operators/emr_add_steps_operator/index.html    |   435 +
 .../emr_create_job_flow_operator/index.html        |   438 +
 .../emr_terminate_job_flow_operator/index.html     |   434 +
 .../contrib/operators/file_to_gcs/index.html       |   431 +
 .../contrib/operators/file_to_wasb/index.html      |   429 +
 .../operators/gcp_bigtable_operator/index.html     |   680 ++
 .../operators/gcp_cloud_build_operator/index.html  |   514 +
 .../operators/gcp_compute_operator/index.html      |   664 ++
 .../operators/gcp_container_operator/index.html    |   594 ++
 .../contrib/operators/gcp_dlp_operator/index.html  |  1595 +++
 .../operators/gcp_function_operator/index.html     |   619 ++
 .../gcp_natural_language_operator/index.html       |   554 +
 .../operators/gcp_spanner_operator/index.html      |   657 ++
 .../gcp_speech_to_text_operator/index.html         |   445 +
 .../contrib/operators/gcp_sql_operator/index.html  |   891 ++
 .../gcp_text_to_speech_operator/index.html         |   449 +
 .../operators/gcp_transfer_operator/index.html     |   954 ++
 .../operators/gcp_translate_operator/index.html    |   452 +
 .../gcp_translate_speech_operator/index.html       |   465 +
 .../gcp_video_intelligence_operator/index.html     |   539 +
 .../operators/gcp_vision_operator/index.html       |  1137 ++
 .../contrib/operators/gcs_acl_operator/index.html  |   480 +
 .../operators/gcs_delete_operator/index.html       |   434 +
 .../operators/gcs_download_operator/index.html     |   446 +
 .../contrib/operators/gcs_list_operator/index.html |   456 +
 .../contrib/operators/gcs_operator/index.html      |   478 +
 .../airflow/contrib/operators/gcs_to_bq/index.html |   516 +
 .../contrib/operators/gcs_to_gcs/index.html        |   511 +
 .../airflow/contrib/operators/gcs_to_s3/index.html |   465 +
 .../contrib/operators/hipchat_operator/index.html  |   469 +
 .../contrib/operators/hive_to_dynamodb/index.html  |   444 +
 .../imap_attachment_to_s3_operator/index.html      |   435 +
 1.10.6/_api/airflow/contrib/operators/index.html   |   513 +
 .../jenkins_job_trigger_operator/index.html        |   514 +
 .../contrib/operators/jira_operator/index.html     |   429 +
 .../operators/kubernetes_pod_operator/index.html   |   474 +
 .../contrib/operators/mlengine_operator/index.html |   656 ++
 .../contrib/operators/mongo_to_s3/index.html       |   445 +
 .../contrib/operators/mssql_to_gcs/index.html      |   465 +
 .../contrib/operators/mysql_to_gcs/index.html      |   462 +
 .../operators/opsgenie_alert_operator/index.html   |   458 +
 .../oracle_to_azure_data_lake_transfer/index.html  |   443 +
 .../operators/oracle_to_oracle_transfer/index.html |   439 +
 .../operators/postgres_to_gcs_operator/index.html  |   447 +
 .../contrib/operators/pubsub_operator/index.html   |   640 ++
 .../operators/qubole_check_operator/index.html     |   586 +
 .../contrib/operators/qubole_operator/index.html   |   744 ++
 .../operators/redis_publish_operator/index.html    |   431 +
 .../operators/s3_copy_object_operator/index.html   |   457 +
 .../s3_delete_objects_operator/index.html          |   451 +
 .../contrib/operators/s3_list_operator/index.html  |   467 +
 .../operators/s3_to_gcs_operator/index.html        |   480 +
 .../operators/s3_to_sftp_operator/index.html       |   439 +
 .../operators/sagemaker_base_operator/index.html   |   459 +
 .../sagemaker_endpoint_config_operator/index.html  |   427 +
 .../sagemaker_endpoint_operator/index.html         |   456 +
 .../operators/sagemaker_model_operator/index.html  |   427 +
 .../sagemaker_training_operator/index.html         |   440 +
 .../sagemaker_transform_operator/index.html        |   452 +
 .../operators/sagemaker_tuning_operator/index.html |   439 +
 .../segment_track_event_operator/index.html        |   433 +
 .../contrib/operators/sftp_operator/index.html     |   487 +
 .../operators/sftp_to_s3_operator/index.html       |   440 +
 .../operators/slack_webhook_operator/index.html    |   440 +
 .../operators/snowflake_operator/index.html        |   449 +
 .../operators/sns_publish_operator/index.html      |   430 +
 .../operators/spark_jdbc_operator/index.html       |   480 +
 .../operators/spark_sql_operator/index.html        |   447 +
 .../operators/spark_submit_operator/index.html     |   467 +
 .../contrib/operators/sql_to_gcs/index.html        |   536 +
 .../contrib/operators/sqoop_operator/index.html    |   431 +
 .../contrib/operators/ssh_operator/index.html      |   444 +
 .../contrib/operators/vertica_operator/index.html  |   436 +
 .../contrib/operators/vertica_to_hive/index.html   |   458 +
 .../contrib/operators/vertica_to_mysql/index.html  |   448 +
 .../operators/wasb_delete_blob_operator/index.html |   430 +
 .../contrib/operators/winrm_operator/index.html    |   428 +
 .../contrib/sensors/aws_athena_sensor/index.html   |   459 +
 .../aws_glue_catalog_partition_sensor/index.html   |   449 +
 .../sensors/aws_redshift_cluster_sensor/index.html |   424 +
 .../contrib/sensors/aws_sqs_sensor/index.html      |   437 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |   424 +
 .../airflow/contrib/sensors/bash_sensor/index.html |   432 +
 .../contrib/sensors/bigquery_sensor/index.html     |   438 +
 .../sensors/cassandra_record_sensor/index.html     |   425 +
 .../sensors/cassandra_table_sensor/index.html      |   423 +
 .../contrib/sensors/datadog_sensor/index.html      |   427 +
 .../contrib/sensors/emr_base_sensor/index.html     |   418 +
 .../contrib/sensors/emr_job_flow_sensor/index.html |   447 +
 .../contrib/sensors/emr_step_sensor/index.html     |   450 +
 .../airflow/contrib/sensors/file_sensor/index.html |   433 +
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   452 +
 .../contrib/sensors/gcp_transfer_sensor/index.html |   432 +
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   593 ++
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   433 +
 .../sensors/imap_attachment_sensor/index.html      |   443 +
 1.10.6/_api/airflow/contrib/sensors/index.html     |   435 +
 .../airflow/contrib/sensors/jira_sensor/index.html |   454 +
 .../contrib/sensors/mongo_sensor/index.html        |   423 +
 .../contrib/sensors/pubsub_sensor/index.html       |   436 +
 .../contrib/sensors/python_sensor/index.html       |   440 +
 .../contrib/sensors/qubole_sensor/index.html       |   468 +
 .../contrib/sensors/redis_key_sensor/index.html    |   421 +
 .../sensors/redis_pub_sub_sensor/index.html        |   431 +
 .../sensors/sagemaker_base_sensor/index.html       |   444 +
 .../sensors/sagemaker_endpoint_sensor/index.html   |   447 +
 .../sensors/sagemaker_training_sensor/index.html   |   455 +
 .../sensors/sagemaker_transform_sensor/index.html  |   448 +
 .../sensors/sagemaker_tuning_sensor/index.html     |   448 +
 .../airflow/contrib/sensors/sftp_sensor/index.html |   424 +
 .../airflow/contrib/sensors/wasb_sensor/index.html |   455 +
 .../contrib/sensors/weekday_sensor/index.html      |   462 +
 .../airflow/executors/base_executor/index.html     |   510 +
 .../airflow/executors/celery_executor/index.html   |   527 +
 .../airflow/executors/dask_executor/index.html     |   428 +
 1.10.6/_api/airflow/executors/index.html           |   747 ++
 .../airflow/executors/local_executor/index.html    |   552 +
 .../executors/sequential_executor/index.html       |   417 +
 1.10.6/_api/airflow/hooks/S3_hook/index.html       |   722 ++
 1.10.6/_api/airflow/hooks/base_hook/index.html     |   452 +
 1.10.6/_api/airflow/hooks/dbapi_hook/index.html    |   597 ++
 1.10.6/_api/airflow/hooks/docker_hook/index.html   |   414 +
 1.10.6/_api/airflow/hooks/druid_hook/index.html    |   472 +
 1.10.6/_api/airflow/hooks/hdfs_hook/index.html     |   424 +
 1.10.6/_api/airflow/hooks/hive_hooks/index.html    |   880 ++
 1.10.6/_api/airflow/hooks/http_hook/index.html     |   493 +
 1.10.6/_api/airflow/hooks/index.html               |   433 +
 1.10.6/_api/airflow/hooks/jdbc_hook/index.html     |   435 +
 1.10.6/_api/airflow/hooks/mssql_hook/index.html    |   429 +
 1.10.6/_api/airflow/hooks/mysql_hook/index.html    |   490 +
 1.10.6/_api/airflow/hooks/oracle_hook/index.html   |   485 +
 1.10.6/_api/airflow/hooks/pig_hook/index.html      |   418 +
 1.10.6/_api/airflow/hooks/postgres_hook/index.html |   486 +
 1.10.6/_api/airflow/hooks/presto_hook/index.html   |   477 +
 1.10.6/_api/airflow/hooks/samba_hook/index.html    |   408 +
 1.10.6/_api/airflow/hooks/slack_hook/index.html    |   408 +
 1.10.6/_api/airflow/hooks/sqlite_hook/index.html   |   419 +
 1.10.6/_api/airflow/hooks/webhdfs_hook/index.html  |   479 +
 1.10.6/_api/airflow/hooks/zendesk_hook/index.html  |   432 +
 1.10.6/_api/airflow/models/base/index.html         |   411 +
 1.10.6/_api/airflow/models/baseoperator/index.html |   993 ++
 1.10.6/_api/airflow/models/chart/index.html        |   487 +
 1.10.6/_api/airflow/models/connection/index.html   |   532 +
 1.10.6/_api/airflow/models/crypto/index.html       |   445 +
 1.10.6/_api/airflow/models/dag/index.html          |  1242 +++
 1.10.6/_api/airflow/models/dagbag/index.html       |   518 +
 1.10.6/_api/airflow/models/dagpickle/index.html    |   429 +
 1.10.6/_api/airflow/models/dagrun/index.html       |   616 ++
 1.10.6/_api/airflow/models/errors/index.html       |   422 +
 1.10.6/_api/airflow/models/index.html              |  3767 +++++++
 1.10.6/_api/airflow/models/knownevent/index.html   |   478 +
 1.10.6/_api/airflow/models/kubernetes/index.html   |   458 +
 1.10.6/_api/airflow/models/log/index.html          |   448 +
 1.10.6/_api/airflow/models/pool/index.html         |   471 +
 1.10.6/_api/airflow/models/skipmixin/index.html    |   421 +
 1.10.6/_api/airflow/models/slamiss/index.html      |   450 +
 1.10.6/_api/airflow/models/taskfail/index.html     |   445 +
 1.10.6/_api/airflow/models/taskinstance/index.html |   931 ++
 .../_api/airflow/models/taskreschedule/index.html  |   467 +
 1.10.6/_api/airflow/models/user/index.html         |   437 +
 1.10.6/_api/airflow/models/variable/index.html     |   488 +
 1.10.6/_api/airflow/models/xcom/index.html         |   507 +
 .../airflow/operators/bash_operator/index.html     |   453 +
 .../airflow/operators/branch_operator/index.html   |   433 +
 .../airflow/operators/check_operator/index.html    |   599 ++
 .../airflow/operators/dagrun_operator/index.html   |   444 +
 .../airflow/operators/docker_operator/index.html   |   514 +
 .../operators/druid_check_operator/index.html      |   458 +
 .../airflow/operators/dummy_operator/index.html    |   417 +
 .../airflow/operators/email_operator/index.html    |   442 +
 .../airflow/operators/generic_transfer/index.html  |   442 +
 .../airflow/operators/hive_operator/index.html     |   471 +
 .../operators/hive_stats_operator/index.html       |   453 +
 .../airflow/operators/hive_to_druid/index.html     |   467 +
 .../airflow/operators/hive_to_mysql/index.html     |   450 +
 .../operators/hive_to_samba_operator/index.html    |   431 +
 .../airflow/operators/http_operator/index.html     |   448 +
 1.10.6/_api/airflow/operators/index.html           |  1006 ++
 .../airflow/operators/jdbc_operator/index.html     |   440 +
 .../operators/latest_only_operator/index.html      |   421 +
 .../airflow/operators/mssql_operator/index.html    |   439 +
 .../airflow/operators/mssql_to_hive/index.html     |   460 +
 .../airflow/operators/mysql_operator/index.html    |   441 +
 .../airflow/operators/mysql_to_hive/index.html     |   459 +
 .../airflow/operators/oracle_operator/index.html   |   440 +
 .../operators/papermill_operator/index.html        |   436 +
 .../_api/airflow/operators/pig_operator/index.html |   455 +
 .../airflow/operators/postgres_operator/index.html |   440 +
 .../operators/presto_check_operator/index.html     |   485 +
 .../airflow/operators/presto_to_mysql/index.html   |   443 +
 .../airflow/operators/python_operator/index.html   |   605 ++
 .../operators/redshift_to_s3_operator/index.html   |   462 +
 .../s3_file_transform_operator/index.html          |   469 +
 .../operators/s3_to_hive_operator/index.html       |   498 +
 .../operators/s3_to_redshift_operator/index.html   |   457 +
 1.10.6/_api/airflow/operators/sensors/index.html   |   471 +
 .../airflow/operators/slack_operator/index.html    |   472 +
 .../airflow/operators/sqlite_operator/index.html   |   436 +
 .../airflow/operators/subdag_operator/index.html   |   432 +
 .../sensors/base_sensor_operator/index.html        |   474 +
 .../sensors/external_task_sensor/index.html        |   445 +
 1.10.6/_api/airflow/sensors/hdfs_sensor/index.html |   459 +
 .../sensors/hive_partition_sensor/index.html       |   438 +
 1.10.6/_api/airflow/sensors/http_sensor/index.html |   435 +
 1.10.6/_api/airflow/sensors/index.html             |   434 +
 .../sensors/metastore_partition_sensor/index.html  |   438 +
 .../sensors/named_hive_partition_sensor/index.html |   446 +
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   448 +
 .../airflow/sensors/s3_prefix_sensor/index.html    |   450 +
 1.10.6/_api/airflow/sensors/sql_sensor/index.html  |   456 +
 .../airflow/sensors/time_delta_sensor/index.html   |   419 +
 1.10.6/_api/airflow/sensors/time_sensor/index.html |   416 +
 .../airflow/sensors/web_hdfs_sensor/index.html     |   416 +
 1.10.6/_api/index.html                             |   521 +
 1.10.6/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.6/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.6/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.6/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.6/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.6/_images/branch_with_trigger.png             |   Bin 0 -> 34081 bytes
 1.10.6/_images/branch_without_trigger.png          |   Bin 0 -> 39815 bytes
 1.10.6/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.6/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 1.10.6/_images/cli_completion.gif                  |   Bin 0 -> 775263 bytes
 1.10.6/_images/code.png                            |   Bin 0 -> 285906 bytes
 1.10.6/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.6/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.6/_images/connections.png                     |   Bin 0 -> 48442 bytes
 1.10.6/_images/context.png                         |   Bin 0 -> 149588 bytes
 1.10.6/_images/dags.png                            |   Bin 0 -> 217069 bytes
 1.10.6/_images/duration.png                        |   Bin 0 -> 250846 bytes
 1.10.6/_images/gantt.png                           |   Bin 0 -> 121795 bytes
 1.10.6/_images/graph.png                           |   Bin 0 -> 152205 bytes
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44547 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     2 +
 1.10.6/_images/latest_only_with_trigger.png        |   Bin 0 -> 49510 bytes
 1.10.6/_images/operator_extra_link.png             |   Bin 0 -> 276679 bytes
 1.10.6/_images/pin_large.png                       |   Bin 0 -> 24922 bytes
 1.10.6/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.6/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.6/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 1.10.6/_images/task_lifecycle.png                  |   Bin 0 -> 12919 bytes
 1.10.6/_images/task_manual_vs_scheduled.png        |   Bin 0 -> 5806 bytes
 1.10.6/_images/tree.png                            |   Bin 0 -> 128024 bytes
 1.10.6/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 1.10.6/_modules/airflow/configuration.html         |  1005 ++
 .../example_dags/example_dingding_operator.html    |   563 +
 .../example_gcp_bigtable_operators.html            |   546 +
 .../example_dags/example_gcp_cloud_build.html      |   447 +
 .../contrib/example_dags/example_gcp_compute.html  |   455 +
 .../example_dags/example_gcp_compute_igm.html      |   485 +
 .../contrib/example_dags/example_gcp_function.html |   474 +
 .../example_dags/example_gcp_natural_language.html |   455 +
 .../contrib/example_dags/example_gcp_spanner.html  |   539 +
 .../contrib/example_dags/example_gcp_speech.html   |   443 +
 .../contrib/example_dags/example_gcp_sql.html      |   764 ++
 .../example_dags/example_gcp_sql_query.html        |   635 ++
 .../contrib/example_dags/example_gcp_transfer.html |   594 ++
 .../example_dags/example_gcp_translate.html        |   393 +
 .../example_gcp_video_intelligence.html            |   463 +
 .../contrib/example_dags/example_gcp_vision.html   |   825 ++
 .../contrib/example_dags/example_gcs_acl.html      |   417 +
 .../example_dags/example_gcs_to_bq_operator.html   |   408 +
 .../example_dags/example_papermill_operator.html   |   392 +
 .../contrib/executors/kubernetes_executor.html     |  1246 +++
 .../airflow/contrib/executors/mesos_executor.html  |   667 ++
 1.10.6/_modules/airflow/contrib/hooks.html         |   411 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   516 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   417 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   403 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   495 +
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   558 +
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   415 +
 .../airflow/contrib/hooks/aws_logs_hook.html       |   446 +
 .../airflow/contrib/hooks/aws_sns_hook.html        |   407 +
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   417 +
 .../hooks/azure_container_instance_hook.html       |   524 +
 .../hooks/azure_container_registry_hook.html       |   382 +
 .../contrib/hooks/azure_container_volume_hook.html |   397 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   630 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   484 +
 .../contrib/hooks/azure_fileshare_hook.html        |   555 +
 .../airflow/contrib/hooks/bigquery_hook.html       |  2615 +++++
 .../airflow/contrib/hooks/cassandra_hook.html      |   543 +
 .../airflow/contrib/hooks/cloudant_hook.html       |   426 +
 .../airflow/contrib/hooks/databricks_hook.html     |   621 ++
 .../airflow/contrib/hooks/datadog_hook.html        |   501 +
 .../airflow/contrib/hooks/datastore_hook.html      |   682 ++
 .../airflow/contrib/hooks/dingding_hook.html       |   477 +
 .../contrib/hooks/discord_webhook_hook.html        |   483 +
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   400 +
 1.10.6/_modules/airflow/contrib/hooks/fs_hook.html |   389 +
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   663 ++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   689 ++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   605 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   474 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   682 ++
 .../airflow/contrib/hooks/gcp_container_hook.html  |   590 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   639 ++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   692 ++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2122 ++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |   540 +
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   451 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   618 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |   566 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   627 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   692 ++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   417 +
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1346 +++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   424 +
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   739 ++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   441 +
 .../contrib/hooks/gcp_video_intelligence_hook.html |   449 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   923 ++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   938 ++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   478 +
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   659 ++
 .../airflow/contrib/hooks/jenkins_hook.html        |   391 +
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   429 +
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   640 ++
 .../airflow/contrib/hooks/openfaas_hook.html       |   442 +
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   431 +
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   448 +
 .../airflow/contrib/hooks/qubole_check_hook.html   |   460 +
 .../airflow/contrib/hooks/qubole_hook.html         |   627 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   409 +
 .../airflow/contrib/hooks/redshift_hook.html       |   456 +
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1083 ++
 .../airflow/contrib/hooks/salesforce_hook.html     |   668 ++
 .../airflow/contrib/hooks/segment_hook.html        |   433 +
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   557 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   483 +
 .../airflow/contrib/hooks/snowflake_hook.html      |   477 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   589 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   489 +
 .../airflow/contrib/hooks/spark_sql_hook.html      |   507 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   936 ++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   698 ++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   606 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   396 +
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   534 +
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   577 +
 1.10.6/_modules/airflow/contrib/operators.html     |   394 +
 .../contrib/operators/adls_list_operator.html      |   415 +
 .../airflow/contrib/operators/adls_to_gcs.html     |   501 +
 .../contrib/operators/aws_athena_operator.html     |   463 +
 .../operators/aws_sqs_publish_operator.html        |   424 +
 .../contrib/operators/awsbatch_operator.html       |   538 +
 .../azure_container_instances_operator.html        |   688 ++
 .../contrib/operators/azure_cosmos_operator.html   |   412 +
 .../contrib/operators/bigquery_check_operator.html |   496 +
 .../contrib/operators/bigquery_get_data.html       |   459 +
 .../contrib/operators/bigquery_operator.html       |  1231 +++
 .../operators/bigquery_table_delete_operator.html  |   411 +
 .../contrib/operators/bigquery_to_bigquery.html    |   448 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   448 +
 .../contrib/operators/cassandra_to_gcs.html        |   706 ++
 .../contrib/operators/databricks_operator.html     |   829 ++
 .../contrib/operators/dataflow_operator.html       |   771 ++
 .../contrib/operators/dataproc_operator.html       |  1575 +++
 .../operators/datastore_export_operator.html       |   453 +
 .../operators/datastore_import_operator.html       |   441 +
 .../contrib/operators/dingding_operator.html       |   417 +
 .../operators/discord_webhook_operator.html        |   441 +
 .../airflow/contrib/operators/druid_operator.html  |   407 +
 .../airflow/contrib/operators/ecs_operator.html    |   564 +
 .../contrib/operators/emr_add_steps_operator.html  |   406 +
 .../operators/emr_create_job_flow_operator.html    |   417 +
 .../operators/emr_terminate_job_flow_operator.html |   400 +
 .../airflow/contrib/operators/file_to_gcs.html     |   425 +
 .../airflow/contrib/operators/file_to_wasb.html    |   407 +
 .../contrib/operators/gcp_bigtable_operator.html   |   834 ++
 .../operators/gcp_cloud_build_operator.html        |   539 +
 .../contrib/operators/gcp_compute_operator.html    |   827 ++
 .../contrib/operators/gcp_container_operator.html  |   667 ++
 .../contrib/operators/gcp_dlp_operator.html        |  2464 +++++
 .../contrib/operators/gcp_function_operator.html   |   671 ++
 .../operators/gcp_natural_language_operator.html   |   605 ++
 .../contrib/operators/gcp_spanner_operator.html    |   775 ++
 .../operators/gcp_speech_to_text_operator.html     |   433 +
 .../contrib/operators/gcp_sql_operator.html        |  1149 ++
 .../operators/gcp_text_to_speech_operator.html     |   472 +
 .../contrib/operators/gcp_transfer_operator.html   |  1148 ++
 .../contrib/operators/gcp_translate_operator.html  |   456 +
 .../operators/gcp_translate_speech_operator.html   |   502 +
 .../operators/gcp_video_intelligence_operator.html |   607 ++
 .../contrib/operators/gcp_vision_operator.html     |  1598 +++
 .../contrib/operators/gcs_acl_operator.html        |   477 +
 .../contrib/operators/gcs_delete_operator.html     |   426 +
 .../contrib/operators/gcs_download_operator.html   |   439 +
 .../contrib/operators/gcs_list_operator.html       |   437 +
 .../airflow/contrib/operators/gcs_operator.html    |   474 +
 .../airflow/contrib/operators/gcs_to_bq.html       |   635 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |   542 +
 .../airflow/contrib/operators/gcs_to_s3.html       |   483 +
 .../contrib/operators/hipchat_operator.html        |   478 +
 .../contrib/operators/hive_to_dynamodb.html        |   452 +
 .../operators/imap_attachment_to_s3_operator.html  |   433 +
 .../operators/jenkins_job_trigger_operator.html    |   587 +
 .../airflow/contrib/operators/jira_operator.html   |   437 +
 .../contrib/operators/kubernetes_pod_operator.html |   582 +
 .../contrib/operators/mlengine_operator.html       |   977 ++
 .../airflow/contrib/operators/mongo_to_s3.html     |   470 +
 .../airflow/contrib/operators/mssql_to_gcs.html    |   439 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   475 +
 .../contrib/operators/opsgenie_alert_operator.html |   474 +
 .../oracle_to_azure_data_lake_transfer.html        |   458 +
 .../operators/oracle_to_oracle_transfer.html       |   434 +
 .../operators/postgres_to_gcs_operator.html        |   447 +
 .../airflow/contrib/operators/pubsub_operator.html |   776 ++
 .../contrib/operators/qubole_check_operator.html   |   571 +
 .../airflow/contrib/operators/qubole_operator.html |   566 +
 .../contrib/operators/redis_publish_operator.html  |   409 +
 .../contrib/operators/s3_copy_object_operator.html |   439 +
 .../operators/s3_delete_objects_operator.html      |   430 +
 .../contrib/operators/s3_list_operator.html        |   442 +
 .../contrib/operators/s3_to_gcs_operator.html      |   555 +
 .../contrib/operators/s3_to_sftp_operator.html     |   428 +
 .../contrib/operators/sagemaker_base_operator.html |   445 +
 .../sagemaker_endpoint_config_operator.html        |   409 +
 .../operators/sagemaker_endpoint_operator.html     |   493 +
 .../operators/sagemaker_model_operator.html        |   410 +
 .../operators/sagemaker_training_operator.html     |   441 +
 .../operators/sagemaker_transform_operator.html    |   467 +
 .../operators/sagemaker_tuning_operator.html       |   442 +
 .../operators/segment_track_event_operator.html    |   415 +
 .../airflow/contrib/operators/sftp_operator.html   |   523 +
 .../contrib/operators/sftp_to_s3_operator.html     |   434 +
 .../contrib/operators/slack_webhook_operator.html  |   450 +
 .../contrib/operators/snowflake_operator.html      |   420 +
 .../contrib/operators/sns_publish_operator.html    |   408 +
 .../contrib/operators/spark_jdbc_operator.html     |   557 +
 .../contrib/operators/spark_sql_operator.html      |   454 +
 .../contrib/operators/spark_submit_operator.html   |   527 +
 .../airflow/contrib/operators/sql_to_gcs.html      |   620 ++
 .../airflow/contrib/operators/sqoop_operator.html  |   581 +
 .../airflow/contrib/operators/ssh_operator.html    |   522 +
 .../contrib/operators/vertica_operator.html        |   392 +
 .../airflow/contrib/operators/vertica_to_hive.html |   482 +
 .../contrib/operators/vertica_to_mysql.html        |   498 +
 .../operators/wasb_delete_blob_operator.html       |   413 +
 .../airflow/contrib/operators/winrm_operator.html  |   492 +
 .../airflow/contrib/sensors/aws_athena_sensor.html |   420 +
 .../sensors/aws_glue_catalog_partition_sensor.html |   434 +
 .../sensors/aws_redshift_cluster_sensor.html       |   393 +
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   434 +
 .../contrib/sensors/azure_cosmos_sensor.html       |   408 +
 .../airflow/contrib/sensors/bash_sensor.html       |   431 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |   411 +
 .../contrib/sensors/cassandra_record_sensor.html   |   402 +
 .../contrib/sensors/cassandra_table_sensor.html    |   397 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   424 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |   401 +
 .../contrib/sensors/emr_job_flow_sensor.html       |   404 +
 .../airflow/contrib/sensors/emr_step_sensor.html   |   408 +
 .../airflow/contrib/sensors/file_sensor.html       |   412 +
 .../airflow/contrib/sensors/ftp_sensor.html        |   441 +
 .../contrib/sensors/gcp_transfer_sensor.html       |   421 +
 .../airflow/contrib/sensors/gcs_sensor.html        |   655 ++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   415 +
 .../contrib/sensors/imap_attachment_sensor.html    |   417 +
 .../airflow/contrib/sensors/jira_sensor.html       |   492 +
 .../airflow/contrib/sensors/mongo_sensor.html      |   399 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   446 +
 .../airflow/contrib/sensors/python_sensor.html     |   421 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   453 +
 .../airflow/contrib/sensors/redis_key_sensor.html  |   380 +
 .../contrib/sensors/redis_pub_sub_sensor.html      |   414 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   415 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   402 +
 .../contrib/sensors/sagemaker_training_sensor.html |   443 +
 .../sensors/sagemaker_transform_sensor.html        |   403 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   403 +
 .../airflow/contrib/sensors/sftp_sensor.html       |   393 +
 .../airflow/contrib/sensors/wasb_sensor.html       |   436 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   446 +
 .../example_dags/example_bash_operator.html        |   414 +
 .../example_dags/example_python_operator.html      |   415 +
 1.10.6/_modules/airflow/exceptions.html            |   456 +
 1.10.6/_modules/airflow/executors.html             |   440 +
 .../_modules/airflow/executors/base_executor.html  |   555 +
 .../airflow/executors/celery_executor.html         |   637 ++
 .../_modules/airflow/executors/dask_executor.html  |   440 +
 .../_modules/airflow/executors/local_executor.html |   577 +
 .../airflow/executors/sequential_executor.html     |   400 +
 1.10.6/_modules/airflow/hooks.html                 |   437 +
 1.10.6/_modules/airflow/hooks/S3_hook.html         |   886 ++
 1.10.6/_modules/airflow/hooks/base_hook.html       |   445 +
 1.10.6/_modules/airflow/hooks/dbapi_hook.html      |   648 ++
 1.10.6/_modules/airflow/hooks/docker_hook.html     |   431 +
 1.10.6/_modules/airflow/hooks/druid_hook.html      |   508 +
 1.10.6/_modules/airflow/hooks/hdfs_hook.html       |   441 +
 1.10.6/_modules/airflow/hooks/hive_hooks.html      |  1347 +++
 1.10.6/_modules/airflow/hooks/http_hook.html       |   556 +
 1.10.6/_modules/airflow/hooks/jdbc_hook.html       |   404 +
 1.10.6/_modules/airflow/hooks/mssql_hook.html      |   398 +
 1.10.6/_modules/airflow/hooks/mysql_hook.html      |   517 +
 1.10.6/_modules/airflow/hooks/oracle_hook.html     |   574 +
 1.10.6/_modules/airflow/hooks/pig_hook.html        |   443 +
 1.10.6/_modules/airflow/hooks/postgres_hook.html   |   505 +
 1.10.6/_modules/airflow/hooks/presto_hook.html     |   483 +
 1.10.6/_modules/airflow/hooks/samba_hook.html      |   395 +
 1.10.6/_modules/airflow/hooks/slack_hook.html      |   405 +
 1.10.6/_modules/airflow/hooks/sqlite_hook.html     |   384 +
 1.10.6/_modules/airflow/hooks/webhdfs_hook.html    |   475 +
 1.10.6/_modules/airflow/hooks/zendesk_hook.html    |   455 +
 1.10.6/_modules/airflow/macros.html                |   451 +
 1.10.6/_modules/airflow/macros/hive.html           |   465 +
 1.10.6/_modules/airflow/models.html                |   383 +
 1.10.6/_modules/airflow/models/base.html           |   378 +
 1.10.6/_modules/airflow/models/baseoperator.html   |  1458 +++
 1.10.6/_modules/airflow/models/chart.html          |   393 +
 1.10.6/_modules/airflow/models/connection.html     |   642 ++
 1.10.6/_modules/airflow/models/crypto.html         |   440 +
 1.10.6/_modules/airflow/models/dag.html            |  1980 ++++
 1.10.6/_modules/airflow/models/dagbag.html         |   766 ++
 1.10.6/_modules/airflow/models/dagpickle.html      |   395 +
 1.10.6/_modules/airflow/models/dagrun.html         |   790 ++
 1.10.6/_modules/airflow/models/errors.html         |   374 +
 1.10.6/_modules/airflow/models/knownevent.html     |   397 +
 1.10.6/_modules/airflow/models/kubernetes.html     |   422 +
 1.10.6/_modules/airflow/models/log.html            |   411 +
 1.10.6/_modules/airflow/models/pool.html           |   452 +
 1.10.6/_modules/airflow/models/skipmixin.html      |   445 +
 1.10.6/_modules/airflow/models/slamiss.html        |   391 +
 1.10.6/_modules/airflow/models/taskfail.html       |   398 +
 1.10.6/_modules/airflow/models/taskinstance.html   |  1753 +++
 1.10.6/_modules/airflow/models/taskreschedule.html |   428 +
 1.10.6/_modules/airflow/models/user.html           |   383 +
 1.10.6/_modules/airflow/models/variable.html       |   495 +
 1.10.6/_modules/airflow/models/xcom.html           |   577 +
 1.10.6/_modules/airflow/operators.html             |   464 +
 .../_modules/airflow/operators/bash_operator.html  |   486 +
 .../airflow/operators/branch_operator.html         |   395 +
 .../_modules/airflow/operators/check_operator.html |   677 ++
 .../airflow/operators/dagrun_operator.html         |   440 +
 .../airflow/operators/docker_operator.html         |   637 ++
 .../airflow/operators/druid_check_operator.html    |   434 +
 .../_modules/airflow/operators/dummy_operator.html |   380 +
 .../_modules/airflow/operators/email_operator.html |   421 +
 .../airflow/operators/generic_transfer.html        |   424 +
 .../_modules/airflow/operators/hive_operator.html  |   485 +
 .../airflow/operators/hive_stats_operator.html     |   527 +
 .../_modules/airflow/operators/hive_to_druid.html  |   589 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   457 +
 .../airflow/operators/hive_to_samba_operator.html  |   410 +
 .../_modules/airflow/operators/http_operator.html  |   442 +
 .../_modules/airflow/operators/jdbc_operator.html  |   406 +
 .../airflow/operators/latest_only_operator.html    |   411 +
 .../_modules/airflow/operators/mssql_operator.html |   406 +
 .../_modules/airflow/operators/mssql_to_hive.html  |   482 +
 .../_modules/airflow/operators/mysql_operator.html |   410 +
 .../_modules/airflow/operators/mysql_to_hive.html  |   487 +
 .../airflow/operators/oracle_operator.html         |   406 +
 .../airflow/operators/papermill_operator.html      |   401 +
 .../_modules/airflow/operators/pig_operator.html   |   420 +
 .../airflow/operators/postgres_operator.html       |   410 +
 .../airflow/operators/presto_check_operator.html   |   470 +
 .../airflow/operators/presto_to_mysql.html         |   423 +
 .../airflow/operators/python_operator.html         |   759 ++
 .../airflow/operators/redshift_to_s3_operator.html |   464 +
 .../operators/s3_file_transform_operator.html      |   511 +
 .../airflow/operators/s3_to_hive_operator.html     |   640 ++
 .../airflow/operators/s3_to_redshift_operator.html |   452 +
 1.10.6/_modules/airflow/operators/sensors.html     |   437 +
 .../_modules/airflow/operators/slack_operator.html |   481 +
 .../airflow/operators/sqlite_operator.html         |   397 +
 .../airflow/operators/subdag_operator.html         |   445 +
 1.10.6/_modules/airflow/sensors.html               |   406 +
 .../airflow/sensors/base_sensor_operator.html      |   484 +
 .../airflow/sensors/external_task_sensor.html      |   497 +
 1.10.6/_modules/airflow/sensors/hdfs_sensor.html   |   466 +
 .../airflow/sensors/hive_partition_sensor.html     |   418 +
 1.10.6/_modules/airflow/sensors/http_sensor.html   |   435 +
 .../sensors/metastore_partition_sensor.html        |   426 +
 .../sensors/named_hive_partition_sensor.html       |   445 +
 1.10.6/_modules/airflow/sensors/s3_key_sensor.html |   436 +
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   425 +
 1.10.6/_modules/airflow/sensors/sql_sensor.html    |   445 +
 .../airflow/sensors/time_delta_sensor.html         |   389 +
 1.10.6/_modules/airflow/sensors/time_sensor.html   |   383 +
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   387 +
 .../_modules/airflow/utils/log/logging_mixin.html  |   547 +
 1.10.6/_modules/index.html                         |   677 ++
 .../_api/airflow/contrib/executors/index.rst.txt   |    16 +
 .../executors/kubernetes_executor/index.rst.txt    |   313 +
 .../contrib/executors/mesos_executor/index.rst.txt |   116 +
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |   125 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    40 +
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    39 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |   108 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |    81 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    44 +
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |    60 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    40 +
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |    67 +
 .../azure_container_instance_hook/index.rst.txt    |   128 +
 .../azure_container_registry_hook/index.rst.txt    |    25 +
 .../azure_container_volume_hook/index.rst.txt      |    30 +
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   124 +
 .../hooks/azure_data_lake_hook/index.rst.txt       |   103 +
 .../hooks/azure_fileshare_hook/index.rst.txt       |   196 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |  1015 ++
 .../contrib/hooks/cassandra_hook/index.rst.txt     |   107 +
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    34 +
 .../contrib/hooks/databricks_hook/index.rst.txt    |   195 +
 .../contrib/hooks/datadog_hook/index.rst.txt       |    94 +
 .../contrib/hooks/datastore_hook/index.rst.txt     |   217 +
 .../contrib/hooks/dingding_hook/index.rst.txt      |    67 +
 .../hooks/discord_webhook_hook/index.rst.txt       |    70 +
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    32 +
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    34 +
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   218 +
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   186 +
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |   178 +
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |    81 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   237 +
 .../contrib/hooks/gcp_container_hook/index.rst.txt |   157 +
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   111 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   179 +
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |   919 ++
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |   137 +
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |    71 +
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |   132 +
 .../hooks/gcp_natural_language_hook/index.rst.txt  |   175 +
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |   174 +
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |   235 +
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |    58 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   535 +
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |    64 +
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   468 +
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |    77 +
 .../gcp_video_intelligence_hook/index.rst.txt      |    72 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   232 +
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   318 +
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |    41 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   235 +
 .../_api/airflow/contrib/hooks/index.rst.txt       |   102 +
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    21 +
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    24 +
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |   218 +
 .../contrib/hooks/openfaas_hook/index.rst.txt      |    72 +
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    54 +
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |    84 +
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |    48 +
 .../contrib/hooks/qubole_hook/index.rst.txt        |   124 +
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    28 +
 .../contrib/hooks/redshift_hook/index.rst.txt      |    79 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   438 +
 .../contrib/hooks/salesforce_hook/index.rst.txt    |   138 +
 .../contrib/hooks/segment_hook/index.rst.txt       |    36 +
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |   124 +
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |    73 +
 .../contrib/hooks/snowflake_hook/index.rst.txt     |    70 +
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |   119 +
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    20 +
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |    76 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |   199 +
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |   154 +
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |    78 +
 .../contrib/hooks/vertica_hook/index.rst.txt       |    38 +
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |   150 +
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |    77 +
 .../operators/adls_list_operator/index.rst.txt     |    51 +
 .../contrib/operators/adls_to_gcs/index.rst.txt    |    89 +
 .../operators/aws_athena_operator/index.rst.txt    |    66 +
 .../aws_sqs_publish_operator/index.rst.txt         |    56 +
 .../operators/awsbatch_operator/index.rst.txt      |    97 +
 .../index.rst.txt                                  |   140 +
 .../operators/azure_cosmos_operator/index.rst.txt  |    41 +
 .../bigquery_check_operator/index.rst.txt          |   127 +
 .../operators/bigquery_get_data/index.rst.txt      |    72 +
 .../operators/bigquery_operator/index.rst.txt      |   564 +
 .../bigquery_table_delete_operator/index.rst.txt   |    45 +
 .../operators/bigquery_to_bigquery/index.rst.txt   |    70 +
 .../operators/bigquery_to_gcs/index.rst.txt        |    68 +
 .../operators/cassandra_to_gcs/index.rst.txt       |   191 +
 .../operators/databricks_operator/index.rst.txt    |   356 +
 .../operators/dataflow_operator/index.rst.txt      |   306 +
 .../operators/dataproc_operator/index.rst.txt      |   741 ++
 .../datastore_export_operator/index.rst.txt        |    50 +
 .../datastore_import_operator/index.rst.txt        |    47 +
 .../operators/dingding_operator/index.rst.txt      |    48 +
 .../discord_webhook_operator/index.rst.txt         |    53 +
 .../contrib/operators/druid_operator/index.rst.txt |    37 +
 .../contrib/operators/ecs_operator/index.rst.txt   |   107 +
 .../operators/emr_add_steps_operator/index.rst.txt |    43 +
 .../emr_create_job_flow_operator/index.rst.txt     |    46 +
 .../emr_terminate_job_flow_operator/index.rst.txt  |    41 +
 .../contrib/operators/file_to_gcs/index.rst.txt    |    44 +
 .../contrib/operators/file_to_wasb/index.rst.txt   |    40 +
 .../operators/gcp_bigtable_operator/index.rst.txt  |   288 +
 .../gcp_cloud_build_operator/index.rst.txt         |   123 +
 .../operators/gcp_compute_operator/index.rst.txt   |   275 +
 .../operators/gcp_container_operator/index.rst.txt |   201 +
 .../operators/gcp_dlp_operator/index.rst.txt       |  1241 +++
 .../operators/gcp_function_operator/index.rst.txt  |   218 +
 .../gcp_natural_language_operator/index.rst.txt    |   155 +
 .../operators/gcp_spanner_operator/index.rst.txt   |   261 +
 .../gcp_speech_to_text_operator/index.rst.txt      |    55 +
 .../operators/gcp_sql_operator/index.rst.txt       |   504 +
 .../gcp_text_to_speech_operator/index.rst.txt      |    62 +
 .../operators/gcp_transfer_operator/index.rst.txt  |   555 +
 .../operators/gcp_translate_operator/index.rst.txt |    68 +
 .../gcp_translate_speech_operator/index.rst.txt    |    88 +
 .../gcp_video_intelligence_operator/index.rst.txt  |   158 +
 .../operators/gcp_vision_operator/index.rst.txt    |   753 ++
 .../operators/gcs_acl_operator/index.rst.txt       |    90 +
 .../operators/gcs_delete_operator/index.rst.txt    |    43 +
 .../operators/gcs_download_operator/index.rst.txt  |    58 +
 .../operators/gcs_list_operator/index.rst.txt      |    63 +
 .../contrib/operators/gcs_operator/index.rst.txt   |    87 +
 .../contrib/operators/gcs_to_bq/index.rst.txt      |   146 +
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |   124 +
 .../contrib/operators/gcs_to_s3/index.rst.txt      |    71 +
 .../operators/hipchat_operator/index.rst.txt       |    80 +
 .../operators/hive_to_dynamodb/index.rst.txt       |    59 +
 .../imap_attachment_to_s3_operator/index.rst.txt   |    46 +
 .../_api/airflow/contrib/operators/index.rst.txt   |   126 +
 .../jenkins_job_trigger_operator/index.rst.txt     |   101 +
 .../contrib/operators/jira_operator/index.rst.txt  |    39 +
 .../kubernetes_pod_operator/index.rst.txt          |   111 +
 .../operators/mlengine_operator/index.rst.txt      |   316 +
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    57 +
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |    73 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |    71 +
 .../opsgenie_alert_operator/index.rst.txt          |    77 +
 .../index.rst.txt                                  |    59 +
 .../oracle_to_oracle_transfer/index.rst.txt        |    51 +
 .../postgres_to_gcs_operator/index.rst.txt         |    60 +
 .../operators/pubsub_operator/index.rst.txt        |   259 +
 .../operators/qubole_check_operator/index.rst.txt  |   183 +
 .../operators/qubole_operator/index.rst.txt        |   229 +
 .../operators/redis_publish_operator/index.rst.txt |    38 +
 .../s3_copy_object_operator/index.rst.txt          |    64 +
 .../s3_delete_objects_operator/index.rst.txt       |    56 +
 .../operators/s3_list_operator/index.rst.txt       |    69 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |    91 +
 .../operators/s3_to_sftp_operator/index.rst.txt    |    50 +
 .../sagemaker_base_operator/index.rst.txt          |    66 +
 .../index.rst.txt                                  |    35 +
 .../sagemaker_endpoint_operator/index.rst.txt      |    72 +
 .../sagemaker_model_operator/index.rst.txt         |    35 +
 .../sagemaker_training_operator/index.rst.txt      |    52 +
 .../sagemaker_transform_operator/index.rst.txt     |    65 +
 .../sagemaker_tuning_operator/index.rst.txt        |    50 +
 .../segment_track_event_operator/index.rst.txt     |    43 +
 .../contrib/operators/sftp_operator/index.rst.txt  |    89 +
 .../operators/sftp_to_s3_operator/index.rst.txt    |    51 +
 .../operators/slack_webhook_operator/index.rst.txt |    57 +
 .../operators/snowflake_operator/index.rst.txt     |    59 +
 .../operators/sns_publish_operator/index.rst.txt   |    38 +
 .../operators/spark_jdbc_operator/index.rst.txt    |   113 +
 .../operators/spark_sql_operator/index.rst.txt     |    65 +
 .../operators/spark_submit_operator/index.rst.txt  |    97 +
 .../contrib/operators/sql_to_gcs/index.rst.txt     |   157 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    45 +
 .../contrib/operators/ssh_operator/index.rst.txt   |    56 +
 .../operators/vertica_operator/index.rst.txt       |    43 +
 .../operators/vertica_to_hive/index.rst.txt        |    71 +
 .../operators/vertica_to_mysql/index.rst.txt       |    60 +
 .../wasb_delete_blob_operator/index.rst.txt        |    40 +
 .../contrib/operators/winrm_operator/index.rst.txt |    39 +
 .../sensors/aws_athena_sensor/index.rst.txt        |    68 +
 .../index.rst.txt                                  |    62 +
 .../aws_redshift_cluster_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |    43 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    33 +
 .../contrib/sensors/bash_sensor/index.rst.txt      |    42 +
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    48 +
 .../sensors/cassandra_record_sensor/index.rst.txt  |    35 +
 .../sensors/cassandra_table_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    28 +
 .../sensors/emr_job_flow_sensor/index.rst.txt      |    55 +
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |    57 +
 .../contrib/sensors/file_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/ftp_sensor/index.rst.txt       |    65 +
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   194 +
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    37 +
 .../sensors/imap_attachment_sensor/index.rst.txt   |    47 +
 .../_api/airflow/contrib/sensors/index.rst.txt     |    48 +
 .../contrib/sensors/jira_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    32 +
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    50 +
 .../contrib/sensors/python_sensor/index.rst.txt    |    51 +
 .../contrib/sensors/qubole_sensor/index.rst.txt    |    67 +
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    31 +
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    39 +
 .../sensors/sagemaker_base_sensor/index.rst.txt    |    54 +
 .../sagemaker_endpoint_sensor/index.rst.txt        |    55 +
 .../sagemaker_training_sensor/index.rst.txt        |    62 +
 .../sagemaker_transform_sensor/index.rst.txt       |    56 +
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |    56 +
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/wasb_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    66 +
 .../airflow/executors/base_executor/index.rst.txt  |   120 +
 .../executors/celery_executor/index.rst.txt        |   115 +
 .../airflow/executors/dask_executor/index.rst.txt  |    46 +
 .../_sources/_api/airflow/executors/index.rst.txt  |   342 +
 .../airflow/executors/local_executor/index.rst.txt |   171 +
 .../executors/sequential_executor/index.rst.txt    |    36 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |   333 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    70 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   198 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    30 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |    92 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    40 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   474 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |   106 +
 1.10.6/_sources/_api/airflow/hooks/index.rst.txt   |    51 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    50 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |    48 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |   104 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |    99 +
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |    37 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |   106 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |    98 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    38 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    85 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    47 +
 .../_api/airflow/models/base/index.rst.txt         |    29 +
 .../_api/airflow/models/baseoperator/index.rst.txt |   650 ++
 .../_api/airflow/models/chart/index.rst.txt        |   104 +
 .../_api/airflow/models/connection/index.rst.txt   |   147 +
 .../_api/airflow/models/crypto/index.rst.txt       |    56 +
 .../_sources/_api/airflow/models/dag/index.rst.txt |   830 ++
 .../_api/airflow/models/dagbag/index.rst.txt       |   135 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    48 +
 .../_api/airflow/models/dagrun/index.rst.txt       |   230 +
 .../_api/airflow/models/errors/index.rst.txt       |    39 +
 1.10.6/_sources/_api/airflow/models/index.rst.txt  |  3399 ++++++
 .../_api/airflow/models/knownevent/index.rst.txt   |    94 +
 .../_api/airflow/models/kubernetes/index.rst.txt   |    74 +
 .../_sources/_api/airflow/models/log/index.rst.txt |    66 +
 .../_api/airflow/models/pool/index.rst.txt         |    92 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    35 +
 .../_api/airflow/models/slamiss/index.rst.txt      |    68 +
 .../_api/airflow/models/taskfail/index.rst.txt     |    66 +
 .../_api/airflow/models/taskinstance/index.rst.txt |   554 +
 .../airflow/models/taskreschedule/index.rst.txt    |    87 +
 .../_api/airflow/models/user/index.rst.txt         |    54 +
 .../_api/airflow/models/variable/index.rst.txt     |   101 +
 .../_api/airflow/models/xcom/index.rst.txt         |   122 +
 .../airflow/operators/bash_operator/index.rst.txt  |    62 +
 .../operators/branch_operator/index.rst.txt        |    47 +
 .../airflow/operators/check_operator/index.rst.txt |   205 +
 .../operators/dagrun_operator/index.rst.txt        |    51 +
 .../operators/docker_operator/index.rst.txt        |   147 +
 .../operators/druid_check_operator/index.rst.txt   |    66 +
 .../airflow/operators/dummy_operator/index.rst.txt |    27 +
 .../airflow/operators/email_operator/index.rst.txt |    55 +
 .../operators/generic_transfer/index.rst.txt       |    53 +
 .../airflow/operators/hive_operator/index.rst.txt  |    84 +
 .../operators/hive_stats_operator/index.rst.txt    |    62 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |    81 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    62 +
 .../operators/hive_to_samba_operator/index.rst.txt |    39 +
 .../airflow/operators/http_operator/index.rst.txt  |    62 +
 .../_sources/_api/airflow/operators/index.rst.txt  |   665 ++
 .../airflow/operators/jdbc_operator/index.rst.txt  |    50 +
 .../operators/latest_only_operator/index.rst.txt   |    33 +
 .../airflow/operators/mssql_operator/index.rst.txt |    49 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    74 +
 .../airflow/operators/mysql_operator/index.rst.txt |    51 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    73 +
 .../operators/oracle_operator/index.rst.txt        |    49 +
 .../operators/papermill_operator/index.rst.txt     |    43 +
 .../airflow/operators/pig_operator/index.rst.txt   |    64 +
 .../operators/postgres_operator/index.rst.txt      |    50 +
 .../operators/presto_check_operator/index.rst.txt  |    90 +
 .../operators/presto_to_mysql/index.rst.txt        |    53 +
 .../operators/python_operator/index.rst.txt        |   226 +
 .../redshift_to_s3_operator/index.rst.txt          |    72 +
 .../s3_file_transform_operator/index.rst.txt       |    77 +
 .../operators/s3_to_hive_operator/index.rst.txt    |   112 +
 .../s3_to_redshift_operator/index.rst.txt          |    62 +
 .../_api/airflow/operators/sensors/index.rst.txt   |    69 +
 .../airflow/operators/slack_operator/index.rst.txt |    84 +
 .../operators/sqlite_operator/index.rst.txt        |    44 +
 .../operators/subdag_operator/index.rst.txt        |    40 +
 .../sensors/base_sensor_operator/index.rst.txt     |    85 +
 .../sensors/external_task_sensor/index.rst.txt     |    56 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |    58 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    47 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    45 +
 1.10.6/_sources/_api/airflow/sensors/index.rst.txt |    44 +
 .../metastore_partition_sensor/index.rst.txt       |    47 +
 .../named_hive_partition_sensor/index.rst.txt      |    53 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    50 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    52 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    58 +
 .../sensors/time_delta_sensor/index.rst.txt        |    27 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    24 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    26 +
 1.10.6/_sources/_api/index.rst.txt                 |   129 +
 1.10.6/_sources/api.rst.txt                        |   148 +
 1.10.6/_sources/changelog.rst.txt                  |    23 +
 1.10.6/_sources/cli.rst.txt                        |    33 +
 1.10.6/_sources/concepts.rst.txt                   |  1245 +++
 1.10.6/_sources/errors.rst.txt                     |    67 +
 1.10.6/_sources/faq.rst.txt                        |   214 +
 1.10.6/_sources/howto/check-health.rst.txt         |    50 +
 1.10.6/_sources/howto/cli-completion.rst.txt       |    50 +
 1.10.6/_sources/howto/connection/aws.rst.txt       |    69 +
 1.10.6/_sources/howto/connection/gcp.rst.txt       |   122 +
 1.10.6/_sources/howto/connection/gcp_sql.rst.txt   |    78 +
 1.10.6/_sources/howto/connection/grpc.rst.txt      |    75 +
 1.10.6/_sources/howto/connection/index.rst.txt     |    94 +
 1.10.6/_sources/howto/connection/mysql.rst.txt     |    96 +
 1.10.6/_sources/howto/connection/oracle.rst.txt    |    87 +
 1.10.6/_sources/howto/connection/postgres.rst.txt  |    81 +
 1.10.6/_sources/howto/connection/ssh.rst.txt       |    76 +
 1.10.6/_sources/howto/define_extra_link.rst.txt    |   132 +
 1.10.6/_sources/howto/executor/use-celery.rst.txt  |   143 +
 1.10.6/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.6/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 1.10.6/_sources/howto/index.rst.txt                |    48 +
 1.10.6/_sources/howto/initialize-database.rst.txt  |    48 +
 1.10.6/_sources/howto/operator/bash.rst.txt        |    64 +
 1.10.6/_sources/howto/operator/dingding.rst.txt    |    96 +
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |   172 +
 .../howto/operator/gcp/cloud_build.rst.txt         |   117 +
 1.10.6/_sources/howto/operator/gcp/compute.rst.txt |   327 +
 .../_sources/howto/operator/gcp/function.rst.txt   |   204 +
 1.10.6/_sources/howto/operator/gcp/gcs.rst.txt     |   129 +
 1.10.6/_sources/howto/operator/gcp/index.rst.txt   |    28 +
 .../howto/operator/gcp/natural_language.rst.txt    |   182 +
 1.10.6/_sources/howto/operator/gcp/spanner.rst.txt |   278 +
 1.10.6/_sources/howto/operator/gcp/speech.rst.txt  |   127 +
 1.10.6/_sources/howto/operator/gcp/sql.rst.txt     |   646 ++
 .../_sources/howto/operator/gcp/transfer.rst.txt   |   422 +
 .../howto/operator/gcp/translate-speech.rst.txt    |    89 +
 .../_sources/howto/operator/gcp/translate.rst.txt  |    70 +
 1.10.6/_sources/howto/operator/gcp/video.rst.txt   |   216 +
 1.10.6/_sources/howto/operator/gcp/vision.rst.txt  |  1184 +++
 1.10.6/_sources/howto/operator/index.rst.txt       |    37 +
 1.10.6/_sources/howto/operator/papermill.rst.txt   |    60 +
 1.10.6/_sources/howto/operator/python.rst.txt      |    52 +
 1.10.6/_sources/howto/run-behind-proxy.rst.txt     |    84 +
 1.10.6/_sources/howto/run-with-systemd.rst.txt     |    40 +
 1.10.6/_sources/howto/run-with-upstart.rst.txt     |    44 +
 1.10.6/_sources/howto/secure-connections.rst.txt   |    63 +
 1.10.6/_sources/howto/set-config.rst.txt           |    68 +
 .../_sources/howto/tracking-user-activity.rst.txt  |    36 +
 1.10.6/_sources/howto/use-test-config.rst.txt      |    34 +
 1.10.6/_sources/howto/write-logs.rst.txt           |   207 +
 1.10.6/_sources/index.rst.txt                      |   107 +
 1.10.6/_sources/installation.rst.txt               |   138 +
 1.10.6/_sources/integration.rst.txt                |   967 ++
 1.10.6/_sources/kubernetes.rst.txt                 |   168 +
 1.10.6/_sources/license.rst.txt                    |   201 +
 1.10.6/_sources/lineage.rst.txt                    |   113 +
 1.10.6/_sources/macros.rst.txt                     |   123 +
 1.10.6/_sources/metrics.rst.txt                    |   102 +
 1.10.6/_sources/plugins.rst.txt                    |   321 +
 1.10.6/_sources/privacy_notice.rst.txt             |    68 +
 1.10.6/_sources/profiling.rst.txt                  |    58 +
 1.10.6/_sources/project.rst.txt                    |    91 +
 1.10.6/_sources/scheduler.rst.txt                  |   187 +
 1.10.6/_sources/security.rst.txt                   |   593 ++
 1.10.6/_sources/start.rst.txt                      |    73 +
 1.10.6/_sources/timezone.rst.txt                   |   164 +
 1.10.6/_sources/tutorial.rst.txt                   |   474 +
 1.10.6/_sources/ui.rst.txt                         |   121 +
 1.10.6/_static/basic.css                           |   764 ++
 1.10.6/_static/css/badge_only.css                  |     1 +
 1.10.6/_static/css/theme.css                       |     6 +
 1.10.6/_static/doctools.js                         |   314 +
 1.10.6/_static/documentation_options.js            |    10 +
 1.10.6/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.6/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.6/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.6/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.6/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.6/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.6/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.6/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.6/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.6/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.6/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.6/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.6/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.6/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.6/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.6/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.6/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.6/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.6/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.6/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.6/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.6/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.6/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.6/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.6/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.6/_static/fonts/fontawesome-webfont.svg       |  2671 +++++
 1.10.6/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.6/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.6/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.6/_static/graphviz.css                        |    19 +
 1.10.6/_static/jquery-3.4.1.js                     | 10598 +++++++++++++++++++
 1.10.6/_static/jquery.js                           |     2 +
 1.10.6/_static/js/modernizr.min.js                 |     4 +
 1.10.6/_static/js/theme.js                         |     3 +
 1.10.6/_static/language_data.js                    |   297 +
 1.10.6/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.6/_static/pin_32.png                          |   Bin 0 -> 1201 bytes
 1.10.6/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.6/_static/pygments.css                        |    69 +
 1.10.6/_static/searchtools.js                      |   506 +
 1.10.6/_static/underscore-1.3.1.js                 |   999 ++
 1.10.6/_static/underscore.js                       |    31 +
 1.10.6/api.html                                    |   525 +
 1.10.6/changelog.html                              |  3653 +++++++
 1.10.6/cli.html                                    |  1689 +++
 1.10.6/concepts.html                               |  1450 +++
 1.10.6/errors.html                                 |   437 +
 1.10.6/faq.html                                    |   538 +
 1.10.6/genindex.html                               |  9776 +++++++++++++++++
 1.10.6/howto/check-health.html                     |   410 +
 1.10.6/howto/cli-completion.html                   |   401 +
 1.10.6/howto/connection/aws.html                   |   440 +
 1.10.6/howto/connection/gcp.html                   |   484 +
 1.10.6/howto/connection/gcp_sql.html               |   445 +
 1.10.6/howto/connection/grpc.html                  |   447 +
 1.10.6/howto/connection/index.html                 |   461 +
 1.10.6/howto/connection/mysql.html                 |   466 +
 1.10.6/howto/connection/oracle.html                |   455 +
 1.10.6/howto/connection/postgres.html              |   451 +
 1.10.6/howto/connection/ssh.html                   |   445 +
 1.10.6/howto/define_extra_link.html                |   478 +
 1.10.6/howto/executor/use-celery.html              |   494 +
 1.10.6/howto/executor/use-dask.html                |   404 +
 1.10.6/howto/executor/use-mesos.html               |   446 +
 1.10.6/howto/index.html                            |   435 +
 1.10.6/howto/initialize-database.html              |   409 +
 1.10.6/howto/operator/bash.html                    |   440 +
 1.10.6/howto/operator/dingding.html                |   516 +
 1.10.6/howto/operator/gcp/bigtable.html            |   624 ++
 1.10.6/howto/operator/gcp/cloud_build.html         |   516 +
 1.10.6/howto/operator/gcp/compute.html             |   762 ++
 1.10.6/howto/operator/gcp/function.html            |   616 ++
 1.10.6/howto/operator/gcp/gcs.html                 |   527 +
 1.10.6/howto/operator/gcp/index.html               |   425 +
 1.10.6/howto/operator/gcp/natural_language.html    |   594 ++
 1.10.6/howto/operator/gcp/spanner.html             |   738 ++
 1.10.6/howto/operator/gcp/speech.html              |   522 +
 1.10.6/howto/operator/gcp/sql.html                 |  1386 +++
 1.10.6/howto/operator/gcp/transfer.html            |   917 ++
 1.10.6/howto/operator/gcp/translate-speech.html    |   466 +
 1.10.6/howto/operator/gcp/translate.html           |   458 +
 1.10.6/howto/operator/gcp/video.html               |   600 ++
 1.10.6/howto/operator/gcp/vision.html              |  1570 +++
 1.10.6/howto/operator/index.html                   |   438 +
 1.10.6/howto/operator/papermill.html               |   428 +
 1.10.6/howto/operator/python.html                  |   445 +
 1.10.6/howto/run-behind-proxy.html                 |   444 +
 1.10.6/howto/run-with-systemd.html                 |   394 +
 1.10.6/howto/run-with-upstart.html                 |   404 +
 1.10.6/howto/secure-connections.html               |   422 +
 1.10.6/howto/set-config.html                       |   419 +
 1.10.6/howto/tracking-user-activity.html           |   396 +
 1.10.6/howto/use-test-config.html                  |   389 +
 1.10.6/howto/write-logs.html                       |   548 +
 1.10.6/http-routingtable.html                      |   417 +
 1.10.6/index.html                                  |  1084 ++
 1.10.6/installation.html                           |   543 +
 1.10.6/integration.html                            |  1158 ++
 1.10.6/kubernetes.html                             |   501 +
 1.10.6/license.html                                |   535 +
 1.10.6/lineage.html                                |   444 +
 1.10.6/macros.html                                 |   683 ++
 1.10.6/metrics.html                                |   516 +
 1.10.6/objects.inv                                 |   Bin 0 -> 40555 bytes
 1.10.6/plugins.html                                |   642 ++
 1.10.6/privacy_notice.html                         |   395 +
 1.10.6/profiling.html                              |   396 +
 1.10.6/project.html                                |   426 +
 1.10.6/py-modindex.html                            |  1939 ++++
 1.10.6/scheduler.html                              |   537 +
 1.10.6/search.html                                 |   360 +
 1.10.6/searchindex.js                              |     1 +
 1.10.6/security.html                               |   908 ++
 1.10.6/start.html                                  |   407 +
 1.10.6/timezone.html                               |   489 +
 1.10.6/tutorial.html                               |   790 ++
 1.10.6/ui.html                                     |   442 +
 _api/airflow/contrib/executors/index.html          |    32 +-
 .../executors/kubernetes_executor/index.html       |    97 +-
 .../contrib/executors/mesos_executor/index.html    |    32 +-
 .../contrib/hooks/aws_athena_hook/index.html       |    56 +-
 .../contrib/hooks/aws_dynamodb_hook/index.html     |    42 +-
 .../contrib/hooks/aws_firehose_hook/index.html     |    34 +-
 .../contrib/hooks/aws_glue_catalog_hook/index.html |    64 +-
 _api/airflow/contrib/hooks/aws_hook/index.html     |    46 +-
 .../contrib/hooks/aws_lambda_hook/index.html       |    44 +-
 .../airflow/contrib/hooks/aws_logs_hook/index.html |    48 +-
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |    36 +-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |    50 +-
 .../hooks/azure_container_instance_hook/index.html |    70 +-
 .../hooks/azure_container_registry_hook/index.html |    34 +-
 .../hooks/azure_container_volume_hook/index.html   |    34 +-
 .../contrib/hooks/azure_cosmos_hook/index.html     |    34 +-
 .../contrib/hooks/azure_data_lake_hook/index.html  |    62 +-
 .../contrib/hooks/azure_fileshare_hook/index.html  |   116 +-
 .../airflow/contrib/hooks/bigquery_hook/index.html |   345 +-
 .../contrib/hooks/cassandra_hook/index.html        |    38 +-
 .../airflow/contrib/hooks/cloudant_hook/index.html |    32 +-
 .../contrib/hooks/databricks_hook/index.html       |    48 +-
 _api/airflow/contrib/hooks/datadog_hook/index.html |    64 +-
 .../contrib/hooks/datastore_hook/index.html        |    90 +-
 .../airflow/contrib/hooks/dingding_hook/index.html |    44 +-
 .../contrib/hooks/discord_webhook_hook/index.html  |    46 +-
 _api/airflow/contrib/hooks/emr_hook/index.html     |    32 +-
 _api/airflow/contrib/hooks/fs_hook/index.html      |    32 +-
 _api/airflow/contrib/hooks/ftp_hook/index.html     |    50 +-
 .../contrib/hooks/gcp_api_base_hook/index.html     |    86 +-
 .../contrib/hooks/gcp_bigtable_hook/index.html     |    82 +-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |    46 +-
 .../contrib/hooks/gcp_compute_hook/index.html      |    88 +-
 .../contrib/hooks/gcp_container_hook/index.html    |    72 +-
 .../contrib/hooks/gcp_dataflow_hook/index.html     |    32 +-
 .../contrib/hooks/gcp_dataproc_hook/index.html     |    34 +-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |   488 +-
 .../contrib/hooks/gcp_function_hook/index.html     |    66 +-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |    48 +-
 .../contrib/hooks/gcp_mlengine_hook/index.html     |    40 +-
 .../hooks/gcp_natural_language_hook/index.html     |   100 +-
 .../contrib/hooks/gcp_pubsub_hook/index.html       |    84 +-
 .../contrib/hooks/gcp_spanner_hook/index.html      |   118 +-
 .../hooks/gcp_speech_to_text_hook/index.html       |    46 +-
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |   106 +-
 .../hooks/gcp_text_to_speech_hook/index.html       |    50 +-
 .../contrib/hooks/gcp_transfer_hook/index.html     |    92 +-
 .../contrib/hooks/gcp_translate_hook/index.html    |    46 +-
 .../hooks/gcp_video_intelligence_hook/index.html   |    56 +-
 .../contrib/hooks/gcp_vision_hook/index.html       |    34 +-
 _api/airflow/contrib/hooks/gcs_hook/index.html     |   134 +-
 _api/airflow/contrib/hooks/grpc_hook/index.html    |    36 +-
 _api/airflow/contrib/hooks/imap_hook/index.html    |    86 +-
 _api/airflow/contrib/hooks/index.html              |    32 +-
 _api/airflow/contrib/hooks/jenkins_hook/index.html |    32 +-
 _api/airflow/contrib/hooks/jira_hook/index.html    |    34 +-
 _api/airflow/contrib/hooks/mongo_hook/index.html   |    78 +-
 .../airflow/contrib/hooks/openfaas_hook/index.html |    34 +-
 .../contrib/hooks/opsgenie_alert_hook/index.html   |    38 +-
 _api/airflow/contrib/hooks/pinot_hook/index.html   |    36 +-
 .../contrib/hooks/qubole_check_hook/index.html     |    32 +-
 _api/airflow/contrib/hooks/qubole_hook/index.html  |    55 +-
 _api/airflow/contrib/hooks/redis_hook/index.html   |    32 +-
 .../airflow/contrib/hooks/redshift_hook/index.html |    50 +-
 .../contrib/hooks/sagemaker_hook/index.html        |   136 +-
 .../contrib/hooks/salesforce_hook/index.html       |    32 +-
 _api/airflow/contrib/hooks/segment_hook/index.html |    32 +-
 _api/airflow/contrib/hooks/sftp_hook/index.html    |    58 +-
 .../contrib/hooks/slack_webhook_hook/index.html    |    52 +-
 .../contrib/hooks/snowflake_hook/index.html        |    32 +-
 .../contrib/hooks/spark_jdbc_hook/index.html       |    86 +-
 .../contrib/hooks/spark_jdbc_script/index.html     |    32 +-
 .../contrib/hooks/spark_sql_hook/index.html        |    58 +-
 .../contrib/hooks/spark_submit_hook/index.html     |    81 +-
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |    40 +-
 _api/airflow/contrib/hooks/ssh_hook/index.html     |    54 +-
 _api/airflow/contrib/hooks/vertica_hook/index.html |    32 +-
 _api/airflow/contrib/hooks/wasb_hook/index.html    |    90 +-
 _api/airflow/contrib/hooks/winrm_hook/index.html   |    72 +-
 .../operators/adls_list_operator/index.html        |    40 +-
 .../contrib/operators/adls_to_gcs/index.html       |    51 +-
 .../operators/aws_athena_operator/index.html       |    46 +-
 .../operators/aws_sqs_publish_operator/index.html  |    52 +-
 .../contrib/operators/awsbatch_operator/index.html |    55 +-
 .../azure_container_instances_operator/index.html  |    58 +-
 .../operators/azure_cosmos_operator/index.html     |    44 +-
 .../operators/bigquery_check_operator/index.html   |    54 +-
 .../contrib/operators/bigquery_get_data/index.html |    48 +-
 .../contrib/operators/bigquery_operator/index.html |   281 +-
 .../bigquery_table_delete_operator/index.html      |    44 +-
 .../operators/bigquery_to_bigquery/index.html      |    50 +-
 .../contrib/operators/bigquery_to_gcs/index.html   |    54 +-
 .../contrib/operators/cassandra_to_gcs/index.html  |    56 +-
 .../operators/databricks_operator/index.html       |    80 +-
 .../contrib/operators/dataflow_operator/index.html |    86 +-
 .../contrib/operators/dataproc_operator/index.html |   240 +-
 .../operators/datastore_export_operator/index.html |    56 +-
 .../operators/datastore_import_operator/index.html |    54 +-
 .../contrib/operators/dingding_operator/index.html |    46 +-
 .../operators/discord_webhook_operator/index.html  |    50 +-
 .../contrib/operators/druid_operator/index.html    |    40 +-
 .../contrib/operators/ecs_operator/index.html      |    65 +-
 .../operators/emr_add_steps_operator/index.html    |    42 +-
 .../emr_create_job_flow_operator/index.html        |    42 +-
 .../emr_terminate_job_flow_operator/index.html     |    40 +-
 .../contrib/operators/file_to_gcs/index.html       |    50 +-
 .../contrib/operators/file_to_wasb/index.html      |    46 +-
 .../operators/gcp_bigtable_operator/index.html     |    94 +-
 .../operators/gcp_cloud_build_operator/index.html  |    46 +-
 .../operators/gcp_compute_operator/index.html      |   102 +-
 .../operators/gcp_container_operator/index.html    |    71 +-
 .../contrib/operators/gcp_dlp_operator/index.html  |   542 +-
 .../operators/gcp_function_operator/index.html     |    58 +-
 .../gcp_natural_language_operator/index.html       |    72 +-
 .../operators/gcp_spanner_operator/index.html      |    94 +-
 .../gcp_speech_to_text_operator/index.html         |    48 +-
 .../contrib/operators/gcp_sql_operator/index.html  |   142 +-
 .../gcp_text_to_speech_operator/index.html         |    54 +-
 .../operators/gcp_transfer_operator/index.html     |   154 +-
 .../operators/gcp_translate_operator/index.html    |    46 +-
 .../gcp_translate_speech_operator/index.html       |    52 +-
 .../gcp_video_intelligence_operator/index.html     |    84 +-
 .../operators/gcp_vision_operator/index.html       |   272 +-
 .../contrib/operators/gcs_acl_operator/index.html  |    60 +-
 .../operators/gcs_delete_operator/index.html       |    44 +-
 .../operators/gcs_download_operator/index.html     |    52 +-
 .../contrib/operators/gcs_list_operator/index.html |    46 +-
 .../contrib/operators/gcs_operator/index.html      |    52 +-
 .../airflow/contrib/operators/gcs_to_bq/index.html |    90 +-
 .../contrib/operators/gcs_to_gcs/index.html        |    52 +-
 .../airflow/contrib/operators/gcs_to_s3/index.html |    54 +-
 .../contrib/operators/hipchat_operator/index.html  |    56 +-
 .../contrib/operators/hive_to_dynamodb/index.html  |    54 +-
 .../imap_attachment_to_s3_operator/index.html      |    52 +-
 _api/airflow/contrib/operators/index.html          |    36 +-
 .../jenkins_job_trigger_operator/index.html        |    46 +-
 .../contrib/operators/jira_operator/index.html     |    42 +-
 .../operators/kubernetes_pod_operator/index.html   |    94 +-
 .../contrib/operators/mlengine_operator/index.html |   116 +-
 .../contrib/operators/mongo_to_s3/index.html       |    36 +-
 .../contrib/operators/mssql_to_gcs/index.html      |    38 +-
 .../contrib/operators/mysql_to_gcs/index.html      |    42 +-
 .../operators/opsgenie_alert_operator/index.html   |    64 +-
 .../oracle_to_azure_data_lake_transfer/index.html  |    56 +-
 .../operators/oracle_to_oracle_transfer/index.html |    48 +-
 .../operators/postgres_to_gcs_operator/index.html  |    38 +-
 .../contrib/operators/pubsub_operator/index.html   |    36 +-
 .../operators/qubole_check_operator/index.html     |    46 +-
 .../contrib/operators/qubole_operator/index.html   |    53 +-
 .../operators/redis_publish_operator/index.html    |    44 +-
 .../operators/s3_copy_object_operator/index.html   |    50 +-
 .../s3_delete_objects_operator/index.html          |    44 +-
 .../contrib/operators/s3_list_operator/index.html  |    46 +-
 .../operators/s3_to_gcs_operator/index.html        |    58 +-
 .../operators/s3_to_sftp_operator/index.html       |    36 +-
 .../operators/sagemaker_base_operator/index.html   |    40 +-
 .../sagemaker_endpoint_config_operator/index.html  |    42 +-
 .../sagemaker_endpoint_operator/index.html         |    54 +-
 .../operators/sagemaker_model_operator/index.html  |    42 +-
 .../sagemaker_training_operator/index.html         |    50 +-
 .../sagemaker_transform_operator/index.html        |    48 +-
 .../operators/sagemaker_tuning_operator/index.html |    48 +-
 .../segment_track_event_operator/index.html        |    46 +-
 .../contrib/operators/sftp_operator/index.html     |    52 +-
 .../operators/sftp_to_s3_operator/index.html       |    36 +-
 .../operators/slack_webhook_operator/index.html    |    56 +-
 .../operators/snowflake_operator/index.html        |    44 +-
 .../operators/sns_publish_operator/index.html      |    42 +-
 .../operators/spark_jdbc_operator/index.html       |    90 +-
 .../operators/spark_sql_operator/index.html        |    60 +-
 .../operators/spark_submit_operator/index.html     |    85 +-
 .../contrib/operators/sql_to_gcs/index.html        |    56 +-
 .../contrib/operators/sqoop_operator/index.html    |    36 +-
 .../contrib/operators/ssh_operator/index.html      |    48 +-
 .../contrib/operators/vertica_operator/index.html  |    38 +-
 .../contrib/operators/vertica_to_hive/index.html   |    52 +-
 .../contrib/operators/vertica_to_mysql/index.html  |    50 +-
 .../operators/wasb_delete_blob_operator/index.html |    46 +-
 .../contrib/operators/winrm_operator/index.html    |    46 +-
 .../contrib/sensors/aws_athena_sensor/index.html   |    44 +-
 .../aws_glue_catalog_partition_sensor/index.html   |    48 +-
 .../sensors/aws_redshift_cluster_sensor/index.html |    40 +-
 .../contrib/sensors/aws_sqs_sensor/index.html      |    46 +-
 .../contrib/sensors/azure_cosmos_sensor/index.html |    36 +-
 .../airflow/contrib/sensors/bash_sensor/index.html |    42 +-
 .../contrib/sensors/bigquery_sensor/index.html     |    46 +-
 .../sensors/cassandra_record_sensor/index.html     |    36 +-
 .../sensors/cassandra_table_sensor/index.html      |    36 +-
 .../contrib/sensors/datadog_sensor/index.html      |    36 +-
 .../contrib/sensors/emr_base_sensor/index.html     |    36 +-
 .../contrib/sensors/emr_job_flow_sensor/index.html |    38 +-
 .../contrib/sensors/emr_step_sensor/index.html     |    40 +-
 .../airflow/contrib/sensors/file_sensor/index.html |    38 +-
 _api/airflow/contrib/sensors/ftp_sensor/index.html |    36 +-
 .../contrib/sensors/gcp_transfer_sensor/index.html |    44 +-
 _api/airflow/contrib/sensors/gcs_sensor/index.html |    78 +-
 .../airflow/contrib/sensors/hdfs_sensor/index.html |    36 +-
 .../sensors/imap_attachment_sensor/index.html      |    48 +-
 _api/airflow/contrib/sensors/index.html            |    36 +-
 .../airflow/contrib/sensors/jira_sensor/index.html |    50 +-
 .../contrib/sensors/mongo_sensor/index.html        |    36 +-
 .../contrib/sensors/pubsub_sensor/index.html       |    36 +-
 .../contrib/sensors/python_sensor/index.html       |    42 +-
 .../contrib/sensors/qubole_sensor/index.html       |    40 +-
 .../contrib/sensors/redis_key_sensor/index.html    |    36 +-
 .../sensors/redis_pub_sub_sensor/index.html        |    38 +-
 .../sensors/sagemaker_base_sensor/index.html       |    36 +-
 .../sensors/sagemaker_endpoint_sensor/index.html   |    38 +-
 .../sensors/sagemaker_training_sensor/index.html   |    40 +-
 .../sensors/sagemaker_transform_sensor/index.html  |    36 +-
 .../sensors/sagemaker_tuning_sensor/index.html     |    38 +-
 .../airflow/contrib/sensors/sftp_sensor/index.html |    40 +-
 .../airflow/contrib/sensors/wasb_sensor/index.html |    52 +-
 .../contrib/sensors/weekday_sensor/index.html      |    40 +-
 _api/airflow/executors/base_executor/index.html    |    32 +-
 _api/airflow/executors/celery_executor/index.html  |    46 +-
 _api/airflow/executors/dask_executor/index.html    |    32 +-
 _api/airflow/executors/index.html                  |    53 +-
 _api/airflow/executors/local_executor/index.html   |    46 +-
 .../executors/sequential_executor/index.html       |    32 +-
 _api/airflow/hooks/S3_hook/index.html              |   156 +-
 _api/airflow/hooks/base_hook/index.html            |    32 +-
 _api/airflow/hooks/dbapi_hook/index.html           |    62 +-
 _api/airflow/hooks/docker_hook/index.html          |    34 +-
 _api/airflow/hooks/druid_hook/index.html           |    38 +-
 _api/airflow/hooks/hdfs_hook/index.html            |    38 +-
 _api/airflow/hooks/hive_hooks/index.html           |   133 +-
 _api/airflow/hooks/http_hook/index.html            |    52 +-
 _api/airflow/hooks/index.html                      |    32 +-
 _api/airflow/hooks/jdbc_hook/index.html            |    32 +-
 _api/airflow/hooks/mssql_hook/index.html           |    32 +-
 _api/airflow/hooks/mysql_hook/index.html           |    38 +-
 _api/airflow/hooks/oracle_hook/index.html          |    40 +-
 _api/airflow/hooks/pig_hook/index.html             |    32 +-
 _api/airflow/hooks/postgres_hook/index.html        |    36 +-
 _api/airflow/hooks/presto_hook/index.html          |    36 +-
 _api/airflow/hooks/samba_hook/index.html           |    32 +-
 _api/airflow/hooks/slack_hook/index.html           |    32 +-
 _api/airflow/hooks/sqlite_hook/index.html          |    32 +-
 _api/airflow/hooks/webhdfs_hook/index.html         |    48 +-
 _api/airflow/hooks/zendesk_hook/index.html         |    32 +-
 _api/airflow/models/base/index.html                |    32 +-
 _api/airflow/models/baseoperator/index.html        |   185 +-
 _api/airflow/models/chart/index.html               |    32 +-
 _api/airflow/models/connection/index.html          |    32 +-
 _api/airflow/models/crypto/index.html              |    36 +-
 _api/airflow/models/dag/index.html                 |   155 +-
 _api/airflow/models/dagbag/index.html              |    62 +-
 _api/airflow/models/dagpickle/index.html           |    32 +-
 _api/airflow/models/dagrun/index.html              |    44 +-
 _api/airflow/models/errors/index.html              |    32 +-
 _api/airflow/models/index.html                     |   424 +-
 _api/airflow/models/knownevent/index.html          |    32 +-
 _api/airflow/models/kubernetes/index.html          |    32 +-
 _api/airflow/models/log/index.html                 |    32 +-
 _api/airflow/models/pool/index.html                |    32 +-
 _api/airflow/models/skipmixin/index.html           |    32 +-
 _api/airflow/models/slamiss/index.html             |    32 +-
 _api/airflow/models/taskfail/index.html            |    34 +-
 _api/airflow/models/taskinstance/index.html        |    85 +-
 _api/airflow/models/taskreschedule/index.html      |    34 +-
 _api/airflow/models/user/index.html                |    32 +-
 _api/airflow/models/variable/index.html            |    34 +-
 _api/airflow/models/xcom/index.html                |    32 +-
 _api/airflow/operators/bash_operator/index.html    |    44 +-
 _api/airflow/operators/branch_operator/index.html  |    38 +-
 _api/airflow/operators/check_operator/index.html   |    52 +-
 _api/airflow/operators/dagrun_operator/index.html  |    42 +-
 _api/airflow/operators/docker_operator/index.html  |   106 +-
 .../operators/druid_check_operator/index.html      |    42 +-
 _api/airflow/operators/dummy_operator/index.html   |    36 +-
 _api/airflow/operators/email_operator/index.html   |    52 +-
 _api/airflow/operators/generic_transfer/index.html |    46 +-
 _api/airflow/operators/hive_operator/index.html    |    52 +-
 .../operators/hive_stats_operator/index.html       |    42 +-
 _api/airflow/operators/hive_to_druid/index.html    |    62 +-
 _api/airflow/operators/hive_to_mysql/index.html    |    50 +-
 .../operators/hive_to_samba_operator/index.html    |    42 +-
 _api/airflow/operators/http_operator/index.html    |    46 +-
 _api/airflow/operators/index.html                  |   176 +-
 _api/airflow/operators/jdbc_operator/index.html    |    40 +-
 .../operators/latest_only_operator/index.html      |    38 +-
 _api/airflow/operators/mssql_operator/index.html   |    44 +-
 _api/airflow/operators/mssql_to_hive/index.html    |    54 +-
 _api/airflow/operators/mysql_operator/index.html   |    44 +-
 _api/airflow/operators/mysql_to_hive/index.html    |    54 +-
 _api/airflow/operators/oracle_operator/index.html  |    46 +-
 .../operators/papermill_operator/index.html        |   436 +
 _api/airflow/operators/pig_operator/index.html     |    48 +-
 .../airflow/operators/postgres_operator/index.html |    42 +-
 .../operators/presto_check_operator/index.html     |    52 +-
 _api/airflow/operators/presto_to_mysql/index.html  |    46 +-
 _api/airflow/operators/python_operator/index.html  |    62 +-
 .../operators/redshift_to_s3_operator/index.html   |    57 +-
 .../s3_file_transform_operator/index.html          |    52 +-
 .../operators/s3_to_hive_operator/index.html       |    68 +-
 .../operators/s3_to_redshift_operator/index.html   |    52 +-
 _api/airflow/operators/sensors/index.html          |    36 +-
 _api/airflow/operators/slack_operator/index.html   |    54 +-
 _api/airflow/operators/sqlite_operator/index.html  |    40 +-
 _api/airflow/operators/subdag_operator/index.html  |    36 +-
 .../sensors/base_sensor_operator/index.html        |    44 +-
 .../sensors/external_task_sensor/index.html        |    46 +-
 _api/airflow/sensors/hdfs_sensor/index.html        |    44 +-
 .../sensors/hive_partition_sensor/index.html       |    42 +-
 _api/airflow/sensors/http_sensor/index.html        |    42 +-
 _api/airflow/sensors/index.html                    |    36 +-
 .../sensors/metastore_partition_sensor/index.html  |    44 +-
 .../sensors/named_hive_partition_sensor/index.html |    40 +-
 _api/airflow/sensors/s3_key_sensor/index.html      |    46 +-
 _api/airflow/sensors/s3_prefix_sensor/index.html   |    46 +-
 _api/airflow/sensors/sql_sensor/index.html         |    44 +-
 _api/airflow/sensors/time_delta_sensor/index.html  |    38 +-
 _api/airflow/sensors/time_sensor/index.html        |    38 +-
 _api/airflow/sensors/web_hdfs_sensor/index.html    |    36 +-
 _api/index.html                                    |    53 +-
 _images/cli_completion.gif                         |   Bin 0 -> 775263 bytes
 ...iz-a401e86cce11bfcda64a051edda547edccaaa423.png |   Bin 0 -> 44547 bytes
 ...401e86cce11bfcda64a051edda547edccaaa423.png.map |     2 +
 _images/pin_large.png                              |   Bin 358276 -> 24922 bytes
 _images/task_lifecycle.png                         |   Bin 0 -> 12919 bytes
 _images/task_manual_vs_scheduled.png               |   Bin 0 -> 5806 bytes
 _modules/airflow/configuration.html                |  1005 ++
 .../example_dags/example_dingding_operator.html    |   359 +-
 .../example_gcp_bigtable_operators.html            |    24 +-
 .../example_dags/example_gcp_cloud_build.html      |    18 +-
 .../contrib/example_dags/example_gcp_compute.html  |    18 +-
 .../example_dags/example_gcp_compute_igm.html      |    18 +-
 .../contrib/example_dags/example_gcp_function.html |    18 +-
 .../example_dags/example_gcp_natural_language.html |    18 +-
 .../contrib/example_dags/example_gcp_spanner.html  |    18 +-
 .../contrib/example_dags/example_gcp_speech.html   |    18 +-
 .../contrib/example_dags/example_gcp_sql.html      |    18 +-
 .../example_dags/example_gcp_sql_query.html        |    18 +-
 .../contrib/example_dags/example_gcp_transfer.html |    18 +-
 .../example_dags/example_gcp_translate.html        |    18 +-
 .../example_gcp_video_intelligence.html            |    18 +-
 .../contrib/example_dags/example_gcp_vision.html   |    18 +-
 .../contrib/example_dags/example_gcs_acl.html      |    18 +-
 .../example_dags/example_gcs_to_bq_operator.html   |    20 +-
 .../example_dags/example_papermill_operator.html   |   392 +
 .../contrib/executors/kubernetes_executor.html     |   144 +-
 .../airflow/contrib/executors/mesos_executor.html  |    60 +-
 _modules/airflow/contrib/hooks.html                |    18 +-
 .../airflow/contrib/hooks/aws_athena_hook.html     |    33 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |    25 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |    22 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |    32 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |    40 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |    22 +-
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |    18 +-
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |    22 +-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |    21 +-
 .../hooks/azure_container_instance_hook.html       |    43 +-
 .../hooks/azure_container_registry_hook.html       |    18 +-
 .../contrib/hooks/azure_container_volume_hook.html |    18 +-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |    18 +-
 .../contrib/hooks/azure_data_lake_hook.html        |    18 +-
 .../contrib/hooks/azure_fileshare_hook.html        |    18 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |   120 +-
 _modules/airflow/contrib/hooks/cassandra_hook.html |    18 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |    18 +-
 .../airflow/contrib/hooks/databricks_hook.html     |    33 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |    18 +-
 _modules/airflow/contrib/hooks/dingding_hook.html  |    18 +-
 .../contrib/hooks/discord_webhook_hook.html        |    18 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |    18 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |    18 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |    18 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   136 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |    18 +-
 .../contrib/hooks/gcp_cloud_build_hook.html        |    18 +-
 .../airflow/contrib/hooks/gcp_compute_hook.html    |    18 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |    18 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |    18 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |    18 +-
 .../airflow/contrib/hooks/gcp_function_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |    18 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |    46 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |    24 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |    18 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |    18 +-
 .../contrib/hooks/gcp_speech_to_text_hook.html     |    19 +-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |    18 +-
 .../contrib/hooks/gcp_text_to_speech_hook.html     |    19 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |    18 +-
 .../airflow/contrib/hooks/gcp_translate_hook.html  |    21 +-
 .../contrib/hooks/gcp_video_intelligence_hook.html |    19 +-
 .../airflow/contrib/hooks/gcp_vision_hook.html     |    24 +-
 _modules/airflow/contrib/hooks/gcs_hook.html       |    18 +-
 _modules/airflow/contrib/hooks/grpc_hook.html      |    56 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |    18 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |    18 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |    18 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |    18 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |    18 +-
 _modules/airflow/contrib/hooks/pinot_hook.html     |    18 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |    71 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |    18 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |    18 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |    18 +-
 .../airflow/contrib/hooks/salesforce_hook.html     |    18 +-
 _modules/airflow/contrib/hooks/segment_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/sftp_hook.html      |    18 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |    18 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |    18 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |    18 +-
 .../airflow/contrib/hooks/spark_jdbc_script.html   |    18 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |    18 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |    27 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |    18 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |   106 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |    18 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |    18 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |    18 +-
 _modules/airflow/contrib/operators.html            |    18 +-
 .../contrib/operators/adls_list_operator.html      |    18 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |    29 +-
 .../contrib/operators/aws_athena_operator.html     |    18 +-
 .../operators/aws_sqs_publish_operator.html        |    24 +-
 .../contrib/operators/awsbatch_operator.html       |    62 +-
 .../azure_container_instances_operator.html        |    18 +-
 .../contrib/operators/azure_cosmos_operator.html   |    18 +-
 .../contrib/operators/bigquery_check_operator.html |    18 +-
 .../contrib/operators/bigquery_get_data.html       |    18 +-
 .../contrib/operators/bigquery_operator.html       |   204 +-
 .../operators/bigquery_table_delete_operator.html  |    18 +-
 .../contrib/operators/bigquery_to_bigquery.html    |    18 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |    18 +-
 .../contrib/operators/cassandra_to_gcs.html        |    31 +-
 .../contrib/operators/databricks_operator.html     |    22 +-
 .../contrib/operators/dataflow_operator.html       |    27 +-
 .../contrib/operators/dataproc_operator.html       |    18 +-
 .../operators/datastore_export_operator.html       |    18 +-
 .../operators/datastore_import_operator.html       |    18 +-
 .../contrib/operators/dingding_operator.html       |    18 +-
 .../operators/discord_webhook_operator.html        |    18 +-
 .../airflow/contrib/operators/druid_operator.html  |    18 +-
 .../airflow/contrib/operators/ecs_operator.html    |    26 +-
 .../contrib/operators/emr_add_steps_operator.html  |    18 +-
 .../operators/emr_create_job_flow_operator.html    |    18 +-
 .../operators/emr_terminate_job_flow_operator.html |    18 +-
 .../airflow/contrib/operators/file_to_gcs.html     |    18 +-
 .../airflow/contrib/operators/file_to_wasb.html    |    18 +-
 .../contrib/operators/gcp_bigtable_operator.html   |    18 +-
 .../operators/gcp_cloud_build_operator.html        |    18 +-
 .../contrib/operators/gcp_compute_operator.html    |    18 +-
 .../contrib/operators/gcp_container_operator.html  |    26 +-
 .../contrib/operators/gcp_dlp_operator.html        |    18 +-
 .../contrib/operators/gcp_function_operator.html   |    18 +-
 .../operators/gcp_natural_language_operator.html   |    18 +-
 .../contrib/operators/gcp_spanner_operator.html    |    18 +-
 .../operators/gcp_speech_to_text_operator.html     |    18 +-
 .../contrib/operators/gcp_sql_operator.html        |    18 +-
 .../operators/gcp_text_to_speech_operator.html     |    18 +-
 .../contrib/operators/gcp_transfer_operator.html   |    18 +-
 .../contrib/operators/gcp_translate_operator.html  |    18 +-
 .../operators/gcp_translate_speech_operator.html   |    20 +-
 .../operators/gcp_video_intelligence_operator.html |    18 +-
 .../contrib/operators/gcp_vision_operator.html     |    18 +-
 .../contrib/operators/gcs_acl_operator.html        |    18 +-
 .../contrib/operators/gcs_delete_operator.html     |    18 +-
 .../contrib/operators/gcs_download_operator.html   |    27 +-
 .../contrib/operators/gcs_list_operator.html       |    18 +-
 .../airflow/contrib/operators/gcs_operator.html    |    18 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |    18 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |    18 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |    18 +-
 .../contrib/operators/hipchat_operator.html        |    18 +-
 .../contrib/operators/hive_to_dynamodb.html        |    18 +-
 .../operators/imap_attachment_to_s3_operator.html  |    18 +-
 .../operators/jenkins_job_trigger_operator.html    |    18 +-
 .../airflow/contrib/operators/jira_operator.html   |    18 +-
 .../contrib/operators/kubernetes_pod_operator.html |    24 +-
 .../contrib/operators/mlengine_operator.html       |    47 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |    18 +-
 .../airflow/contrib/operators/mssql_to_gcs.html    |    18 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |    18 +-
 .../contrib/operators/opsgenie_alert_operator.html |    18 +-
 .../oracle_to_azure_data_lake_transfer.html        |    18 +-
 .../operators/oracle_to_oracle_transfer.html       |    18 +-
 .../operators/postgres_to_gcs_operator.html        |    18 +-
 .../airflow/contrib/operators/pubsub_operator.html |    18 +-
 .../contrib/operators/qubole_check_operator.html   |    18 +-
 .../airflow/contrib/operators/qubole_operator.html |    26 +-
 .../contrib/operators/redis_publish_operator.html  |    18 +-
 .../contrib/operators/s3_copy_object_operator.html |    18 +-
 .../operators/s3_delete_objects_operator.html      |    18 +-
 .../contrib/operators/s3_list_operator.html        |    18 +-
 .../contrib/operators/s3_to_gcs_operator.html      |    25 +-
 .../contrib/operators/s3_to_sftp_operator.html     |    18 +-
 .../contrib/operators/sagemaker_base_operator.html |    18 +-
 .../sagemaker_endpoint_config_operator.html        |    18 +-
 .../operators/sagemaker_endpoint_operator.html     |    18 +-
 .../operators/sagemaker_model_operator.html        |    18 +-
 .../operators/sagemaker_training_operator.html     |    18 +-
 .../operators/sagemaker_transform_operator.html    |    18 +-
 .../operators/sagemaker_tuning_operator.html       |    18 +-
 .../operators/segment_track_event_operator.html    |    18 +-
 .../airflow/contrib/operators/sftp_operator.html   |    18 +-
 .../contrib/operators/sftp_to_s3_operator.html     |    18 +-
 .../contrib/operators/slack_webhook_operator.html  |    18 +-
 .../contrib/operators/snowflake_operator.html      |    18 +-
 .../contrib/operators/sns_publish_operator.html    |    18 +-
 .../contrib/operators/spark_jdbc_operator.html     |    18 +-
 .../contrib/operators/spark_sql_operator.html      |    18 +-
 .../contrib/operators/spark_submit_operator.html   |    25 +-
 _modules/airflow/contrib/operators/sql_to_gcs.html |    20 +-
 .../airflow/contrib/operators/sqoop_operator.html  |    18 +-
 .../airflow/contrib/operators/ssh_operator.html    |    22 +-
 .../contrib/operators/vertica_operator.html        |    18 +-
 .../airflow/contrib/operators/vertica_to_hive.html |    18 +-
 .../contrib/operators/vertica_to_mysql.html        |    18 +-
 .../operators/wasb_delete_blob_operator.html       |    18 +-
 .../airflow/contrib/operators/winrm_operator.html  |    22 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |    18 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |    18 +-
 .../sensors/aws_redshift_cluster_sensor.html       |    18 +-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |    20 +-
 .../contrib/sensors/azure_cosmos_sensor.html       |    18 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |    19 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |    18 +-
 .../contrib/sensors/cassandra_record_sensor.html   |    18 +-
 .../contrib/sensors/cassandra_table_sensor.html    |    18 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |    18 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |    18 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |    18 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |    18 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |    18 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |    18 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |    18 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |    18 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |    18 +-
 .../contrib/sensors/imap_attachment_sensor.html    |    18 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |    18 +-
 _modules/airflow/contrib/sensors/mongo_sensor.html |    18 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |    18 +-
 .../airflow/contrib/sensors/python_sensor.html     |    18 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |    18 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |    18 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |    18 +-
 .../contrib/sensors/sagemaker_base_sensor.html     |    18 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |    18 +-
 .../contrib/sensors/sagemaker_training_sensor.html |    18 +-
 .../sensors/sagemaker_transform_sensor.html        |    18 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |    18 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |    18 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |    18 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |    18 +-
 .../example_dags/example_bash_operator.html        |    20 +-
 .../example_dags/example_python_operator.html      |    20 +-
 _modules/airflow/exceptions.html                   |    43 +-
 _modules/airflow/executors.html                    |    22 +-
 _modules/airflow/executors/base_executor.html      |    22 +-
 _modules/airflow/executors/celery_executor.html    |    28 +-
 _modules/airflow/executors/dask_executor.html      |    28 +-
 _modules/airflow/executors/local_executor.html     |    18 +-
 .../airflow/executors/sequential_executor.html     |    18 +-
 _modules/airflow/hooks.html                        |    18 +-
 _modules/airflow/hooks/S3_hook.html                |    18 +-
 _modules/airflow/hooks/base_hook.html              |    18 +-
 _modules/airflow/hooks/dbapi_hook.html             |    18 +-
 _modules/airflow/hooks/docker_hook.html            |    18 +-
 _modules/airflow/hooks/druid_hook.html             |    18 +-
 _modules/airflow/hooks/hdfs_hook.html              |    22 +-
 _modules/airflow/hooks/hive_hooks.html             |    61 +-
 _modules/airflow/hooks/http_hook.html              |    20 +-
 _modules/airflow/hooks/jdbc_hook.html              |    18 +-
 _modules/airflow/hooks/mssql_hook.html             |    18 +-
 _modules/airflow/hooks/mysql_hook.html             |    18 +-
 _modules/airflow/hooks/oracle_hook.html            |    18 +-
 _modules/airflow/hooks/pig_hook.html               |    18 +-
 _modules/airflow/hooks/postgres_hook.html          |    21 +-
 _modules/airflow/hooks/presto_hook.html            |    18 +-
 _modules/airflow/hooks/samba_hook.html             |    18 +-
 _modules/airflow/hooks/slack_hook.html             |    18 +-
 _modules/airflow/hooks/sqlite_hook.html            |    18 +-
 _modules/airflow/hooks/webhdfs_hook.html           |    22 +-
 _modules/airflow/hooks/zendesk_hook.html           |    18 +-
 _modules/airflow/macros.html                       |    18 +-
 _modules/airflow/macros/hive.html                  |    22 +-
 _modules/airflow/models.html                       |    21 +-
 _modules/airflow/models/base.html                  |    22 +-
 _modules/airflow/models/baseoperator.html          |   276 +-
 _modules/airflow/models/chart.html                 |    18 +-
 _modules/airflow/models/connection.html            |    20 +-
 _modules/airflow/models/crypto.html                |    22 +-
 _modules/airflow/models/dag.html                   |   126 +-
 _modules/airflow/models/dagbag.html                |   104 +-
 _modules/airflow/models/dagpickle.html             |    18 +-
 _modules/airflow/models/dagrun.html                |    33 +-
 _modules/airflow/models/errors.html                |    20 +-
 _modules/airflow/models/knownevent.html            |    18 +-
 _modules/airflow/models/kubernetes.html            |    18 +-
 _modules/airflow/models/log.html                   |    18 +-
 _modules/airflow/models/pool.html                  |    21 +-
 _modules/airflow/models/skipmixin.html             |    18 +-
 _modules/airflow/models/slamiss.html               |    18 +-
 _modules/airflow/models/taskfail.html              |    20 +-
 _modules/airflow/models/taskinstance.html          |   176 +-
 _modules/airflow/models/taskreschedule.html        |    20 +-
 _modules/airflow/models/user.html                  |    18 +-
 _modules/airflow/models/variable.html              |    23 +-
 _modules/airflow/models/xcom.html                  |    26 +-
 _modules/airflow/operators.html                    |    18 +-
 _modules/airflow/operators/bash_operator.html      |    18 +-
 _modules/airflow/operators/branch_operator.html    |    18 +-
 _modules/airflow/operators/check_operator.html     |    18 +-
 _modules/airflow/operators/dagrun_operator.html    |    18 +-
 _modules/airflow/operators/docker_operator.html    |    45 +-
 .../airflow/operators/druid_check_operator.html    |    18 +-
 _modules/airflow/operators/dummy_operator.html     |    18 +-
 _modules/airflow/operators/email_operator.html     |    18 +-
 _modules/airflow/operators/generic_transfer.html   |    18 +-
 _modules/airflow/operators/hive_operator.html      |    18 +-
 .../airflow/operators/hive_stats_operator.html     |    18 +-
 _modules/airflow/operators/hive_to_druid.html      |    18 +-
 _modules/airflow/operators/hive_to_mysql.html      |    18 +-
 .../airflow/operators/hive_to_samba_operator.html  |    18 +-
 _modules/airflow/operators/http_operator.html      |    18 +-
 _modules/airflow/operators/jdbc_operator.html      |    18 +-
 .../airflow/operators/latest_only_operator.html    |    21 +-
 _modules/airflow/operators/mssql_operator.html     |    18 +-
 _modules/airflow/operators/mssql_to_hive.html      |    18 +-
 _modules/airflow/operators/mysql_operator.html     |    18 +-
 _modules/airflow/operators/mysql_to_hive.html      |    18 +-
 _modules/airflow/operators/oracle_operator.html    |    18 +-
 _modules/airflow/operators/papermill_operator.html |   401 +
 _modules/airflow/operators/pig_operator.html       |    18 +-
 _modules/airflow/operators/postgres_operator.html  |    18 +-
 .../airflow/operators/presto_check_operator.html   |    18 +-
 _modules/airflow/operators/presto_to_mysql.html    |    18 +-
 _modules/airflow/operators/python_operator.html    |    18 +-
 .../airflow/operators/redshift_to_s3_operator.html |    81 +-
 .../operators/s3_file_transform_operator.html      |    18 +-
 .../airflow/operators/s3_to_hive_operator.html     |    18 +-
 .../airflow/operators/s3_to_redshift_operator.html |    18 +-
 _modules/airflow/operators/sensors.html            |    18 +-
 _modules/airflow/operators/slack_operator.html     |    20 +-
 _modules/airflow/operators/sqlite_operator.html    |    18 +-
 _modules/airflow/operators/subdag_operator.html    |    18 +-
 _modules/airflow/sensors.html                      |    18 +-
 _modules/airflow/sensors/base_sensor_operator.html |    18 +-
 _modules/airflow/sensors/external_task_sensor.html |    18 +-
 _modules/airflow/sensors/hdfs_sensor.html          |    18 +-
 .../airflow/sensors/hive_partition_sensor.html     |    18 +-
 _modules/airflow/sensors/http_sensor.html          |    18 +-
 .../sensors/metastore_partition_sensor.html        |    18 +-
 .../sensors/named_hive_partition_sensor.html       |    18 +-
 _modules/airflow/sensors/s3_key_sensor.html        |    18 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |    18 +-
 _modules/airflow/sensors/sql_sensor.html           |    18 +-
 _modules/airflow/sensors/time_delta_sensor.html    |    18 +-
 _modules/airflow/sensors/time_sensor.html          |    18 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |    18 +-
 _modules/airflow/utils/log/logging_mixin.html      |    50 +-
 _modules/index.html                                |    23 +-
 .../executors/kubernetes_executor/index.rst.txt    |    60 +-
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |     5 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |     7 +-
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |     5 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |     5 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |     9 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |     5 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |     5 +
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |     5 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |    51 +-
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |    42 +-
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |     2 +-
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |     7 +-
 .../contrib/hooks/qubole_hook/index.rst.txt        |    26 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |     4 +-
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |     2 +-
 .../contrib/operators/adls_to_gcs/index.rst.txt    |     4 +-
 .../aws_sqs_publish_operator/index.rst.txt         |     5 +
 .../operators/awsbatch_operator/index.rst.txt      |     6 +-
 .../operators/bigquery_operator/index.rst.txt      |   129 +-
 .../operators/cassandra_to_gcs/index.rst.txt       |    10 +-
 .../operators/databricks_operator/index.rst.txt    |     4 +-
 .../operators/dataflow_operator/index.rst.txt      |     2 +-
 .../contrib/operators/ecs_operator/index.rst.txt   |     4 +-
 .../operators/gcp_container_operator/index.rst.txt |     5 -
 .../operators/gcs_download_operator/index.rst.txt  |     9 +-
 .../kubernetes_pod_operator/index.rst.txt          |     5 +
 .../operators/qubole_operator/index.rst.txt        |    15 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |     5 +-
 .../operators/spark_submit_operator/index.rst.txt  |     6 +-
 _sources/_api/airflow/executors/index.rst.txt      |     5 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |     5 +
 .../_api/airflow/models/baseoperator/index.rst.txt |    91 +-
 _sources/_api/airflow/models/dag/index.rst.txt     |    34 +-
 _sources/_api/airflow/models/dagbag/index.rst.txt  |    25 +-
 _sources/_api/airflow/models/index.rst.txt         |   173 +-
 .../_api/airflow/models/taskfail/index.rst.txt     |     5 +
 .../_api/airflow/models/taskinstance/index.rst.txt |     2 +
 .../airflow/models/taskreschedule/index.rst.txt    |     5 +
 .../operators/docker_operator/index.rst.txt        |    16 +-
 _sources/_api/airflow/operators/index.rst.txt      |    78 +-
 .../operators/latest_only_operator/index.rst.txt   |     3 +
 .../operators/papermill_operator/index.rst.txt     |    43 +
 .../redshift_to_s3_operator/index.rst.txt          |    10 +
 .../airflow/operators/slack_operator/index.rst.txt |     2 +-
 _sources/concepts.rst.txt                          |   132 +-
 _sources/errors.rst.txt                            |    67 +
 _sources/faq.rst.txt                               |     2 +-
 _sources/howto/cli-completion.rst.txt              |    50 +
 _sources/howto/connection/aws.rst.txt              |    15 +-
 _sources/howto/connection/gcp.rst.txt              |     5 +-
 _sources/howto/connection/grpc.rst.txt             |    20 +-
 _sources/howto/connection/index.rst.txt            |     2 +-
 _sources/howto/connection/oracle.rst.txt           |    14 +-
 _sources/howto/connection/ssh.rst.txt              |    11 +-
 _sources/howto/define_extra_link.rst.txt           |    82 +-
 _sources/howto/executor/use-celery.rst.txt         |    73 +-
 _sources/howto/executor/use-mesos.rst.txt          |     4 +-
 _sources/howto/index.rst.txt                       |     1 +
 _sources/howto/initialize-database.rst.txt         |     4 +-
 _sources/howto/operator/bash.rst.txt               |     2 +-
 _sources/howto/operator/dingding.rst.txt           |     3 +
 _sources/howto/operator/gcp/function.rst.txt       |     2 +-
 _sources/howto/operator/gcp/spanner.rst.txt        |     2 +-
 _sources/howto/operator/gcp/sql.rst.txt            |     8 +-
 _sources/howto/operator/gcp/vision.rst.txt         |    42 +-
 _sources/howto/operator/index.rst.txt              |     1 +
 _sources/howto/operator/papermill.rst.txt          |    60 +
 _sources/howto/run-behind-proxy.rst.txt            |    10 +-
 _sources/howto/run-with-systemd.rst.txt            |     4 +-
 _sources/howto/run-with-upstart.rst.txt            |     2 +-
 _sources/howto/secure-connections.rst.txt          |     2 +-
 _sources/howto/set-config.rst.txt                  |     6 +-
 _sources/howto/use-test-config.rst.txt             |     2 +-
 _sources/howto/write-logs.rst.txt                  |    20 +-
 _sources/index.rst.txt                             |    13 +-
 _sources/integration.rst.txt                       |    16 +-
 _sources/lineage.rst.txt                           |    20 +-
 _sources/metrics.rst.txt                           |    38 +-
 _sources/plugins.rst.txt                           |    35 +-
 _sources/scheduler.rst.txt                         |     2 +-
 _sources/security.rst.txt                          |    28 +-
 _sources/timezone.rst.txt                          |    24 +-
 _sources/tutorial.rst.txt                          |     8 +-
 _static/documentation_options.js                   |     2 +-
 _static/graphviz.css                               |    19 +
 _static/pin_32.png                                 |   Bin 0 -> 1201 bytes
 api.html                                           |    23 +-
 changelog.html                                     |   289 +-
 cli.html                                           |   333 +-
 concepts.html                                      |   142 +-
 errors.html                                        |   437 +
 faq.html                                           |    20 +-
 genindex.html                                      |   192 +-
 howto/check-health.html                            |    19 +-
 howto/cli-completion.html                          |   401 +
 howto/connection/aws.html                          |    36 +-
 howto/connection/gcp.html                          |    24 +-
 howto/connection/gcp_sql.html                      |    19 +-
 howto/connection/grpc.html                         |    39 +-
 howto/connection/index.html                        |    21 +-
 howto/connection/mysql.html                        |    19 +-
 howto/connection/oracle.html                       |    33 +-
 howto/connection/postgres.html                     |    19 +-
 howto/connection/ssh.html                          |    28 +-
 howto/define_extra_link.html                       |    96 +-
 howto/executor/use-celery.html                     |    94 +-
 howto/executor/use-dask.html                       |    19 +-
 howto/executor/use-mesos.html                      |    23 +-
 howto/index.html                                   |    31 +-
 howto/initialize-database.html                     |    23 +-
 howto/operator/bash.html                           |    22 +-
 howto/operator/dingding.html                       |    35 +-
 howto/operator/gcp/bigtable.html                   |    20 +-
 howto/operator/gcp/cloud_build.html                |    20 +-
 howto/operator/gcp/compute.html                    |    20 +-
 howto/operator/gcp/function.html                   |    22 +-
 howto/operator/gcp/gcs.html                        |    20 +-
 howto/operator/gcp/index.html                      |    20 +-
 howto/operator/gcp/natural_language.html           |    22 +-
 howto/operator/gcp/spanner.html                    |    22 +-
 howto/operator/gcp/speech.html                     |    20 +-
 howto/operator/gcp/sql.html                        |    28 +-
 howto/operator/gcp/transfer.html                   |    24 +-
 howto/operator/gcp/translate-speech.html           |    20 +-
 howto/operator/gcp/translate.html                  |    20 +-
 howto/operator/gcp/video.html                      |    20 +-
 howto/operator/gcp/vision.html                     |    76 +-
 howto/operator/index.html                          |    24 +-
 howto/operator/papermill.html                      |   428 +
 howto/operator/python.html                         |    24 +-
 howto/run-behind-proxy.html                        |    29 +-
 howto/run-with-systemd.html                        |    23 +-
 howto/run-with-upstart.html                        |    21 +-
 howto/secure-connections.html                      |    21 +-
 howto/set-config.html                              |    29 +-
 howto/tracking-user-activity.html                  |    23 +-
 howto/use-test-config.html                         |    23 +-
 howto/write-logs.html                              |   103 +-
 http-routingtable.html                             |    18 +-
 index.html                                         |   151 +-
 installation.html                                  |    18 +-
 integration.html                                   |    40 +-
 kubernetes.html                                    |    22 +-
 license.html                                       |    18 +-
 lineage.html                                       |    52 +-
 macros.html                                        |    60 +-
 metrics.html                                       |    86 +-
 objects.inv                                        |   Bin 39960 -> 40555 bytes
 plugins.html                                       |    53 +-
 privacy_notice.html                                |    18 +-
 profiling.html                                     |    18 +-
 project.html                                       |    18 +-
 py-modindex.html                                   |    23 +-
 scheduler.html                                     |    20 +-
 search.html                                        |    18 +-
 searchindex.js                                     |     2 +-
 security.html                                      |    82 +-
 start.html                                         |    18 +-
 timezone.html                                      |    42 +-
 tutorial.html                                      |    26 +-
 ui.html                                            |    22 +-
 2024 files changed, 501659 insertions(+), 6643 deletions(-)

diff --git a/1.10.6/_api/airflow/contrib/executors/index.html b/1.10.6/_api/airflow/contrib/executors/index.html
new file mode 100644
index 0000000..b2be413
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/executors/index.html
@@ -0,0 +1,395 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.kubernetes_executor" href="kubernetes_executor/index.html" />
+    <link rel="prev" title="airflow.executors.sequential_executor" href="../../executors/sequential_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Python API Reference</a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../_sources/_api/airflow/contrib/executors/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors">
+<span id="airflow-contrib-executors"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors" title="airflow.contrib.executors"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="mesos_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="kubernetes_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.kubernetes_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../../executors/sequential_executor/index.html" class="btn btn-neutral float-left" title="airflow.executors.sequential_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.6/_api/airflow/contrib/executors/kubernetes_executor/index.html
new file mode 100644
index 0000000..f2921f2
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -0,0 +1,694 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.mesos_executor" href="../mesos_executor/index.html" />
+    <link rel="prev" title="airflow.contrib.executors" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/kubernetes_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.kubernetes_executor">
+<span id="airflow-contrib-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.kubernetes_executor" title="airflow.contrib.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<p><p>Kubernetes executor</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="data">
+<dt id="airflow.contrib.executors.kubernetes_executor.MAX_POD_ID_LEN">
+<code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">MAX_POD_ID_LEN</code><em class="property"> = 253</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#MAX_POD_ID_LEN"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.MAX_POD_ID_LEN" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="data">
+<dt id="airflow.contrib.executors.kubernetes_executor.MAX_LABEL_LEN">
+<code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">MAX_LABEL_LEN</code><em class="property"> = 63</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#MAX_LABEL_LEN"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.MAX_LABEL_LEN" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutorConfig</code><span class="sig-paren">(</span><em class="sig-param">image=None</em>, <em class="sig-param">image_pull_policy=None</em>, <em class="sig-param">request_memory=None</em>, <em class="sig-param">request_cpu=None</em>, <em class="sig-param">limit_memory=None</em>, <em class="sig-param">limit_cpu=None</em>,  [...]
+<dd><dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__">
+<code class="sig-name descname">__repr__</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict">
+<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.from_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict" title="Perma [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict">
+<code class="sig-name descname">as_dict</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubeConfig</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig" title="Permalink to this definition">¶</a></dt>
+<dd><p>Configuration for Kubernetes</p>
+<dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section">
+<code class="sig-name descname">core_section</code><em class="property"> = core</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.core_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section">
+<code class="sig-name descname">kubernetes_section</code><em class="property"> = kubernetes</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.kubernetes_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_context_val">
+<code class="sig-name descname">_get_security_context_val</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">scontext</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._get_security_context_val"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._validate">
+<code class="sig-name descname">_validate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._validate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em class="sig-param">namespace</em>, <em class="sig-param">watcher_queue</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../.. [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Watches for Kubernetes jobs</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run">
+<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition">¶</a></dt>
+<dd><p>Performs watching</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run">
+<code class="sig-name descname">_run</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher._run"><span class="viewcode-link">[source]</span></a><a c [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
+<code class="sig-name descname">process_error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">event</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error" title= [...]
+<dd><p>Process error response</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
+<code class="sig-name descname">process_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em>, <em class="sig-param">status</em>, <em class="sig-param">labels</em>, <em class="sig-param">resource_version</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_status"><span class="viewcode-link">[source]</span></a [...]
+<dd><p>Process status response</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em class="sig-param">kube_config</em>, <em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../. [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Airflow Scheduler for Kubernetes</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
+<code class="sig-name descname">_make_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Permal [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
+<code class="sig-name descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kub [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
+<code class="sig-name descname">run_next</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">next_job</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.run_next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next" title= [...]
+<dd><p>The run_next command will check the task_queue for any un-run jobs.
+It will then create a unique job-id, launch that job in the cluster,
+and store relevant info in the current_jobs map so we can track the job’s
+status</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
+<code class="sig-name descname">delete_pod</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.delete_pod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod" ti [...]
+<dd><p>Deletes POD</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>The sync function checks the status of all currently running kubernetes jobs.
+If a job is completed, it’s status is placed in the result queue to
+be sent back to the scheduler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
+<code class="sig-name descname">process_watcher_task</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">task</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.process_watcher_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesSchedu [...]
+<dd><p>Process the task by watcher.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars">
+<em class="property">static </em><code class="sig-name descname">_strip_unsafe_kubernetes_special_chars</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuber [...]
+<dd><p>Kubernetes only supports lowercase alphanumeric characters and “-” and “.” in
+the pod name
+However, there are special rules about how “-” and “.” can be used so let’s
+only keep
+alphanumeric chars  see here for detail:
+<a class="reference external" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – The requested Pod name</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> Pod name stripped of any unsafe characters</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id">
+<em class="property">static </em><code class="sig-name descname">_make_safe_pod_id</code><span class="sig-paren">(</span><em class="sig-param">safe_dag_id</em>, <em class="sig-param">safe_task_id</em>, <em class="sig-param">safe_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerli [...]
+<dd><p>Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for
+validation
+“^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>safe_dag_id</strong> – a dag_id with only alphanumeric characters</p></li>
+<li><p><strong>safe_task_id</strong> – a task_id with only alphanumeric characters</p></li>
+<li><p><strong>random_uuid</strong> – a uuid</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> valid Pod name of appropriate length</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value">
+<em class="property">static </em><code class="sig-name descname">_make_safe_label_value</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_label_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetes [...]
+<dd><p>Valid label values must be 63 characters or less and must be empty or begin and
+end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
+dots (.), and alphanumerics between.</p>
+<p>If the label value is then greater than 63 chars once made safe, or differs in any
+way from the original value sent to this function, then we need to truncate to
+53chars, and append it with a unique hash.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id">
+<em class="property">static </em><code class="sig-name descname">_create_pod_id</code><span class="sig-paren">(</span><em class="sig-param">dag_id</em>, <em class="sig-param">task_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._create_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_execut [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime">
+<em class="property">static </em><code class="sig-name descname">_label_safe_datestring_to_datetime</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._label_safe_datestring_to_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_ex [...]
+<dd><p>Kubernetes doesn’t permit “:” in labels. ISO datetime format uses “:” but not
+“_”, let’s
+replace “:” with “_”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – str</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>datetime.datetime object</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring">
+<em class="property">static </em><code class="sig-name descname">_datetime_to_label_safe_datestring</code><span class="sig-paren">(</span><em class="sig-param">datetime_obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._datetime_to_label_safe_datestring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuberne [...]
+<dd><p>Kubernetes doesn’t like “:” in labels, since ISO datetime format uses “:” but
+not “_” let’s
+replace “:” with “_”
+:param datetime_obj: datetime.datetime object
+:return: ISO-like string representing the datetime</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key">
+<code class="sig-name descname">_labels_to_key</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">labels</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._labels_to_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue">
+<code class="sig-name descname">_flush_watcher_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._flush_watcher_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue" title=" [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Termninates the watcher.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition"> [...]
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Executor for Kubernetes</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
+<code class="sig-name descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">session=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.K [...]
+<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
+may not
+have been launched Thus, on starting up the scheduler let’s check every
+“Queued” task to
+see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
+<p>If it has been launched then do nothing, otherwise reset the state to “None” so
+the task
+will be rescheduled</p>
+<p>This will not be necessary in a future version of airflow in which there is
+proper support
+for State.LAUNCHED</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets">
+<code class="sig-name descname">_inject_secrets</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._inject_secrets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd><p>Starts the executor</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.execute_async"><span class="viewcode-link">[source]</span>< [...]
+<dd><p>Executes task asynchronously</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>Synchronize task state.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state">
+<code class="sig-name descname">_change_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">state</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._change_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executo [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue">
+<code class="sig-name descname">_flush_task_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._flush_task_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue" title="Permalink to this definit [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue">
+<code class="sig-name descname">_flush_result_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._flush_result_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue" title="Permalink to this d [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called when the executor shuts down</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mesos_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.mesos_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.6/_api/airflow/contrib/executors/mesos_executor/index.html
new file mode 100644
index 0000000..01378d7
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -0,0 +1,500 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.models" href="../../../models/index.html" />
+    <link rel="prev" title="airflow.contrib.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/mesos_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.mesos_executor">
+<span id="airflow-contrib-executors-mesos-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.mesos_executor" title="airflow.contrib.executors.mesos_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.mesos_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">DEFAULT_FRAMEWORK_NAME</code><em class="property"> = Airflow</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#DEFAULT_FRAMEWORK_NAME"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME" title="Permalink to this definition" [...]
+<dd></dd></dl>
+
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">FRAMEWORK_CONNID_PREFIX</code><em class="property"> = mesos_framework_</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#FRAMEWORK_CONNID_PREFIX"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX" title="Permalink to this [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.executors.mesos_executor.get_framework_name">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">get_framework_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#get_framework_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.get_framework_name" title="Permalink to  [...]
+<dd></dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">AirflowMesosScheduler</code><span class="sig-paren">(</span><em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">task_cpu=1</em>, <em class="sig-param">task_mem=256</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/meso [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mesos.interface.Scheduler</span></code></p>
+<p>Airflow Mesos scheduler implements mesos scheduler interface
+to schedule airflow tasks on mesos.
+Basically, it schedules a command like
+‘airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; –local -p=&lt;pickle&gt;’
+to run on a mesos slave.</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.registered">
+<code class="sig-name descname">registered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">frameworkId</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.registered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.ex [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.reregistered">
+<code class="sig-name descname">reregistered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.reregistered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected">
+<code class="sig-name descname">disconnected</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.disconnected"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected" title="Permalink [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.offerRescinded">
+<code class="sig-name descname">offerRescinded</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offerId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.offerRescinded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesos [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.frameworkMessage">
+<code class="sig-name descname">frameworkMessage</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.frameworkMessage"><span class="viewcode-link">[source]</span></a><a  [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.executorLost">
+<code class="sig-name descname">executorLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">status</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.executorLost"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.slaveLost">
+<code class="sig-name descname">slaveLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">slaveId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.slaveLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler. [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error">
+<code class="sig-name descname">error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error" t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.resourceOffers">
+<code class="sig-name descname">resourceOffers</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offers</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.resourceOffers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.statusUpdate">
+<code class="sig-name descname">statusUpdate</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">update</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.statusUpdate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosSched [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">MesosExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>MesosExecutor allows distributing the execution of task
+instances to multiple mesos workers.</p>
+<p>Apache Mesos is a distributed systems kernel which abstracts
+CPU, memory, storage, and other compute resources away from
+machines (physical or virtual), enabling fault-tolerant and
+elastic distributed systems to easily be built and run effectively.
+See <a class="reference external" href="http://mesos.apache.org/">http://mesos.apache.org/</a></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a clas [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../../../models/index.html" class="btn btn-neutral float-right" title="airflow.models" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../kubernetes_executor/index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors.kubernetes_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_athena_hook/index.html
new file mode 100644
index 0000000..4523a4f
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -0,0 +1,523 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_athena_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_athena_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_athena_hook">
+<span id="airflow-contrib-hooks-aws-athena-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_athena_hook" title="airflow.contrib.hooks.aws_athena_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_athena_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS Athena hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_athena_hook.</code><code class="sig-name descname">AWSAthenaHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">sleep_time=30</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_h [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Athena to run, poll queries and return query results</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – aws connection to use.</p></li>
+<li><p><strong>sleep_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – Time to wait between two consecutive call to check query status on athena</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES">
+<code class="sig-name descname">INTERMEDIATE_STATES</code><em class="property"> = ['QUEUED', 'RUNNING']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.INTERMEDIATE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES">
+<code class="sig-name descname">FAILURE_STATES</code><em class="property"> = ['FAILED', 'CANCELLED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.FAILURE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES">
+<code class="sig-name descname">SUCCESS_STATES</code><em class="property"> = ['SUCCEEDED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.SUCCESS_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>check if aws conn exists already or create one and return it</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>boto3 session</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query">
+<code class="sig-name descname">run_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query</em>, <em class="sig-param">query_context</em>, <em class="sig-param">result_configuration</em>, <em class="sig-param">client_request_token=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.run_query"><span class="viewcode-link">[source]</span [...]
+<dd><p>Run Presto query on athena with provided config and return submitted query_execution_id</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Presto query to run</p></li>
+<li><p><strong>query_context</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)"><em>dict</em></a>) – Context in which query need to be run</p></li>
+<li><p><strong>result_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)"><em>dict</em></a>) – Dict with path to store results in and config related to encryption</p></li>
+<li><p><strong>client_request_token</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Unique token created by user to avoid multiple executions of same query</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status">
+<code class="sig-name descname">check_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.check_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status" title="P [...]
+<dd><p>Fetch the status of submitted athena query. Returns None or one of valid query states.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_reason">
+<code class="sig-name descname">get_state_change_reason</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_state_change_reason"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_r [...]
+<dd><p>Fetch the reason for a state change (e.g. error message). Returns None or reason string.
+:param query_execution_id: Id of submitted athena query
+:type query_execution_id: str
+:return: str</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results">
+<code class="sig-name descname">get_query_results</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_query_results"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results" title="Perm [...]
+<dd><p>Fetch submitted athena query results. returns none if query is in intermediate state or
+failed/cancelled state else dict of query output</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status">
+<code class="sig-name descname">poll_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em>, <em class="sig-param">max_tries=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.poll_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.A [...]
+<dd><p>Poll the status of submitted athena query until query state reaches final state.
+Returns one of the final states</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Id of submitted athena query</p></li>
+<li><p><strong>max_tries</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – Number of times to poll for query state before function exits</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query">
+<code class="sig-name descname">stop_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.stop_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query" title="Permalink to this definit [...]
+<dd><p>Cancel the submitted athena query</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
new file mode 100644
index 0000000..d6eca2e
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -0,0 +1,420 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_athena_hook" href="../aws_athena_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_dynamodb_hook">
+<span id="airflow-contrib-hooks-aws-dynamodb-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="airflow.contrib.hooks.aws_dynamodb_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains the AWS DynamoDB hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_dynamodb_hook.</code><code class="sig-name descname">AwsDynamoDBHook</code><span class="sig-paren">(</span><em class="sig-param">table_keys=None</em>, <em class="sig-param">table_name=None</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_m [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS DynamoDB.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>table_keys</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.8)"><em>list</em></a>) – partition key and sort key</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – target DynamoDB table</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">
+<code class="sig-name descname">write_batch_data</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">items</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.write_batch_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data" title="Permalink to [...]
+<dd><p>Write batch items to DynamoDB table with provisioned throughout capacity.</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_athena_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_athena_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
new file mode 100644
index 0000000..f14929b
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -0,0 +1,416 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_firehose_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_firehose_hook">
+<span id="airflow-contrib-hooks-aws-firehose-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="airflow.contrib.hooks.aws_firehose_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS Firehose hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_firehose_hook.</code><code class="sig-name descname">AwsFirehoseHook</code><span class="sig-paren">(</span><em class="sig-param">delivery_stream</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_ho [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Kinesis Firehose.
+:param delivery_stream: Name of the delivery stream
+:type delivery_stream: str
+:param region_name: AWS region name (example: us-east-1)
+:type region_name: str</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns AwsHook connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">
+<code class="sig-name descname">put_records</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">records</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.put_records"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records" title="Permalink to this definit [...]
+<dd><p>Write batch records to Kinesis Firehose</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
new file mode 100644
index 0000000..4715021
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -0,0 +1,505 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_glue_catalog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_glue_catalog_hook">
+<span id="airflow-contrib-hooks-aws-glue-catalog-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="airflow.contrib.hooks.aws_glue_catalog_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS Glue Catalog Hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_glue_catalog_hook.</code><code class="sig-name descname">AwsGlueCatalogHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hook [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Glue Catalog</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – ID of the Airflow connection where
+credentials and extra configuration are stored</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns glue connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_partitions">
+<code class="sig-name descname">get_partitions</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression=''</em>, <em class="sig-param">page_size=None</em>, <em class="sig-param">max_items=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_par [...]
+<dd><p>Retrieves the partition values for a table.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – The name of the catalog database where the partitions reside.</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – The name of the partitions’ table.</p></li>
+<li><p><strong>expression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – An expression filtering the partitions to be returned.
+Please see official AWS documentation for further information.
+<a class="reference external" href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions">https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions</a></p></li>
+<li><p><strong>page_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – pagination size</p></li>
+<li><p><strong>max_items</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – maximum items to return</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>set of partition values where each value is a tuple since
+a partition may be composed of multiple columns. For example:
+<code class="docutils literal notranslate"><span class="pre">{('2018-01-01','1'),</span> <span class="pre">('2018-01-01','2')}</span></code></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_partition">
+<code class="sig-name descname">check_for_partition</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.check_for_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
+<dd><p>Checks whether a partition exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive table &#64;partition belongs to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Expression</dt>
+<dd class="field-even"><p>Expression that matches the partitions to check for
+(eg <cite>a = ‘b’ AND c = ‘d’</cite>)</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.8)">bool</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s1">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s1">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s2">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table">
+<code class="sig-name descname">get_table</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCa [...]
+<dd><p>Get the information of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)">dict</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s1">&#39;db&#39;</span><span class="p">,</span> <span class="s1">&#39;table_foo&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s1">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;table_foo&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table_location">
+<code class="sig-name descname">get_table_location</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table_location"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_cata [...]
+<dd><p>Get the physical location of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_hook/index.html
new file mode 100644
index 0000000..b56aa90
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -0,0 +1,465 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_hook">
+<span id="airflow-contrib-hooks-aws-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_hook" title="airflow.contrib.hooks.aws_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains Base AWS Hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="function">
+<dt id="airflow.contrib.hooks.aws_hook._parse_s3_config">
+<code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">_parse_s3_config</code><span class="sig-paren">(</span><em class="sig-param">config_file_name</em>, <em class="sig-param">config_format='boto'</em>, <em class="sig-param">profile=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#_parse_s3_config"><span class="viewcode-link">[source]</span></a>< [...]
+<dt>
+<code class="sig-name descname">Parses a config file for s3 credentials. Can currently</code></dt>
+<dt>
+<code class="sig-name descname">parse boto, s3cmd.conf and AWS SDK config formats</code></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>config_file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – path to the config file</p></li>
+<li><p><strong>config_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – config type. One of “boto”, “s3cmd” or “aws”.
+Defaults to “boto”</p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – profile name in AWS type config file</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">AwsHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">verify=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href=" [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interact with AWS.
+This class is a thin wrapper around the boto3 python library.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook._get_credentials">
+<code class="sig-name descname">_get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook._get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook._get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_client_type">
+<code class="sig-name descname">get_client_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">client_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_client_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks [...]
+<dd><p>Get the underlying boto3 client using boto3 session</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_resource_type">
+<code class="sig-name descname">get_resource_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_resource_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib [...]
+<dd><p>Get the underlying boto3 resource using boto3 session</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_session">
+<code class="sig-name descname">get_session</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying boto3.session.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">
+<code class="sig-name descname">get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying <cite>botocore.Credentials</cite> object.</p>
+<p>This contains the following authentication attributes: access_key, secret_key and token.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.expand_role">
+<code class="sig-name descname">expand_role</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">role</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.expand_role"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.expand_role" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.
+If IAM role is already an IAM role ARN, no change is made.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>role</strong> – IAM role name or ARN</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>IAM role ARN</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
new file mode 100644
index 0000000..d4d9362
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -0,0 +1,422 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_logs_hook" href="../aws_logs_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_lambda_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_lambda_hook">
+<span id="airflow-contrib-hooks-aws-lambda-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="airflow.contrib.hooks.aws_lambda_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS Lambda hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_lambda_hook.</code><code class="sig-name descname">AwsLambdaHook</code><span class="sig-paren">(</span><em class="sig-param">function_name</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">log_type='None'</em>, <em class="sig-param">qualifier='$LATEST'</em>, <em class="sig-param">invocation_type='RequestResponse'</em>, <em class="sig-param">*args</em>, <em class="sig-p [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Lambda</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>function_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – AWS Lambda Function Name</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p></li>
+<li><p><strong>log_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Tail Invocation Request</p></li>
+<li><p><strong>qualifier</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – AWS Lambda Function Version or Alias Name</p></li>
+<li><p><strong>invocation_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – AWS Lambda Invocation Type (RequestResponse, Event etc)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">
+<code class="sig-name descname">invoke_lambda</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">payload</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.invoke_lambda"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda" title="Permalink to this definitio [...]
+<dd><p>Invoke Lambda Function</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_logs_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_logs_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_logs_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_logs_hook/index.html
new file mode 100644
index 0000000..fb6627b
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_logs_hook/index.html
@@ -0,0 +1,451 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_logs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_logs_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_logs_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_logs_hook">
+<span id="airflow-contrib-hooks-aws-logs-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_logs_hook" title="airflow.contrib.hooks.aws_logs_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_logs_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_logs_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains a hook (AwsLogsHook) with some very basic
+functionality for interacting with AWS CloudWatch.</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_logs_hook.</code><code class="sig-name descname">AwsLogsHook</code><span class="sig-paren">(</span><em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook"><span class="viewcode-link">[source [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS CloudWatch Logs</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Establish an AWS connection for retrieving logs.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.10.3)">CloudWatchLogs.Client</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_log_events">
+<code class="sig-name descname">get_log_events</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">log_group</em>, <em class="sig-param">log_stream_name</em>, <em class="sig-param">start_time=0</em>, <em class="sig-param">skip=0</em>, <em class="sig-param">start_from_head=True</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook.get_log_events"><span cl [...]
+<dd><p>A generator for log items in a single stream. This will yield all the
+items that are available at the current moment.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>log_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – The name of the log group.</p></li>
+<li><p><strong>log_stream_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – The name of the specific stream.</p></li>
+<li><p><strong>start_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – The time stamp value to start reading the logs from (default: 0).</p></li>
+<li><p><strong>skip</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – The number of log entries to skip at the start (default: 0).
+This is for when there are multiple entries at the same timestamp.</p></li>
+<li><p><strong>start_from_head</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.8)"><em>bool</em></a>) – whether to start from the beginning (True) of the log or
+at the end of the log (False).</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)">dict</a></p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><div class="line-block">
+<div class="line">A CloudWatch log event with the following key-value pairs:</div>
+<div class="line-block">
+<div class="line">’timestamp’ (int): The time in milliseconds of the event.</div>
+<div class="line">’message’ (str): The log event data.</div>
+<div class="line">’ingestionTime’ (int): The time in milliseconds the event was ingested.</div>
+</div>
+</div>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sns_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_sns_hook/index.html
new file mode 100644
index 0000000..e197834
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -0,0 +1,421 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sns_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_logs_hook" href="../aws_logs_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sns_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sns_hook">
+<span id="airflow-contrib-hooks-aws-sns-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sns_hook" title="airflow.contrib.hooks.aws_sns_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sns_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS SNS hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sns_hook.</code><code class="sig-name descname">AwsSnsHook</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with Amazon Simple Notification Service.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get an SNS connection</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_target">
+<code class="sig-name descname">publish_to_target</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">target_arn</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.publish_to_target"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_tar [...]
+<dd><p>Publish a message to a topic or an endpoint.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>target_arn</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – either a TopicArn or an EndpointArn</p></li>
+<li><p><strong>message</strong> – the default message you want to send</p></li>
+<li><p><strong>message</strong> – str</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_logs_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_logs_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
new file mode 100644
index 0000000..a9e92dd
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -0,0 +1,459 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sqs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sqs_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sqs_hook">
+<span id="airflow-contrib-hooks-aws-sqs-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="airflow.contrib.hooks.aws_sqs_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains AWS SQS hook</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sqs_hook.</code><code class="sig-name descname">SQSHook</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Get the SQS client using boto3 library</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>SQS client</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>botocore.client.SQS</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue">
+<code class="sig-name descname">create_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_name</em>, <em class="sig-param">attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.create_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue" title="P [...]
+<dd><p>Create queue using connection object</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – name of the queue.</p></li>
+<li><p><strong>attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)"><em>dict</em></a>) – additional attributes for the queue (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the queue
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.send_message">
+<code class="sig-name descname">send_message</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_url</em>, <em class="sig-param">message_body</em>, <em class="sig-param">delay_seconds=0</em>, <em class="sig-param">message_attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.send_message"><span class="viewcode-link">[source]</span></a><a [...]
+<dd><p>Send message to the queue</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_url</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – queue url</p></li>
+<li><p><strong>message_body</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the contents of the message</p></li>
+<li><p><strong>delay_seconds</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – seconds to delay the message</p></li>
+<li><p><strong>message_attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)"><em>dict</em></a>) – additional attributes for the message (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the message sent
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.8)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sns_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
new file mode 100644
index 0000000..606f318
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -0,0 +1,539 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_instance_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_instance_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_instance_hook">
+<span id="airflow-contrib-hooks-azure-container-instance-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="airflow.contrib.hooks.azure_container_instance_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_instance_hook.</code><code class="sig-name descname">AzureContainerInstanceHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook"><span class="viewcode-link">[source]< [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with Azure Container Instances.</p>
+<p>This hook requires a service principal in order to work.
+After creating this service principal
+(Azure Active Directory/App Registrations), you need to fill in the
+client_id (Application ID) as login, the generated password as password,
+and tenantId and subscriptionId in the extra’s field as a json.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.create_or_update">
+<code class="sig-name descname">create_or_update</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">container_group</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.create_or_update"><span class="viewcode-link">[source]</span></a><a class="hea [...]
+<dd><p>Create a new container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>container_group</strong> (<em>azure.mgmt.containerinstance.models.ContainerGroup</em>) – the properties of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state_exitcode_details">
+<code class="sig-name descname">get_state_exitcode_details</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state_exitcode_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Get the state and exitcode of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A tuple with the state, exitcode, and details.
+If the exitcode is unknown 0 is returned.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.8)">tuple</a>(state,exitcode,details)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_messages">
+<code class="sig-name descname">get_messages</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_messages"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_containe [...]
+<dd><p>Get the messages of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of the event messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.8)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state">
+<code class="sig-name descname">get_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_inst [...]
+<dd><p>Get the state of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>ContainerGroup</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>ContainerGroup</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_logs">
+<code class="sig-name descname">get_logs</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">tail=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflo [...]
+<dd><p>Get the tail from logs of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>tail</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.8)"><em>int</em></a>) – the size of the tail</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of log messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.8)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.delete">
+<code class="sig-name descname">delete</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Delete a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.exists">
+<code class="sig-name descname">exists</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Test if a container group exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
new file mode 100644
index 0000000..4da5168
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -0,0 +1,409 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_registry_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_registry_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_registry_hook">
+<span id="airflow-contrib-hooks-azure-container-registry-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="airflow.contrib.hooks.azure_container_registry_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_registry_hook.</code><code class="sig-name descname">AzureContainerRegistryHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_registry'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook"><span class="viewcode-link">[source] [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with a Azure Container Registry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
new file mode 100644
index 0000000..b93e1d0
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -0,0 +1,414 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_volume_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_volume_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_volume_hook">
+<span id="airflow-contrib-hooks-azure-container-volume-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="airflow.contrib.hooks.azure_container_volume_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="Permalink to this headline">¶< [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_volume_hook.</code><code class="sig-name descname">AzureContainerVolumeHook</code><span class="sig-paren">(</span><em class="sig-param">wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook"><span class="viewcode-link">[source]</spa [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook which wraps an Azure Volume.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – connection id of a Azure storage account of
+which file shares should be mounted</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey">
+<code class="sig-name descname">get_storagekey</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_storagekey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey" title="Permalink to t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_file_volume">
+<code class="sig-name descname">get_file_volume</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">mount_name</em>, <em class="sig-param">share_name</em>, <em class="sig-param">storage_account_name</em>, <em class="sig-param">read_only=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_file_volume"><span class="vi [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
new file mode 100644
index 0000000..e6b9381
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -0,0 +1,504 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_cosmos_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_cosmos_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_cosmos_hook">
+<span id="airflow-contrib-hooks-azure-cosmos-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="airflow.contrib.hooks.azure_cosmos_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">AzureCosmosDBHook</code><span class="sig-paren">(</span><em class="sig-param">azure_cosmos_conn_id='azure_cosmos_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure CosmosDB.</p>
+<p>login should be the endpoint uri, password should be the master key
+optionally, you can use the following extras to default these values
+{“database_name”: “&lt;DATABASE_NAME&gt;”, “collection_name”: “COLLECTION_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_cosmos_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.8)"><em>str</em></a>) – Reference to the Azure CosmosDB connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a cosmos db client.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database_name">
+<code class="sig-name descname">__get_database_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_database_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_collection_name">
+<code class="sig-name descname">__get_collection_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_collection_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_co [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist">
+<code class="sig-name descname">does_collection_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_collection_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.az [...]
+<dd><p>Checks if a collection exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection">
+<code class="sig-name descname">create_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Creates a new collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist">
+<code class="sig-name descname">does_database_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_database_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist [...]
+<dd><p>Checks if a database exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database">
+<code class="sig-name descname">create_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database" title="Per [...]
+<dd><p>Creates a new database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database">
+<code class="sig-name descname">delete_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database" title="Per [...]
+<dd><p>Deletes an existing database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection">
+<code class="sig-name descname">delete_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Deletes an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.upsert_document">
+<code class="sig-name descname">upsert_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">document_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.upsert_document"><span class="viewcode-lin [...]
+<dd><p>Inserts a new document (or updates an existing one) into an existing
+collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documents">
+<code class="sig-name descname">insert_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">documents</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.insert_documents"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Insert a list of new documents into an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_document">
+<code class="sig-name descname">delete_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_document"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Delete an existing document out of a collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document">
+<code class="sig-name descname">get_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href [...]
+<dd><p>Get a document from an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_documents">
+<code class="sig-name descname">get_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">sql_string</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">partition_key=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_documents"><span class="viewcode-lin [...]
+<dd><p>Get a list of documents from an existing collection in the CosmosDB database via SQL query.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_database_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_database_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_database_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.get_dat [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_collection_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_collection_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_collection_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#a [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_document_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_document_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em>, <em class="sig-param">document_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_document_link"><span class="viewcode-link">[source]</spa [...]
+<dd></dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        var nodes = document.documentElement.childNodes;
+        var i = -1;
+        var node;
+        do {
+          i++;
+          node = nodes[i]
+        } while(node.nodeType !== Node.ELEMENT_NODE);
+        node.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.6/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.6/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
new file mode 100644
index 0000000..fe2781e
--- /dev/null
+++ b/1.10.6/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -0,0 +1,486 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+    <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/graphviz.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.6
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../errors.html">Error Tracking</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_data_lake_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_data_lake_hook">
+<span id="airflow-contrib-hooks-azure-data-lake-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="airflow.contrib.hooks.azure_data_lake_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
... 561392 lines suppressed ...


[airflow-site] 21/30: Docs for 1.10.5

Posted by as...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ash pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 1f53e843bc4137ba7b309f8d3423b720c15e6f55
Author: kaxil <ka...@gmail.com>
AuthorDate: Wed Sep 4 11:20:50 2019 +0100

    Docs for 1.10.5
---
 .buildinfo                                         |     2 +-
 1.10.5/.buildinfo                                  |     4 +
 1.10.5/_api/airflow/contrib/executors/index.html   |   366 +
 .../executors/kubernetes_executor/index.html       |   624 ++
 .../contrib/executors/mesos_executor/index.html    |   471 +
 .../contrib/hooks/aws_athena_hook/index.html       |   492 +
 .../contrib/hooks/aws_dynamodb_hook/index.html     |   389 +
 .../contrib/hooks/aws_firehose_hook/index.html     |   385 +
 .../contrib/hooks/aws_glue_catalog_hook/index.html |   474 +
 .../_api/airflow/contrib/hooks/aws_hook/index.html |   432 +
 .../contrib/hooks/aws_lambda_hook/index.html       |   391 +
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   422 +
 .../airflow/contrib/hooks/aws_sns_hook/index.html  |   390 +
 .../airflow/contrib/hooks/aws_sqs_hook/index.html  |   428 +
 .../hooks/azure_container_instance_hook/index.html |   510 +
 .../hooks/azure_container_registry_hook/index.html |   380 +
 .../hooks/azure_container_volume_hook/index.html   |   385 +
 .../contrib/hooks/azure_cosmos_hook/index.html     |   475 +
 .../contrib/hooks/azure_data_lake_hook/index.html  |   457 +
 .../contrib/hooks/azure_fileshare_hook/index.html  |   562 +
 .../airflow/contrib/hooks/bigquery_hook/index.html |  1314 +++
 .../contrib/hooks/cassandra_hook/index.html        |   458 +
 .../airflow/contrib/hooks/cloudant_hook/index.html |   384 +
 .../contrib/hooks/databricks_hook/index.html       |   567 +
 .../airflow/contrib/hooks/datadog_hook/index.html  |   448 +
 .../contrib/hooks/datastore_hook/index.html        |   635 ++
 .../airflow/contrib/hooks/dingding_hook/index.html |   417 +
 .../contrib/hooks/discord_webhook_hook/index.html  |   427 +
 .../_api/airflow/contrib/hooks/emr_hook/index.html |   384 +
 .../_api/airflow/contrib/hooks/fs_hook/index.html  |   385 +
 .../_api/airflow/contrib/hooks/ftp_hook/index.html |   580 ++
 .../contrib/hooks/gcp_api_base_hook/index.html     |   504 +
 .../contrib/hooks/gcp_bigtable_hook/index.html     |   532 +
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |   445 +
 .../contrib/hooks/gcp_compute_hook/index.html      |   618 ++
 .../contrib/hooks/gcp_container_hook/index.html    |   535 +
 .../contrib/hooks/gcp_dataflow_hook/index.html     |   466 +
 .../contrib/hooks/gcp_dataproc_hook/index.html     |   533 +
 .../airflow/contrib/hooks/gcp_dlp_hook/index.html  |  1243 +++
 .../contrib/hooks/gcp_function_hook/index.html     |   521 +
 .../airflow/contrib/hooks/gcp_kms_hook/index.html  |   442 +
 .../contrib/hooks/gcp_mlengine_hook/index.html     |   488 +
 .../hooks/gcp_natural_language_hook/index.html     |   541 +
 .../contrib/hooks/gcp_pubsub_hook/index.html       |   544 +
 .../contrib/hooks/gcp_spanner_hook/index.html      |   615 ++
 .../hooks/gcp_speech_to_text_hook/index.html       |   418 +
 .../airflow/contrib/hooks/gcp_sql_hook/index.html  |   938 ++
 .../hooks/gcp_text_to_speech_hook/index.html       |   427 +
 .../contrib/hooks/gcp_transfer_hook/index.html     |   886 ++
 .../contrib/hooks/gcp_translate_hook/index.html    |   434 +
 .../hooks/gcp_video_intelligence_hook/index.html   |   425 +
 .../contrib/hooks/gcp_vision_hook/index.html       |   574 ++
 .../_api/airflow/contrib/hooks/gcs_hook/index.html |   686 ++
 .../airflow/contrib/hooks/grpc_hook/index.html     |   388 +
 .../airflow/contrib/hooks/imap_hook/index.html     |   628 ++
 1.10.5/_api/airflow/contrib/hooks/index.html       |   452 +
 .../airflow/contrib/hooks/jenkins_hook/index.html  |   374 +
 .../airflow/contrib/hooks/jira_hook/index.html     |   379 +
 .../airflow/contrib/hooks/mongo_hook/index.html    |   565 +
 .../airflow/contrib/hooks/openfaas_hook/index.html |   428 +
 .../contrib/hooks/opsgenie_alert_hook/index.html   |   409 +
 .../airflow/contrib/hooks/pinot_hook/index.html    |   436 +
 .../contrib/hooks/qubole_check_hook/index.html     |   413 +
 .../airflow/contrib/hooks/qubole_hook/index.html   |   466 +
 .../airflow/contrib/hooks/redis_hook/index.html    |   377 +
 .../airflow/contrib/hooks/redshift_hook/index.html |   439 +
 .../contrib/hooks/sagemaker_hook/index.html        |   861 ++
 .../contrib/hooks/salesforce_hook/index.html       |   505 +
 .../airflow/contrib/hooks/segment_hook/index.html  |   387 +
 .../airflow/contrib/hooks/sftp_hook/index.html     |   466 +
 .../contrib/hooks/slack_webhook_hook/index.html    |   417 +
 .../contrib/hooks/snowflake_hook/index.html        |   417 +
 .../contrib/hooks/spark_jdbc_hook/index.html       |   450 +
 .../contrib/hooks/spark_jdbc_script/index.html     |   382 +
 .../contrib/hooks/spark_sql_hook/index.html        |   429 +
 .../contrib/hooks/spark_submit_hook/index.html     |   538 +
 .../airflow/contrib/hooks/sqoop_hook/index.html    |   528 +
 .../_api/airflow/contrib/hooks/ssh_hook/index.html |   432 +
 .../airflow/contrib/hooks/vertica_hook/index.html  |   390 +
 .../airflow/contrib/hooks/wasb_hook/index.html     |   513 +
 .../airflow/contrib/hooks/winrm_hook/index.html    |   416 +
 .../operators/adls_list_operator/index.html        |   414 +
 .../contrib/operators/adls_to_gcs/index.html       |   445 +
 .../operators/aws_athena_operator/index.html       |   419 +
 .../operators/aws_sqs_publish_operator/index.html  |   413 +
 .../contrib/operators/awsbatch_operator/index.html |   449 +
 .../azure_container_instances_operator/index.html  |   488 +
 .../operators/azure_cosmos_operator/index.html     |   399 +
 .../operators/bigquery_check_operator/index.html   |   488 +
 .../contrib/operators/bigquery_get_data/index.html |   428 +
 .../contrib/operators/bigquery_operator/index.html |   766 ++
 .../bigquery_table_delete_operator/index.html      |   403 +
 .../operators/bigquery_to_bigquery/index.html      |   427 +
 .../contrib/operators/bigquery_to_gcs/index.html   |   422 +
 .../contrib/operators/cassandra_to_gcs/index.html  |   536 +
 .../operators/databricks_operator/index.html       |   730 ++
 .../contrib/operators/dataflow_operator/index.html |   654 ++
 .../contrib/operators/dataproc_operator/index.html |  1043 ++
 .../operators/datastore_export_operator/index.html |   402 +
 .../operators/datastore_import_operator/index.html |   400 +
 .../contrib/operators/dingding_operator/index.html |   404 +
 .../operators/discord_webhook_operator/index.html  |   406 +
 .../contrib/operators/druid_operator/index.html    |   397 +
 .../contrib/operators/ecs_operator/index.html      |   454 +
 .../operators/emr_add_steps_operator/index.html    |   402 +
 .../emr_create_job_flow_operator/index.html        |   405 +
 .../emr_terminate_job_flow_operator/index.html     |   401 +
 .../contrib/operators/file_to_gcs/index.html       |   398 +
 .../contrib/operators/file_to_wasb/index.html      |   396 +
 .../operators/gcp_bigtable_operator/index.html     |   647 ++
 .../operators/gcp_cloud_build_operator/index.html  |   481 +
 .../operators/gcp_compute_operator/index.html      |   631 ++
 .../operators/gcp_container_operator/index.html    |   566 +
 .../contrib/operators/gcp_dlp_operator/index.html  |  1562 +++
 .../operators/gcp_function_operator/index.html     |   586 ++
 .../gcp_natural_language_operator/index.html       |   521 +
 .../operators/gcp_spanner_operator/index.html      |   624 ++
 .../gcp_speech_to_text_operator/index.html         |   412 +
 .../contrib/operators/gcp_sql_operator/index.html  |   858 ++
 .../gcp_text_to_speech_operator/index.html         |   416 +
 .../operators/gcp_transfer_operator/index.html     |   921 ++
 .../operators/gcp_translate_operator/index.html    |   419 +
 .../gcp_translate_speech_operator/index.html       |   432 +
 .../gcp_video_intelligence_operator/index.html     |   506 +
 .../operators/gcp_vision_operator/index.html       |  1104 ++
 .../contrib/operators/gcs_acl_operator/index.html  |   447 +
 .../operators/gcs_delete_operator/index.html       |   401 +
 .../operators/gcs_download_operator/index.html     |   409 +
 .../contrib/operators/gcs_list_operator/index.html |   423 +
 .../contrib/operators/gcs_operator/index.html      |   445 +
 .../airflow/contrib/operators/gcs_to_bq/index.html |   483 +
 .../contrib/operators/gcs_to_gcs/index.html        |   478 +
 .../airflow/contrib/operators/gcs_to_s3/index.html |   432 +
 .../contrib/operators/hipchat_operator/index.html  |   436 +
 .../contrib/operators/hive_to_dynamodb/index.html  |   411 +
 .../imap_attachment_to_s3_operator/index.html      |   402 +
 1.10.5/_api/airflow/contrib/operators/index.html   |   480 +
 .../jenkins_job_trigger_operator/index.html        |   481 +
 .../contrib/operators/jira_operator/index.html     |   396 +
 .../operators/kubernetes_pod_operator/index.html   |   439 +
 .../contrib/operators/mlengine_operator/index.html |   623 ++
 .../contrib/operators/mongo_to_s3/index.html       |   412 +
 .../contrib/operators/mssql_to_gcs/index.html      |   432 +
 .../contrib/operators/mysql_to_gcs/index.html      |   429 +
 .../operators/opsgenie_alert_operator/index.html   |   425 +
 .../oracle_to_azure_data_lake_transfer/index.html  |   410 +
 .../operators/oracle_to_oracle_transfer/index.html |   406 +
 .../operators/postgres_to_gcs_operator/index.html  |   414 +
 .../contrib/operators/pubsub_operator/index.html   |   607 ++
 .../operators/qubole_check_operator/index.html     |   553 +
 .../contrib/operators/qubole_operator/index.html   |   704 ++
 .../operators/redis_publish_operator/index.html    |   398 +
 .../operators/s3_copy_object_operator/index.html   |   424 +
 .../s3_delete_objects_operator/index.html          |   418 +
 .../contrib/operators/s3_list_operator/index.html  |   434 +
 .../operators/s3_to_gcs_operator/index.html        |   445 +
 .../operators/s3_to_sftp_operator/index.html       |   406 +
 .../operators/sagemaker_base_operator/index.html   |   426 +
 .../sagemaker_endpoint_config_operator/index.html  |   394 +
 .../sagemaker_endpoint_operator/index.html         |   423 +
 .../operators/sagemaker_model_operator/index.html  |   394 +
 .../sagemaker_training_operator/index.html         |   407 +
 .../sagemaker_transform_operator/index.html        |   419 +
 .../operators/sagemaker_tuning_operator/index.html |   406 +
 .../segment_track_event_operator/index.html        |   400 +
 .../contrib/operators/sftp_operator/index.html     |   454 +
 .../operators/sftp_to_s3_operator/index.html       |   407 +
 .../operators/slack_webhook_operator/index.html    |   407 +
 .../operators/snowflake_operator/index.html        |   416 +
 .../operators/sns_publish_operator/index.html      |   397 +
 .../operators/spark_jdbc_operator/index.html       |   447 +
 .../operators/spark_sql_operator/index.html        |   414 +
 .../operators/spark_submit_operator/index.html     |   433 +
 .../contrib/operators/sql_to_gcs/index.html        |   503 +
 .../contrib/operators/sqoop_operator/index.html    |   398 +
 .../contrib/operators/ssh_operator/index.html      |   411 +
 .../contrib/operators/vertica_operator/index.html  |   403 +
 .../contrib/operators/vertica_to_hive/index.html   |   425 +
 .../contrib/operators/vertica_to_mysql/index.html  |   415 +
 .../operators/wasb_delete_blob_operator/index.html |   397 +
 .../contrib/operators/winrm_operator/index.html    |   395 +
 .../contrib/sensors/aws_athena_sensor/index.html   |   426 +
 .../aws_glue_catalog_partition_sensor/index.html   |   416 +
 .../sensors/aws_redshift_cluster_sensor/index.html |   391 +
 .../contrib/sensors/aws_sqs_sensor/index.html      |   404 +
 .../contrib/sensors/azure_cosmos_sensor/index.html |   391 +
 .../airflow/contrib/sensors/bash_sensor/index.html |   399 +
 .../contrib/sensors/bigquery_sensor/index.html     |   405 +
 .../sensors/cassandra_record_sensor/index.html     |   392 +
 .../sensors/cassandra_table_sensor/index.html      |   390 +
 .../contrib/sensors/datadog_sensor/index.html      |   394 +
 .../contrib/sensors/emr_base_sensor/index.html     |   385 +
 .../contrib/sensors/emr_job_flow_sensor/index.html |   414 +
 .../contrib/sensors/emr_step_sensor/index.html     |   417 +
 .../airflow/contrib/sensors/file_sensor/index.html |   400 +
 .../airflow/contrib/sensors/ftp_sensor/index.html  |   419 +
 .../contrib/sensors/gcp_transfer_sensor/index.html |   399 +
 .../airflow/contrib/sensors/gcs_sensor/index.html  |   560 +
 .../airflow/contrib/sensors/hdfs_sensor/index.html |   400 +
 .../sensors/imap_attachment_sensor/index.html      |   410 +
 1.10.5/_api/airflow/contrib/sensors/index.html     |   402 +
 .../airflow/contrib/sensors/jira_sensor/index.html |   421 +
 .../contrib/sensors/mongo_sensor/index.html        |   390 +
 .../contrib/sensors/pubsub_sensor/index.html       |   403 +
 .../contrib/sensors/python_sensor/index.html       |   407 +
 .../contrib/sensors/qubole_sensor/index.html       |   435 +
 .../contrib/sensors/redis_key_sensor/index.html    |   388 +
 .../sensors/redis_pub_sub_sensor/index.html        |   398 +
 .../sensors/sagemaker_base_sensor/index.html       |   411 +
 .../sensors/sagemaker_endpoint_sensor/index.html   |   414 +
 .../sensors/sagemaker_training_sensor/index.html   |   422 +
 .../sensors/sagemaker_transform_sensor/index.html  |   415 +
 .../sensors/sagemaker_tuning_sensor/index.html     |   415 +
 .../airflow/contrib/sensors/sftp_sensor/index.html |   391 +
 .../airflow/contrib/sensors/wasb_sensor/index.html |   422 +
 .../contrib/sensors/weekday_sensor/index.html      |   429 +
 .../airflow/executors/base_executor/index.html     |   481 +
 .../airflow/executors/celery_executor/index.html   |   498 +
 .../airflow/executors/dask_executor/index.html     |   399 +
 1.10.5/_api/airflow/executors/index.html           |   713 ++
 .../airflow/executors/local_executor/index.html    |   523 +
 .../executors/sequential_executor/index.html       |   388 +
 1.10.5/_api/airflow/hooks/S3_hook/index.html       |   693 ++
 1.10.5/_api/airflow/hooks/base_hook/index.html     |   423 +
 1.10.5/_api/airflow/hooks/dbapi_hook/index.html    |   568 +
 1.10.5/_api/airflow/hooks/docker_hook/index.html   |   385 +
 1.10.5/_api/airflow/hooks/druid_hook/index.html    |   443 +
 1.10.5/_api/airflow/hooks/hdfs_hook/index.html     |   395 +
 1.10.5/_api/airflow/hooks/hive_hooks/index.html    |   846 ++
 1.10.5/_api/airflow/hooks/http_hook/index.html     |   464 +
 1.10.5/_api/airflow/hooks/index.html               |   404 +
 1.10.5/_api/airflow/hooks/jdbc_hook/index.html     |   406 +
 1.10.5/_api/airflow/hooks/mssql_hook/index.html    |   400 +
 1.10.5/_api/airflow/hooks/mysql_hook/index.html    |   461 +
 1.10.5/_api/airflow/hooks/oracle_hook/index.html   |   456 +
 1.10.5/_api/airflow/hooks/pig_hook/index.html      |   389 +
 1.10.5/_api/airflow/hooks/postgres_hook/index.html |   457 +
 1.10.5/_api/airflow/hooks/presto_hook/index.html   |   448 +
 1.10.5/_api/airflow/hooks/samba_hook/index.html    |   379 +
 1.10.5/_api/airflow/hooks/slack_hook/index.html    |   379 +
 1.10.5/_api/airflow/hooks/sqlite_hook/index.html   |   390 +
 1.10.5/_api/airflow/hooks/webhdfs_hook/index.html  |   450 +
 1.10.5/_api/airflow/hooks/zendesk_hook/index.html  |   403 +
 1.10.5/_api/airflow/models/base/index.html         |   382 +
 1.10.5/_api/airflow/models/baseoperator/index.html |   901 ++
 1.10.5/_api/airflow/models/chart/index.html        |   458 +
 1.10.5/_api/airflow/models/connection/index.html   |   503 +
 1.10.5/_api/airflow/models/crypto/index.html       |   416 +
 1.10.5/_api/airflow/models/dag/index.html          |  1194 +++
 1.10.5/_api/airflow/models/dagbag/index.html       |   471 +
 1.10.5/_api/airflow/models/dagpickle/index.html    |   400 +
 1.10.5/_api/airflow/models/dagrun/index.html       |   587 ++
 1.10.5/_api/airflow/models/errors/index.html       |   393 +
 1.10.5/_api/airflow/models/index.html              |  3618 +++++++
 1.10.5/_api/airflow/models/knownevent/index.html   |   449 +
 1.10.5/_api/airflow/models/kubernetes/index.html   |   429 +
 1.10.5/_api/airflow/models/log/index.html          |   419 +
 1.10.5/_api/airflow/models/pool/index.html         |   442 +
 1.10.5/_api/airflow/models/skipmixin/index.html    |   392 +
 1.10.5/_api/airflow/models/slamiss/index.html      |   421 +
 1.10.5/_api/airflow/models/taskfail/index.html     |   414 +
 1.10.5/_api/airflow/models/taskinstance/index.html |   901 ++
 .../_api/airflow/models/taskreschedule/index.html  |   436 +
 1.10.5/_api/airflow/models/user/index.html         |   408 +
 1.10.5/_api/airflow/models/variable/index.html     |   459 +
 1.10.5/_api/airflow/models/xcom/index.html         |   478 +
 .../airflow/operators/bash_operator/index.html     |   420 +
 .../airflow/operators/branch_operator/index.html   |   400 +
 .../airflow/operators/check_operator/index.html    |   566 +
 .../airflow/operators/dagrun_operator/index.html   |   411 +
 .../airflow/operators/docker_operator/index.html   |   469 +
 .../operators/druid_check_operator/index.html      |   425 +
 .../airflow/operators/dummy_operator/index.html    |   384 +
 .../airflow/operators/email_operator/index.html    |   409 +
 .../airflow/operators/generic_transfer/index.html  |   409 +
 .../airflow/operators/hive_operator/index.html     |   438 +
 .../operators/hive_stats_operator/index.html       |   420 +
 .../airflow/operators/hive_to_druid/index.html     |   434 +
 .../airflow/operators/hive_to_mysql/index.html     |   417 +
 .../operators/hive_to_samba_operator/index.html    |   398 +
 .../airflow/operators/http_operator/index.html     |   415 +
 1.10.5/_api/airflow/operators/index.html           |   923 ++
 .../airflow/operators/jdbc_operator/index.html     |   407 +
 .../operators/latest_only_operator/index.html      |   386 +
 .../airflow/operators/mssql_operator/index.html    |   406 +
 .../airflow/operators/mssql_to_hive/index.html     |   427 +
 .../airflow/operators/mysql_operator/index.html    |   408 +
 .../airflow/operators/mysql_to_hive/index.html     |   426 +
 .../airflow/operators/oracle_operator/index.html   |   407 +
 .../_api/airflow/operators/pig_operator/index.html |   422 +
 .../airflow/operators/postgres_operator/index.html |   407 +
 .../operators/presto_check_operator/index.html     |   452 +
 .../airflow/operators/presto_to_mysql/index.html   |   410 +
 .../airflow/operators/python_operator/index.html   |   572 ++
 .../operators/redshift_to_s3_operator/index.html   |   424 +
 .../s3_file_transform_operator/index.html          |   436 +
 .../operators/s3_to_hive_operator/index.html       |   465 +
 .../operators/s3_to_redshift_operator/index.html   |   424 +
 1.10.5/_api/airflow/operators/sensors/index.html   |   438 +
 .../airflow/operators/slack_operator/index.html    |   439 +
 .../airflow/operators/sqlite_operator/index.html   |   403 +
 .../airflow/operators/subdag_operator/index.html   |   399 +
 .../sensors/base_sensor_operator/index.html        |   441 +
 .../sensors/external_task_sensor/index.html        |   412 +
 1.10.5/_api/airflow/sensors/hdfs_sensor/index.html |   426 +
 .../sensors/hive_partition_sensor/index.html       |   405 +
 1.10.5/_api/airflow/sensors/http_sensor/index.html |   402 +
 1.10.5/_api/airflow/sensors/index.html             |   401 +
 .../sensors/metastore_partition_sensor/index.html  |   405 +
 .../sensors/named_hive_partition_sensor/index.html |   413 +
 .../_api/airflow/sensors/s3_key_sensor/index.html  |   415 +
 .../airflow/sensors/s3_prefix_sensor/index.html    |   417 +
 1.10.5/_api/airflow/sensors/sql_sensor/index.html  |   423 +
 .../airflow/sensors/time_delta_sensor/index.html   |   386 +
 1.10.5/_api/airflow/sensors/time_sensor/index.html |   383 +
 .../airflow/sensors/web_hdfs_sensor/index.html     |   383 +
 1.10.5/_api/index.html                             |   471 +
 1.10.5/_images/adhoc.png                           |   Bin 0 -> 182773 bytes
 1.10.5/_images/airflow.gif                         |   Bin 0 -> 622832 bytes
 1.10.5/_images/apache.jpg                          |   Bin 0 -> 43364 bytes
 1.10.5/_images/branch_bad.png                      |   Bin 0 -> 8825 bytes
 1.10.5/_images/branch_good.png                     |   Bin 0 -> 12035 bytes
 1.10.5/_images/branch_with_trigger.png             |   Bin 0 -> 34081 bytes
 1.10.5/_images/branch_without_trigger.png          |   Bin 0 -> 39815 bytes
 1.10.5/_images/chart.png                           |   Bin 0 -> 169382 bytes
 1.10.5/_images/chart_form.png                      |   Bin 0 -> 203224 bytes
 1.10.5/_images/code.png                            |   Bin 0 -> 285906 bytes
 1.10.5/_images/connection_create.png               |   Bin 0 -> 41547 bytes
 1.10.5/_images/connection_edit.png                 |   Bin 0 -> 53636 bytes
 1.10.5/_images/connections.png                     |   Bin 0 -> 48442 bytes
 1.10.5/_images/context.png                         |   Bin 0 -> 149588 bytes
 1.10.5/_images/dags.png                            |   Bin 0 -> 217069 bytes
 1.10.5/_images/duration.png                        |   Bin 0 -> 250846 bytes
 1.10.5/_images/gantt.png                           |   Bin 0 -> 121795 bytes
 1.10.5/_images/graph.png                           |   Bin 0 -> 152205 bytes
 1.10.5/_images/latest_only_with_trigger.png        |   Bin 0 -> 49510 bytes
 1.10.5/_images/operator_extra_link.png             |   Bin 0 -> 276679 bytes
 1.10.5/_images/pin_large.png                       |   Bin 0 -> 358276 bytes
 1.10.5/_images/subdag_after.png                    |   Bin 0 -> 30245 bytes
 1.10.5/_images/subdag_before.png                   |   Bin 0 -> 70382 bytes
 1.10.5/_images/subdag_zoom.png                     |   Bin 0 -> 150185 bytes
 1.10.5/_images/tree.png                            |   Bin 0 -> 128024 bytes
 1.10.5/_images/variable_hidden.png                 |   Bin 0 -> 154299 bytes
 .../example_dags/example_dingding_operator.html    |   549 +
 .../example_gcp_bigtable_operators.html            |   531 +
 .../example_dags/example_gcp_cloud_build.html      |   432 +
 .../contrib/example_dags/example_gcp_compute.html  |   440 +
 .../example_dags/example_gcp_compute_igm.html      |   470 +
 .../contrib/example_dags/example_gcp_function.html |   459 +
 .../example_dags/example_gcp_natural_language.html |   440 +
 .../contrib/example_dags/example_gcp_spanner.html  |   524 +
 .../contrib/example_dags/example_gcp_speech.html   |   428 +
 .../contrib/example_dags/example_gcp_sql.html      |   749 ++
 .../example_dags/example_gcp_sql_query.html        |   620 ++
 .../contrib/example_dags/example_gcp_transfer.html |   579 ++
 .../example_dags/example_gcp_translate.html        |   378 +
 .../example_gcp_video_intelligence.html            |   448 +
 .../contrib/example_dags/example_gcp_vision.html   |   810 ++
 .../contrib/example_dags/example_gcs_acl.html      |   402 +
 .../example_dags/example_gcs_to_bq_operator.html   |   393 +
 .../contrib/executors/kubernetes_executor.html     |  1159 +++
 .../airflow/contrib/executors/mesos_executor.html  |   652 ++
 1.10.5/_modules/airflow/contrib/hooks.html         |   396 +
 .../airflow/contrib/hooks/aws_athena_hook.html     |   494 +
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |   397 +
 .../airflow/contrib/hooks/aws_firehose_hook.html   |   384 +
 .../contrib/hooks/aws_glue_catalog_hook.html       |   480 +
 .../_modules/airflow/contrib/hooks/aws_hook.html   |   533 +
 .../airflow/contrib/hooks/aws_lambda_hook.html     |   396 +
 .../airflow/contrib/hooks/aws_logs_hook.html       |   431 +
 .../airflow/contrib/hooks/aws_sns_hook.html        |   388 +
 .../airflow/contrib/hooks/aws_sqs_hook.html        |   399 +
 .../hooks/azure_container_instance_hook.html       |   506 +
 .../hooks/azure_container_registry_hook.html       |   367 +
 .../contrib/hooks/azure_container_volume_hook.html |   382 +
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   615 ++
 .../contrib/hooks/azure_data_lake_hook.html        |   469 +
 .../contrib/hooks/azure_fileshare_hook.html        |   540 +
 .../airflow/contrib/hooks/bigquery_hook.html       |  2502 +++++
 .../airflow/contrib/hooks/cassandra_hook.html      |   528 +
 .../airflow/contrib/hooks/cloudant_hook.html       |   411 +
 .../airflow/contrib/hooks/databricks_hook.html     |   601 ++
 .../airflow/contrib/hooks/datadog_hook.html        |   486 +
 .../airflow/contrib/hooks/datastore_hook.html      |   667 ++
 .../airflow/contrib/hooks/dingding_hook.html       |   462 +
 .../contrib/hooks/discord_webhook_hook.html        |   468 +
 .../_modules/airflow/contrib/hooks/emr_hook.html   |   385 +
 1.10.5/_modules/airflow/contrib/hooks/fs_hook.html |   374 +
 .../_modules/airflow/contrib/hooks/ftp_hook.html   |   648 ++
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   596 ++
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   590 ++
 .../contrib/hooks/gcp_cloud_build_hook.html        |   459 +
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   667 ++
 .../airflow/contrib/hooks/gcp_container_hook.html  |   575 ++
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   624 ++
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   677 ++
 .../airflow/contrib/hooks/gcp_dlp_hook.html        |  2107 ++++
 .../airflow/contrib/hooks/gcp_function_hook.html   |   525 +
 .../airflow/contrib/hooks/gcp_kms_hook.html        |   436 +
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   601 ++
 .../contrib/hooks/gcp_natural_language_hook.html   |   545 +
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   612 ++
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   677 ++
 .../contrib/hooks/gcp_speech_to_text_hook.html     |   401 +
 .../airflow/contrib/hooks/gcp_sql_hook.html        |  1331 +++
 .../contrib/hooks/gcp_text_to_speech_hook.html     |   408 +
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   724 ++
 .../airflow/contrib/hooks/gcp_translate_hook.html  |   425 +
 .../contrib/hooks/gcp_video_intelligence_hook.html |   433 +
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   902 ++
 .../_modules/airflow/contrib/hooks/gcs_hook.html   |   923 ++
 .../_modules/airflow/contrib/hooks/grpc_hook.html  |   451 +
 .../_modules/airflow/contrib/hooks/imap_hook.html  |   644 ++
 .../airflow/contrib/hooks/jenkins_hook.html        |   376 +
 .../_modules/airflow/contrib/hooks/jira_hook.html  |   414 +
 .../_modules/airflow/contrib/hooks/mongo_hook.html |   625 ++
 .../airflow/contrib/hooks/openfaas_hook.html       |   427 +
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |   416 +
 .../_modules/airflow/contrib/hooks/pinot_hook.html |   433 +
 .../airflow/contrib/hooks/qubole_check_hook.html   |   445 +
 .../airflow/contrib/hooks/qubole_hook.html         |   589 ++
 .../_modules/airflow/contrib/hooks/redis_hook.html |   394 +
 .../airflow/contrib/hooks/redshift_hook.html       |   441 +
 .../airflow/contrib/hooks/sagemaker_hook.html      |  1068 ++
 .../airflow/contrib/hooks/salesforce_hook.html     |   653 ++
 .../airflow/contrib/hooks/segment_hook.html        |   418 +
 .../_modules/airflow/contrib/hooks/sftp_hook.html  |   542 +
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   468 +
 .../airflow/contrib/hooks/snowflake_hook.html      |   462 +
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   574 ++
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   474 +
 .../airflow/contrib/hooks/spark_sql_hook.html      |   492 +
 .../airflow/contrib/hooks/spark_submit_hook.html   |   914 ++
 .../_modules/airflow/contrib/hooks/sqoop_hook.html |   683 ++
 .../_modules/airflow/contrib/hooks/ssh_hook.html   |   577 ++
 .../airflow/contrib/hooks/vertica_hook.html        |   381 +
 .../_modules/airflow/contrib/hooks/wasb_hook.html  |   519 +
 .../_modules/airflow/contrib/hooks/winrm_hook.html |   562 +
 1.10.5/_modules/airflow/contrib/operators.html     |   379 +
 .../contrib/operators/adls_list_operator.html      |   400 +
 .../airflow/contrib/operators/adls_to_gcs.html     |   477 +
 .../contrib/operators/aws_athena_operator.html     |   448 +
 .../operators/aws_sqs_publish_operator.html        |   409 +
 .../contrib/operators/awsbatch_operator.html       |   509 +
 .../azure_container_instances_operator.html        |   673 ++
 .../contrib/operators/azure_cosmos_operator.html   |   397 +
 .../contrib/operators/bigquery_check_operator.html |   481 +
 .../contrib/operators/bigquery_get_data.html       |   444 +
 .../contrib/operators/bigquery_operator.html       |  1054 ++
 .../operators/bigquery_table_delete_operator.html  |   396 +
 .../contrib/operators/bigquery_to_bigquery.html    |   433 +
 .../airflow/contrib/operators/bigquery_to_gcs.html |   433 +
 .../contrib/operators/cassandra_to_gcs.html        |   682 ++
 .../contrib/operators/databricks_operator.html     |   814 ++
 .../contrib/operators/dataflow_operator.html       |   753 ++
 .../contrib/operators/dataproc_operator.html       |  1560 +++
 .../operators/datastore_export_operator.html       |   438 +
 .../operators/datastore_import_operator.html       |   426 +
 .../contrib/operators/dingding_operator.html       |   402 +
 .../operators/discord_webhook_operator.html        |   426 +
 .../airflow/contrib/operators/druid_operator.html  |   392 +
 .../airflow/contrib/operators/ecs_operator.html    |   543 +
 .../contrib/operators/emr_add_steps_operator.html  |   391 +
 .../operators/emr_create_job_flow_operator.html    |   402 +
 .../operators/emr_terminate_job_flow_operator.html |   385 +
 .../airflow/contrib/operators/file_to_gcs.html     |   410 +
 .../airflow/contrib/operators/file_to_wasb.html    |   392 +
 .../contrib/operators/gcp_bigtable_operator.html   |   819 ++
 .../operators/gcp_cloud_build_operator.html        |   524 +
 .../contrib/operators/gcp_compute_operator.html    |   812 ++
 .../contrib/operators/gcp_container_operator.html  |   650 ++
 .../contrib/operators/gcp_dlp_operator.html        |  2449 +++++
 .../contrib/operators/gcp_function_operator.html   |   656 ++
 .../operators/gcp_natural_language_operator.html   |   590 ++
 .../contrib/operators/gcp_spanner_operator.html    |   760 ++
 .../operators/gcp_speech_to_text_operator.html     |   418 +
 .../contrib/operators/gcp_sql_operator.html        |  1134 ++
 .../operators/gcp_text_to_speech_operator.html     |   457 +
 .../contrib/operators/gcp_transfer_operator.html   |  1133 ++
 .../contrib/operators/gcp_translate_operator.html  |   441 +
 .../operators/gcp_translate_speech_operator.html   |   487 +
 .../operators/gcp_video_intelligence_operator.html |   592 ++
 .../contrib/operators/gcp_vision_operator.html     |  1583 +++
 .../contrib/operators/gcs_acl_operator.html        |   462 +
 .../contrib/operators/gcs_delete_operator.html     |   411 +
 .../contrib/operators/gcs_download_operator.html   |   419 +
 .../contrib/operators/gcs_list_operator.html       |   422 +
 .../airflow/contrib/operators/gcs_operator.html    |   459 +
 .../airflow/contrib/operators/gcs_to_bq.html       |   620 ++
 .../airflow/contrib/operators/gcs_to_gcs.html      |   527 +
 .../airflow/contrib/operators/gcs_to_s3.html       |   468 +
 .../contrib/operators/hipchat_operator.html        |   463 +
 .../contrib/operators/hive_to_dynamodb.html        |   437 +
 .../operators/imap_attachment_to_s3_operator.html  |   418 +
 .../operators/jenkins_job_trigger_operator.html    |   572 ++
 .../airflow/contrib/operators/jira_operator.html   |   422 +
 .../contrib/operators/kubernetes_pod_operator.html |   567 +
 .../contrib/operators/mlengine_operator.html       |   959 ++
 .../airflow/contrib/operators/mongo_to_s3.html     |   455 +
 .../airflow/contrib/operators/mssql_to_gcs.html    |   424 +
 .../airflow/contrib/operators/mysql_to_gcs.html    |   460 +
 .../contrib/operators/opsgenie_alert_operator.html |   459 +
 .../oracle_to_azure_data_lake_transfer.html        |   443 +
 .../operators/oracle_to_oracle_transfer.html       |   419 +
 .../operators/postgres_to_gcs_operator.html        |   432 +
 .../airflow/contrib/operators/pubsub_operator.html |   761 ++
 .../contrib/operators/qubole_check_operator.html   |   556 +
 .../airflow/contrib/operators/qubole_operator.html |   547 +
 .../contrib/operators/redis_publish_operator.html  |   394 +
 .../contrib/operators/s3_copy_object_operator.html |   424 +
 .../operators/s3_delete_objects_operator.html      |   415 +
 .../contrib/operators/s3_list_operator.html        |   427 +
 .../contrib/operators/s3_to_gcs_operator.html      |   535 +
 .../contrib/operators/s3_to_sftp_operator.html     |   413 +
 .../contrib/operators/sagemaker_base_operator.html |   430 +
 .../sagemaker_endpoint_config_operator.html        |   394 +
 .../operators/sagemaker_endpoint_operator.html     |   478 +
 .../operators/sagemaker_model_operator.html        |   395 +
 .../operators/sagemaker_training_operator.html     |   426 +
 .../operators/sagemaker_transform_operator.html    |   452 +
 .../operators/sagemaker_tuning_operator.html       |   427 +
 .../operators/segment_track_event_operator.html    |   400 +
 .../airflow/contrib/operators/sftp_operator.html   |   508 +
 .../contrib/operators/sftp_to_s3_operator.html     |   419 +
 .../contrib/operators/slack_webhook_operator.html  |   435 +
 .../contrib/operators/snowflake_operator.html      |   405 +
 .../contrib/operators/sns_publish_operator.html    |   393 +
 .../contrib/operators/spark_jdbc_operator.html     |   542 +
 .../contrib/operators/spark_sql_operator.html      |   439 +
 .../contrib/operators/spark_submit_operator.html   |   507 +
 .../airflow/contrib/operators/sql_to_gcs.html      |   603 ++
 .../airflow/contrib/operators/sqoop_operator.html  |   566 +
 .../airflow/contrib/operators/ssh_operator.html    |   507 +
 .../contrib/operators/vertica_operator.html        |   377 +
 .../airflow/contrib/operators/vertica_to_hive.html |   467 +
 .../contrib/operators/vertica_to_mysql.html        |   483 +
 .../operators/wasb_delete_blob_operator.html       |   398 +
 .../airflow/contrib/operators/winrm_operator.html  |   477 +
 .../airflow/contrib/sensors/aws_athena_sensor.html |   405 +
 .../sensors/aws_glue_catalog_partition_sensor.html |   419 +
 .../sensors/aws_redshift_cluster_sensor.html       |   378 +
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |   419 +
 .../contrib/sensors/azure_cosmos_sensor.html       |   393 +
 .../airflow/contrib/sensors/bash_sensor.html       |   417 +
 .../airflow/contrib/sensors/bigquery_sensor.html   |   396 +
 .../contrib/sensors/cassandra_record_sensor.html   |   387 +
 .../contrib/sensors/cassandra_table_sensor.html    |   382 +
 .../airflow/contrib/sensors/datadog_sensor.html    |   409 +
 .../airflow/contrib/sensors/emr_base_sensor.html   |   386 +
 .../contrib/sensors/emr_job_flow_sensor.html       |   389 +
 .../airflow/contrib/sensors/emr_step_sensor.html   |   393 +
 .../airflow/contrib/sensors/file_sensor.html       |   397 +
 .../airflow/contrib/sensors/ftp_sensor.html        |   426 +
 .../contrib/sensors/gcp_transfer_sensor.html       |   406 +
 .../airflow/contrib/sensors/gcs_sensor.html        |   640 ++
 .../airflow/contrib/sensors/hdfs_sensor.html       |   400 +
 .../contrib/sensors/imap_attachment_sensor.html    |   402 +
 .../airflow/contrib/sensors/jira_sensor.html       |   477 +
 .../airflow/contrib/sensors/mongo_sensor.html      |   384 +
 .../airflow/contrib/sensors/pubsub_sensor.html     |   431 +
 .../airflow/contrib/sensors/python_sensor.html     |   406 +
 .../airflow/contrib/sensors/qubole_sensor.html     |   438 +
 .../airflow/contrib/sensors/redis_key_sensor.html  |   365 +
 .../contrib/sensors/redis_pub_sub_sensor.html      |   399 +
 .../contrib/sensors/sagemaker_base_sensor.html     |   400 +
 .../contrib/sensors/sagemaker_endpoint_sensor.html |   387 +
 .../contrib/sensors/sagemaker_training_sensor.html |   428 +
 .../sensors/sagemaker_transform_sensor.html        |   388 +
 .../contrib/sensors/sagemaker_tuning_sensor.html   |   388 +
 .../airflow/contrib/sensors/sftp_sensor.html       |   378 +
 .../airflow/contrib/sensors/wasb_sensor.html       |   421 +
 .../airflow/contrib/sensors/weekday_sensor.html    |   431 +
 .../example_dags/example_bash_operator.html        |   399 +
 .../example_dags/example_python_operator.html      |   400 +
 1.10.5/_modules/airflow/exceptions.html            |   450 +
 1.10.5/_modules/airflow/executors.html             |   425 +
 .../_modules/airflow/executors/base_executor.html  |   540 +
 .../airflow/executors/celery_executor.html         |   622 ++
 .../_modules/airflow/executors/dask_executor.html  |   425 +
 .../_modules/airflow/executors/local_executor.html |   562 +
 .../airflow/executors/sequential_executor.html     |   385 +
 1.10.5/_modules/airflow/hooks.html                 |   422 +
 1.10.5/_modules/airflow/hooks/S3_hook.html         |   871 ++
 1.10.5/_modules/airflow/hooks/base_hook.html       |   430 +
 1.10.5/_modules/airflow/hooks/dbapi_hook.html      |   633 ++
 1.10.5/_modules/airflow/hooks/docker_hook.html     |   416 +
 1.10.5/_modules/airflow/hooks/druid_hook.html      |   493 +
 1.10.5/_modules/airflow/hooks/hdfs_hook.html       |   426 +
 1.10.5/_modules/airflow/hooks/hive_hooks.html      |  1313 +++
 1.10.5/_modules/airflow/hooks/http_hook.html       |   541 +
 1.10.5/_modules/airflow/hooks/jdbc_hook.html       |   389 +
 1.10.5/_modules/airflow/hooks/mssql_hook.html      |   383 +
 1.10.5/_modules/airflow/hooks/mysql_hook.html      |   502 +
 1.10.5/_modules/airflow/hooks/oracle_hook.html     |   559 +
 1.10.5/_modules/airflow/hooks/pig_hook.html        |   428 +
 1.10.5/_modules/airflow/hooks/postgres_hook.html   |   489 +
 1.10.5/_modules/airflow/hooks/presto_hook.html     |   468 +
 1.10.5/_modules/airflow/hooks/samba_hook.html      |   380 +
 1.10.5/_modules/airflow/hooks/slack_hook.html      |   390 +
 1.10.5/_modules/airflow/hooks/sqlite_hook.html     |   369 +
 1.10.5/_modules/airflow/hooks/webhdfs_hook.html    |   460 +
 1.10.5/_modules/airflow/hooks/zendesk_hook.html    |   440 +
 1.10.5/_modules/airflow/macros.html                |   436 +
 1.10.5/_modules/airflow/macros/hive.html           |   446 +
 1.10.5/_modules/airflow/models.html                |   367 +
 1.10.5/_modules/airflow/models/base.html           |   363 +
 1.10.5/_modules/airflow/models/baseoperator.html   |  1345 +++
 1.10.5/_modules/airflow/models/chart.html          |   378 +
 1.10.5/_modules/airflow/models/connection.html     |   627 ++
 1.10.5/_modules/airflow/models/crypto.html         |   425 +
 1.10.5/_modules/airflow/models/dag.html            |  1919 ++++
 1.10.5/_modules/airflow/models/dagbag.html         |   769 ++
 1.10.5/_modules/airflow/models/dagpickle.html      |   380 +
 1.10.5/_modules/airflow/models/dagrun.html         |   774 ++
 1.10.5/_modules/airflow/models/errors.html         |   359 +
 1.10.5/_modules/airflow/models/knownevent.html     |   382 +
 1.10.5/_modules/airflow/models/kubernetes.html     |   407 +
 1.10.5/_modules/airflow/models/log.html            |   396 +
 1.10.5/_modules/airflow/models/pool.html           |   436 +
 1.10.5/_modules/airflow/models/skipmixin.html      |   430 +
 1.10.5/_modules/airflow/models/slamiss.html        |   376 +
 1.10.5/_modules/airflow/models/taskfail.html       |   383 +
 1.10.5/_modules/airflow/models/taskinstance.html   |  1740 ++++
 1.10.5/_modules/airflow/models/taskreschedule.html |   413 +
 1.10.5/_modules/airflow/models/user.html           |   368 +
 1.10.5/_modules/airflow/models/variable.html       |   477 +
 1.10.5/_modules/airflow/models/xcom.html           |   562 +
 1.10.5/_modules/airflow/operators.html             |   449 +
 .../_modules/airflow/operators/bash_operator.html  |   471 +
 .../airflow/operators/branch_operator.html         |   380 +
 .../_modules/airflow/operators/check_operator.html |   662 ++
 .../airflow/operators/dagrun_operator.html         |   425 +
 .../airflow/operators/docker_operator.html         |   605 ++
 .../airflow/operators/druid_check_operator.html    |   419 +
 .../_modules/airflow/operators/dummy_operator.html |   365 +
 .../_modules/airflow/operators/email_operator.html |   406 +
 .../airflow/operators/generic_transfer.html        |   409 +
 .../_modules/airflow/operators/hive_operator.html  |   470 +
 .../airflow/operators/hive_stats_operator.html     |   512 +
 .../_modules/airflow/operators/hive_to_druid.html  |   574 ++
 .../_modules/airflow/operators/hive_to_mysql.html  |   442 +
 .../airflow/operators/hive_to_samba_operator.html  |   395 +
 .../_modules/airflow/operators/http_operator.html  |   427 +
 .../_modules/airflow/operators/jdbc_operator.html  |   391 +
 .../airflow/operators/latest_only_operator.html    |   393 +
 .../_modules/airflow/operators/mssql_operator.html |   391 +
 .../_modules/airflow/operators/mssql_to_hive.html  |   467 +
 .../_modules/airflow/operators/mysql_operator.html |   395 +
 .../_modules/airflow/operators/mysql_to_hive.html  |   472 +
 .../airflow/operators/oracle_operator.html         |   391 +
 .../_modules/airflow/operators/pig_operator.html   |   405 +
 .../airflow/operators/postgres_operator.html       |   395 +
 .../airflow/operators/presto_check_operator.html   |   455 +
 .../airflow/operators/presto_to_mysql.html         |   408 +
 .../airflow/operators/python_operator.html         |   744 ++
 .../airflow/operators/redshift_to_s3_operator.html |   478 +
 .../operators/s3_file_transform_operator.html      |   496 +
 .../airflow/operators/s3_to_hive_operator.html     |   625 ++
 .../airflow/operators/s3_to_redshift_operator.html |   437 +
 1.10.5/_modules/airflow/operators/sensors.html     |   422 +
 .../_modules/airflow/operators/slack_operator.html |   466 +
 .../airflow/operators/sqlite_operator.html         |   382 +
 .../airflow/operators/subdag_operator.html         |   430 +
 1.10.5/_modules/airflow/sensors.html               |   391 +
 .../airflow/sensors/base_sensor_operator.html      |   469 +
 .../airflow/sensors/external_task_sensor.html      |   482 +
 1.10.5/_modules/airflow/sensors/hdfs_sensor.html   |   451 +
 .../airflow/sensors/hive_partition_sensor.html     |   403 +
 1.10.5/_modules/airflow/sensors/http_sensor.html   |   420 +
 .../sensors/metastore_partition_sensor.html        |   411 +
 .../sensors/named_hive_partition_sensor.html       |   430 +
 1.10.5/_modules/airflow/sensors/s3_key_sensor.html |   421 +
 .../_modules/airflow/sensors/s3_prefix_sensor.html |   410 +
 1.10.5/_modules/airflow/sensors/sql_sensor.html    |   430 +
 .../airflow/sensors/time_delta_sensor.html         |   374 +
 1.10.5/_modules/airflow/sensors/time_sensor.html   |   368 +
 .../_modules/airflow/sensors/web_hdfs_sensor.html  |   372 +
 .../_modules/airflow/utils/log/logging_mixin.html  |   504 +
 1.10.5/_modules/index.html                         |   659 ++
 .../_api/airflow/contrib/executors/index.rst.txt   |    16 +
 .../executors/kubernetes_executor/index.rst.txt    |   255 +
 .../contrib/executors/mesos_executor/index.rst.txt |   116 +
 .../contrib/hooks/aws_athena_hook/index.rst.txt    |   120 +
 .../contrib/hooks/aws_dynamodb_hook/index.rst.txt  |    35 +
 .../contrib/hooks/aws_firehose_hook/index.rst.txt  |    34 +
 .../hooks/aws_glue_catalog_hook/index.rst.txt      |   103 +
 .../airflow/contrib/hooks/aws_hook/index.rst.txt   |    72 +
 .../contrib/hooks/aws_lambda_hook/index.rst.txt    |    39 +
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |    60 +
 .../contrib/hooks/aws_sns_hook/index.rst.txt       |    35 +
 .../contrib/hooks/aws_sqs_hook/index.rst.txt       |    62 +
 .../azure_container_instance_hook/index.rst.txt    |   128 +
 .../azure_container_registry_hook/index.rst.txt    |    25 +
 .../azure_container_volume_hook/index.rst.txt      |    30 +
 .../contrib/hooks/azure_cosmos_hook/index.rst.txt  |   124 +
 .../hooks/azure_data_lake_hook/index.rst.txt       |   103 +
 .../hooks/azure_fileshare_hook/index.rst.txt       |   196 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |   966 ++
 .../contrib/hooks/cassandra_hook/index.rst.txt     |   107 +
 .../contrib/hooks/cloudant_hook/index.rst.txt      |    34 +
 .../contrib/hooks/databricks_hook/index.rst.txt    |   195 +
 .../contrib/hooks/datadog_hook/index.rst.txt       |    94 +
 .../contrib/hooks/datastore_hook/index.rst.txt     |   217 +
 .../contrib/hooks/dingding_hook/index.rst.txt      |    67 +
 .../hooks/discord_webhook_hook/index.rst.txt       |    70 +
 .../airflow/contrib/hooks/emr_hook/index.rst.txt   |    32 +
 .../airflow/contrib/hooks/fs_hook/index.rst.txt    |    34 +
 .../airflow/contrib/hooks/ftp_hook/index.rst.txt   |   218 +
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |   148 +
 .../contrib/hooks/gcp_bigtable_hook/index.rst.txt  |   178 +
 .../hooks/gcp_cloud_build_hook/index.rst.txt       |    81 +
 .../contrib/hooks/gcp_compute_hook/index.rst.txt   |   237 +
 .../contrib/hooks/gcp_container_hook/index.rst.txt |   157 +
 .../contrib/hooks/gcp_dataflow_hook/index.rst.txt  |   111 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |   179 +
 .../contrib/hooks/gcp_dlp_hook/index.rst.txt       |   919 ++
 .../contrib/hooks/gcp_function_hook/index.rst.txt  |   137 +
 .../contrib/hooks/gcp_kms_hook/index.rst.txt       |    71 +
 .../contrib/hooks/gcp_mlengine_hook/index.rst.txt  |   132 +
 .../hooks/gcp_natural_language_hook/index.rst.txt  |   175 +
 .../contrib/hooks/gcp_pubsub_hook/index.rst.txt    |   174 +
 .../contrib/hooks/gcp_spanner_hook/index.rst.txt   |   235 +
 .../hooks/gcp_speech_to_text_hook/index.rst.txt    |    58 +
 .../contrib/hooks/gcp_sql_hook/index.rst.txt       |   535 +
 .../hooks/gcp_text_to_speech_hook/index.rst.txt    |    64 +
 .../contrib/hooks/gcp_transfer_hook/index.rst.txt  |   468 +
 .../contrib/hooks/gcp_translate_hook/index.rst.txt |    77 +
 .../gcp_video_intelligence_hook/index.rst.txt      |    72 +
 .../contrib/hooks/gcp_vision_hook/index.rst.txt    |   232 +
 .../airflow/contrib/hooks/gcs_hook/index.rst.txt   |   318 +
 .../airflow/contrib/hooks/grpc_hook/index.rst.txt  |    36 +
 .../airflow/contrib/hooks/imap_hook/index.rst.txt  |   235 +
 .../_api/airflow/contrib/hooks/index.rst.txt       |   102 +
 .../contrib/hooks/jenkins_hook/index.rst.txt       |    21 +
 .../airflow/contrib/hooks/jira_hook/index.rst.txt  |    24 +
 .../airflow/contrib/hooks/mongo_hook/index.rst.txt |   218 +
 .../contrib/hooks/openfaas_hook/index.rst.txt      |    72 +
 .../hooks/opsgenie_alert_hook/index.rst.txt        |    54 +
 .../airflow/contrib/hooks/pinot_hook/index.rst.txt |    84 +
 .../contrib/hooks/qubole_check_hook/index.rst.txt  |    48 +
 .../contrib/hooks/qubole_hook/index.rst.txt        |    98 +
 .../airflow/contrib/hooks/redis_hook/index.rst.txt |    28 +
 .../contrib/hooks/redshift_hook/index.rst.txt      |    79 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |   438 +
 .../contrib/hooks/salesforce_hook/index.rst.txt    |   138 +
 .../contrib/hooks/segment_hook/index.rst.txt       |    36 +
 .../airflow/contrib/hooks/sftp_hook/index.rst.txt  |   124 +
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |    73 +
 .../contrib/hooks/snowflake_hook/index.rst.txt     |    70 +
 .../contrib/hooks/spark_jdbc_hook/index.rst.txt    |   119 +
 .../contrib/hooks/spark_jdbc_script/index.rst.txt  |    20 +
 .../contrib/hooks/spark_sql_hook/index.rst.txt     |    76 +
 .../contrib/hooks/spark_submit_hook/index.rst.txt  |   197 +
 .../airflow/contrib/hooks/sqoop_hook/index.rst.txt |   154 +
 .../airflow/contrib/hooks/ssh_hook/index.rst.txt   |    78 +
 .../contrib/hooks/vertica_hook/index.rst.txt       |    38 +
 .../airflow/contrib/hooks/wasb_hook/index.rst.txt  |   150 +
 .../airflow/contrib/hooks/winrm_hook/index.rst.txt |    77 +
 .../operators/adls_list_operator/index.rst.txt     |    51 +
 .../contrib/operators/adls_to_gcs/index.rst.txt    |    87 +
 .../operators/aws_athena_operator/index.rst.txt    |    66 +
 .../aws_sqs_publish_operator/index.rst.txt         |    51 +
 .../operators/awsbatch_operator/index.rst.txt      |    93 +
 .../index.rst.txt                                  |   140 +
 .../operators/azure_cosmos_operator/index.rst.txt  |    41 +
 .../bigquery_check_operator/index.rst.txt          |   127 +
 .../operators/bigquery_get_data/index.rst.txt      |    72 +
 .../operators/bigquery_operator/index.rst.txt      |   447 +
 .../bigquery_table_delete_operator/index.rst.txt   |    45 +
 .../operators/bigquery_to_bigquery/index.rst.txt   |    70 +
 .../operators/bigquery_to_gcs/index.rst.txt        |    68 +
 .../operators/cassandra_to_gcs/index.rst.txt       |   183 +
 .../operators/databricks_operator/index.rst.txt    |   356 +
 .../operators/dataflow_operator/index.rst.txt      |   306 +
 .../operators/dataproc_operator/index.rst.txt      |   741 ++
 .../datastore_export_operator/index.rst.txt        |    50 +
 .../datastore_import_operator/index.rst.txt        |    47 +
 .../operators/dingding_operator/index.rst.txt      |    48 +
 .../discord_webhook_operator/index.rst.txt         |    53 +
 .../contrib/operators/druid_operator/index.rst.txt |    37 +
 .../contrib/operators/ecs_operator/index.rst.txt   |   105 +
 .../operators/emr_add_steps_operator/index.rst.txt |    43 +
 .../emr_create_job_flow_operator/index.rst.txt     |    46 +
 .../emr_terminate_job_flow_operator/index.rst.txt  |    41 +
 .../contrib/operators/file_to_gcs/index.rst.txt    |    44 +
 .../contrib/operators/file_to_wasb/index.rst.txt   |    40 +
 .../operators/gcp_bigtable_operator/index.rst.txt  |   288 +
 .../gcp_cloud_build_operator/index.rst.txt         |   123 +
 .../operators/gcp_compute_operator/index.rst.txt   |   275 +
 .../operators/gcp_container_operator/index.rst.txt |   206 +
 .../operators/gcp_dlp_operator/index.rst.txt       |  1241 +++
 .../operators/gcp_function_operator/index.rst.txt  |   218 +
 .../gcp_natural_language_operator/index.rst.txt    |   155 +
 .../operators/gcp_spanner_operator/index.rst.txt   |   261 +
 .../gcp_speech_to_text_operator/index.rst.txt      |    55 +
 .../operators/gcp_sql_operator/index.rst.txt       |   504 +
 .../gcp_text_to_speech_operator/index.rst.txt      |    62 +
 .../operators/gcp_transfer_operator/index.rst.txt  |   555 +
 .../operators/gcp_translate_operator/index.rst.txt |    68 +
 .../gcp_translate_speech_operator/index.rst.txt    |    88 +
 .../gcp_video_intelligence_operator/index.rst.txt  |   158 +
 .../operators/gcp_vision_operator/index.rst.txt    |   753 ++
 .../operators/gcs_acl_operator/index.rst.txt       |    90 +
 .../operators/gcs_delete_operator/index.rst.txt    |    43 +
 .../operators/gcs_download_operator/index.rst.txt  |    53 +
 .../operators/gcs_list_operator/index.rst.txt      |    63 +
 .../contrib/operators/gcs_operator/index.rst.txt   |    87 +
 .../contrib/operators/gcs_to_bq/index.rst.txt      |   146 +
 .../contrib/operators/gcs_to_gcs/index.rst.txt     |   124 +
 .../contrib/operators/gcs_to_s3/index.rst.txt      |    71 +
 .../operators/hipchat_operator/index.rst.txt       |    80 +
 .../operators/hive_to_dynamodb/index.rst.txt       |    59 +
 .../imap_attachment_to_s3_operator/index.rst.txt   |    46 +
 .../_api/airflow/contrib/operators/index.rst.txt   |   126 +
 .../jenkins_job_trigger_operator/index.rst.txt     |   101 +
 .../contrib/operators/jira_operator/index.rst.txt  |    39 +
 .../kubernetes_pod_operator/index.rst.txt          |   106 +
 .../operators/mlengine_operator/index.rst.txt      |   316 +
 .../contrib/operators/mongo_to_s3/index.rst.txt    |    57 +
 .../contrib/operators/mssql_to_gcs/index.rst.txt   |    73 +
 .../contrib/operators/mysql_to_gcs/index.rst.txt   |    71 +
 .../opsgenie_alert_operator/index.rst.txt          |    77 +
 .../index.rst.txt                                  |    59 +
 .../oracle_to_oracle_transfer/index.rst.txt        |    51 +
 .../postgres_to_gcs_operator/index.rst.txt         |    60 +
 .../operators/pubsub_operator/index.rst.txt        |   259 +
 .../operators/qubole_check_operator/index.rst.txt  |   183 +
 .../operators/qubole_operator/index.rst.txt        |   214 +
 .../operators/redis_publish_operator/index.rst.txt |    38 +
 .../s3_copy_object_operator/index.rst.txt          |    64 +
 .../s3_delete_objects_operator/index.rst.txt       |    56 +
 .../operators/s3_list_operator/index.rst.txt       |    69 +
 .../operators/s3_to_gcs_operator/index.rst.txt     |    88 +
 .../operators/s3_to_sftp_operator/index.rst.txt    |    50 +
 .../sagemaker_base_operator/index.rst.txt          |    66 +
 .../index.rst.txt                                  |    35 +
 .../sagemaker_endpoint_operator/index.rst.txt      |    72 +
 .../sagemaker_model_operator/index.rst.txt         |    35 +
 .../sagemaker_training_operator/index.rst.txt      |    52 +
 .../sagemaker_transform_operator/index.rst.txt     |    65 +
 .../sagemaker_tuning_operator/index.rst.txt        |    50 +
 .../segment_track_event_operator/index.rst.txt     |    43 +
 .../contrib/operators/sftp_operator/index.rst.txt  |    89 +
 .../operators/sftp_to_s3_operator/index.rst.txt    |    51 +
 .../operators/slack_webhook_operator/index.rst.txt |    57 +
 .../operators/snowflake_operator/index.rst.txt     |    59 +
 .../operators/sns_publish_operator/index.rst.txt   |    38 +
 .../operators/spark_jdbc_operator/index.rst.txt    |   113 +
 .../operators/spark_sql_operator/index.rst.txt     |    65 +
 .../operators/spark_submit_operator/index.rst.txt  |    95 +
 .../contrib/operators/sql_to_gcs/index.rst.txt     |   157 +
 .../contrib/operators/sqoop_operator/index.rst.txt |    45 +
 .../contrib/operators/ssh_operator/index.rst.txt   |    56 +
 .../operators/vertica_operator/index.rst.txt       |    43 +
 .../operators/vertica_to_hive/index.rst.txt        |    71 +
 .../operators/vertica_to_mysql/index.rst.txt       |    60 +
 .../wasb_delete_blob_operator/index.rst.txt        |    40 +
 .../contrib/operators/winrm_operator/index.rst.txt |    39 +
 .../sensors/aws_athena_sensor/index.rst.txt        |    68 +
 .../index.rst.txt                                  |    62 +
 .../aws_redshift_cluster_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/aws_sqs_sensor/index.rst.txt   |    43 +
 .../sensors/azure_cosmos_sensor/index.rst.txt      |    33 +
 .../contrib/sensors/bash_sensor/index.rst.txt      |    42 +
 .../contrib/sensors/bigquery_sensor/index.rst.txt  |    48 +
 .../sensors/cassandra_record_sensor/index.rst.txt  |    35 +
 .../sensors/cassandra_table_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/datadog_sensor/index.rst.txt   |    33 +
 .../contrib/sensors/emr_base_sensor/index.rst.txt  |    28 +
 .../sensors/emr_job_flow_sensor/index.rst.txt      |    55 +
 .../contrib/sensors/emr_step_sensor/index.rst.txt  |    57 +
 .../contrib/sensors/file_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/ftp_sensor/index.rst.txt       |    65 +
 .../sensors/gcp_transfer_sensor/index.rst.txt      |    41 +
 .../contrib/sensors/gcs_sensor/index.rst.txt       |   194 +
 .../contrib/sensors/hdfs_sensor/index.rst.txt      |    37 +
 .../sensors/imap_attachment_sensor/index.rst.txt   |    47 +
 .../_api/airflow/contrib/sensors/index.rst.txt     |    48 +
 .../contrib/sensors/jira_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/mongo_sensor/index.rst.txt     |    32 +
 .../contrib/sensors/pubsub_sensor/index.rst.txt    |    50 +
 .../contrib/sensors/python_sensor/index.rst.txt    |    51 +
 .../contrib/sensors/qubole_sensor/index.rst.txt    |    67 +
 .../contrib/sensors/redis_key_sensor/index.rst.txt |    31 +
 .../sensors/redis_pub_sub_sensor/index.rst.txt     |    39 +
 .../sensors/sagemaker_base_sensor/index.rst.txt    |    54 +
 .../sagemaker_endpoint_sensor/index.rst.txt        |    55 +
 .../sagemaker_training_sensor/index.rst.txt        |    62 +
 .../sagemaker_transform_sensor/index.rst.txt       |    56 +
 .../sensors/sagemaker_tuning_sensor/index.rst.txt  |    56 +
 .../contrib/sensors/sftp_sensor/index.rst.txt      |    31 +
 .../contrib/sensors/wasb_sensor/index.rst.txt      |    63 +
 .../contrib/sensors/weekday_sensor/index.rst.txt   |    66 +
 .../airflow/executors/base_executor/index.rst.txt  |   120 +
 .../executors/celery_executor/index.rst.txt        |   115 +
 .../airflow/executors/dask_executor/index.rst.txt  |    46 +
 .../_sources/_api/airflow/executors/index.rst.txt  |   337 +
 .../airflow/executors/local_executor/index.rst.txt |   171 +
 .../executors/sequential_executor/index.rst.txt    |    36 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |   333 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    70 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |   198 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    30 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |    92 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    40 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |   469 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |   106 +
 1.10.5/_sources/_api/airflow/hooks/index.rst.txt   |    51 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    50 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |    48 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |   104 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |    99 +
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |    37 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |   106 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |    98 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    26 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    38 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    85 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    47 +
 .../_api/airflow/models/base/index.rst.txt         |    29 +
 .../_api/airflow/models/baseoperator/index.rst.txt |   589 ++
 .../_api/airflow/models/chart/index.rst.txt        |   104 +
 .../_api/airflow/models/connection/index.rst.txt   |   147 +
 .../_api/airflow/models/crypto/index.rst.txt       |    56 +
 .../_sources/_api/airflow/models/dag/index.rst.txt |   808 ++
 .../_api/airflow/models/dagbag/index.rst.txt       |   118 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    48 +
 .../_api/airflow/models/dagrun/index.rst.txt       |   230 +
 .../_api/airflow/models/errors/index.rst.txt       |    39 +
 1.10.5/_sources/_api/airflow/models/index.rst.txt  |  3276 ++++++
 .../_api/airflow/models/knownevent/index.rst.txt   |    94 +
 .../_api/airflow/models/kubernetes/index.rst.txt   |    74 +
 .../_sources/_api/airflow/models/log/index.rst.txt |    66 +
 .../_api/airflow/models/pool/index.rst.txt         |    92 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    35 +
 .../_api/airflow/models/slamiss/index.rst.txt      |    68 +
 .../_api/airflow/models/taskfail/index.rst.txt     |    61 +
 .../_api/airflow/models/taskinstance/index.rst.txt |   552 +
 .../airflow/models/taskreschedule/index.rst.txt    |    82 +
 .../_api/airflow/models/user/index.rst.txt         |    54 +
 .../_api/airflow/models/variable/index.rst.txt     |   101 +
 .../_api/airflow/models/xcom/index.rst.txt         |   122 +
 .../airflow/operators/bash_operator/index.rst.txt  |    62 +
 .../operators/branch_operator/index.rst.txt        |    47 +
 .../airflow/operators/check_operator/index.rst.txt |   205 +
 .../operators/dagrun_operator/index.rst.txt        |    51 +
 .../operators/docker_operator/index.rst.txt        |   135 +
 .../operators/druid_check_operator/index.rst.txt   |    66 +
 .../airflow/operators/dummy_operator/index.rst.txt |    27 +
 .../airflow/operators/email_operator/index.rst.txt |    55 +
 .../operators/generic_transfer/index.rst.txt       |    53 +
 .../airflow/operators/hive_operator/index.rst.txt  |    84 +
 .../operators/hive_stats_operator/index.rst.txt    |    62 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |    81 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    62 +
 .../operators/hive_to_samba_operator/index.rst.txt |    39 +
 .../airflow/operators/http_operator/index.rst.txt  |    62 +
 .../_sources/_api/airflow/operators/index.rst.txt  |   617 ++
 .../airflow/operators/jdbc_operator/index.rst.txt  |    50 +
 .../operators/latest_only_operator/index.rst.txt   |    30 +
 .../airflow/operators/mssql_operator/index.rst.txt |    49 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    74 +
 .../airflow/operators/mysql_operator/index.rst.txt |    51 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    73 +
 .../operators/oracle_operator/index.rst.txt        |    49 +
 .../airflow/operators/pig_operator/index.rst.txt   |    64 +
 .../operators/postgres_operator/index.rst.txt      |    50 +
 .../operators/presto_check_operator/index.rst.txt  |    90 +
 .../operators/presto_to_mysql/index.rst.txt        |    53 +
 .../operators/python_operator/index.rst.txt        |   226 +
 .../redshift_to_s3_operator/index.rst.txt          |    62 +
 .../s3_file_transform_operator/index.rst.txt       |    77 +
 .../operators/s3_to_hive_operator/index.rst.txt    |   112 +
 .../s3_to_redshift_operator/index.rst.txt          |    62 +
 .../_api/airflow/operators/sensors/index.rst.txt   |    69 +
 .../airflow/operators/slack_operator/index.rst.txt |    84 +
 .../operators/sqlite_operator/index.rst.txt        |    44 +
 .../operators/subdag_operator/index.rst.txt        |    40 +
 .../sensors/base_sensor_operator/index.rst.txt     |    85 +
 .../sensors/external_task_sensor/index.rst.txt     |    56 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |    58 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    47 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    45 +
 1.10.5/_sources/_api/airflow/sensors/index.rst.txt |    44 +
 .../metastore_partition_sensor/index.rst.txt       |    47 +
 .../named_hive_partition_sensor/index.rst.txt      |    53 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    50 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    52 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    58 +
 .../sensors/time_delta_sensor/index.rst.txt        |    27 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    24 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    26 +
 1.10.5/_sources/_api/index.rst.txt                 |   129 +
 1.10.5/_sources/api.rst.txt                        |   148 +
 1.10.5/_sources/changelog.rst.txt                  |    23 +
 1.10.5/_sources/cli.rst.txt                        |    33 +
 1.10.5/_sources/concepts.rst.txt                   |  1145 +++
 1.10.5/_sources/faq.rst.txt                        |   214 +
 1.10.5/_sources/howto/check-health.rst.txt         |    50 +
 1.10.5/_sources/howto/connection/aws.rst.txt       |    66 +
 1.10.5/_sources/howto/connection/gcp.rst.txt       |   121 +
 1.10.5/_sources/howto/connection/gcp_sql.rst.txt   |    78 +
 1.10.5/_sources/howto/connection/grpc.rst.txt      |    75 +
 1.10.5/_sources/howto/connection/index.rst.txt     |    94 +
 1.10.5/_sources/howto/connection/mysql.rst.txt     |    96 +
 1.10.5/_sources/howto/connection/oracle.rst.txt    |    87 +
 1.10.5/_sources/howto/connection/postgres.rst.txt  |    81 +
 1.10.5/_sources/howto/connection/ssh.rst.txt       |    69 +
 1.10.5/_sources/howto/define_extra_link.rst.txt    |    58 +
 1.10.5/_sources/howto/executor/use-celery.rst.txt  |    72 +
 1.10.5/_sources/howto/executor/use-dask.rst.txt    |    50 +
 1.10.5/_sources/howto/executor/use-mesos.rst.txt   |    82 +
 1.10.5/_sources/howto/index.rst.txt                |    47 +
 1.10.5/_sources/howto/initialize-database.rst.txt  |    48 +
 1.10.5/_sources/howto/operator/bash.rst.txt        |    64 +
 1.10.5/_sources/howto/operator/dingding.rst.txt    |    93 +
 .../_sources/howto/operator/gcp/bigtable.rst.txt   |   172 +
 .../howto/operator/gcp/cloud_build.rst.txt         |   117 +
 1.10.5/_sources/howto/operator/gcp/compute.rst.txt |   327 +
 .../_sources/howto/operator/gcp/function.rst.txt   |   204 +
 1.10.5/_sources/howto/operator/gcp/gcs.rst.txt     |   129 +
 1.10.5/_sources/howto/operator/gcp/index.rst.txt   |    28 +
 .../howto/operator/gcp/natural_language.rst.txt    |   182 +
 1.10.5/_sources/howto/operator/gcp/spanner.rst.txt |   278 +
 1.10.5/_sources/howto/operator/gcp/speech.rst.txt  |   127 +
 1.10.5/_sources/howto/operator/gcp/sql.rst.txt     |   646 ++
 .../_sources/howto/operator/gcp/transfer.rst.txt   |   422 +
 .../howto/operator/gcp/translate-speech.rst.txt    |    89 +
 .../_sources/howto/operator/gcp/translate.rst.txt  |    70 +
 1.10.5/_sources/howto/operator/gcp/video.rst.txt   |   216 +
 1.10.5/_sources/howto/operator/gcp/vision.rst.txt  |  1184 +++
 1.10.5/_sources/howto/operator/index.rst.txt       |    36 +
 1.10.5/_sources/howto/operator/python.rst.txt      |    52 +
 1.10.5/_sources/howto/run-behind-proxy.rst.txt     |    84 +
 1.10.5/_sources/howto/run-with-systemd.rst.txt     |    40 +
 1.10.5/_sources/howto/run-with-upstart.rst.txt     |    44 +
 1.10.5/_sources/howto/secure-connections.rst.txt   |    63 +
 1.10.5/_sources/howto/set-config.rst.txt           |    68 +
 .../_sources/howto/tracking-user-activity.rst.txt  |    36 +
 1.10.5/_sources/howto/use-test-config.rst.txt      |    34 +
 1.10.5/_sources/howto/write-logs.rst.txt           |   207 +
 1.10.5/_sources/index.rst.txt                      |   100 +
 1.10.5/_sources/installation.rst.txt               |   138 +
 1.10.5/_sources/integration.rst.txt                |   967 ++
 1.10.5/_sources/kubernetes.rst.txt                 |   168 +
 1.10.5/_sources/license.rst.txt                    |   201 +
 1.10.5/_sources/lineage.rst.txt                    |   113 +
 1.10.5/_sources/macros.rst.txt                     |   123 +
 1.10.5/_sources/metrics.rst.txt                    |    92 +
 1.10.5/_sources/plugins.rst.txt                    |   302 +
 1.10.5/_sources/privacy_notice.rst.txt             |    68 +
 1.10.5/_sources/profiling.rst.txt                  |    58 +
 1.10.5/_sources/project.rst.txt                    |    91 +
 1.10.5/_sources/scheduler.rst.txt                  |   187 +
 1.10.5/_sources/security.rst.txt                   |   593 ++
 1.10.5/_sources/start.rst.txt                      |    73 +
 1.10.5/_sources/timezone.rst.txt                   |   164 +
 1.10.5/_sources/tutorial.rst.txt                   |   474 +
 1.10.5/_sources/ui.rst.txt                         |   121 +
 1.10.5/_static/basic.css                           |   763 ++
 1.10.5/_static/css/badge_only.css                  |     1 +
 1.10.5/_static/css/theme.css                       |     6 +
 1.10.5/_static/doctools.js                         |   314 +
 1.10.5/_static/documentation_options.js            |    10 +
 1.10.5/_static/file.png                            |   Bin 0 -> 286 bytes
 1.10.5/_static/fonts/Inconsolata-Bold.ttf          |   Bin 0 -> 109948 bytes
 1.10.5/_static/fonts/Inconsolata-Regular.ttf       |   Bin 0 -> 96964 bytes
 1.10.5/_static/fonts/Inconsolata.ttf               |   Bin 0 -> 63184 bytes
 1.10.5/_static/fonts/Lato-Bold.ttf                 |   Bin 0 -> 656544 bytes
 1.10.5/_static/fonts/Lato-Regular.ttf              |   Bin 0 -> 656568 bytes
 1.10.5/_static/fonts/Lato/lato-bold.eot            |   Bin 0 -> 256056 bytes
 1.10.5/_static/fonts/Lato/lato-bold.ttf            |   Bin 0 -> 600856 bytes
 1.10.5/_static/fonts/Lato/lato-bold.woff           |   Bin 0 -> 309728 bytes
 1.10.5/_static/fonts/Lato/lato-bold.woff2          |   Bin 0 -> 184912 bytes
 1.10.5/_static/fonts/Lato/lato-bolditalic.eot      |   Bin 0 -> 266158 bytes
 1.10.5/_static/fonts/Lato/lato-bolditalic.ttf      |   Bin 0 -> 622572 bytes
 1.10.5/_static/fonts/Lato/lato-bolditalic.woff     |   Bin 0 -> 323344 bytes
 1.10.5/_static/fonts/Lato/lato-bolditalic.woff2    |   Bin 0 -> 193308 bytes
 1.10.5/_static/fonts/Lato/lato-italic.eot          |   Bin 0 -> 268604 bytes
 1.10.5/_static/fonts/Lato/lato-italic.ttf          |   Bin 0 -> 639388 bytes
 1.10.5/_static/fonts/Lato/lato-italic.woff         |   Bin 0 -> 328412 bytes
 1.10.5/_static/fonts/Lato/lato-italic.woff2        |   Bin 0 -> 195704 bytes
 1.10.5/_static/fonts/Lato/lato-regular.eot         |   Bin 0 -> 253461 bytes
 1.10.5/_static/fonts/Lato/lato-regular.ttf         |   Bin 0 -> 607720 bytes
 1.10.5/_static/fonts/Lato/lato-regular.woff        |   Bin 0 -> 309192 bytes
 1.10.5/_static/fonts/Lato/lato-regular.woff2       |   Bin 0 -> 182708 bytes
 1.10.5/_static/fonts/RobotoSlab-Bold.ttf           |   Bin 0 -> 170616 bytes
 1.10.5/_static/fonts/RobotoSlab-Regular.ttf        |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 1.10.5/_static/fonts/fontawesome-webfont.eot       |   Bin 0 -> 165742 bytes
 1.10.5/_static/fonts/fontawesome-webfont.svg       |  2671 +++++
 1.10.5/_static/fonts/fontawesome-webfont.ttf       |   Bin 0 -> 165548 bytes
 1.10.5/_static/fonts/fontawesome-webfont.woff      |   Bin 0 -> 98024 bytes
 1.10.5/_static/fonts/fontawesome-webfont.woff2     |   Bin 0 -> 77160 bytes
 1.10.5/_static/jquery-3.2.1.js                     | 10253 +++++++++++++++++++
 1.10.5/_static/jquery.js                           |     4 +
 1.10.5/_static/js/modernizr.min.js                 |     4 +
 1.10.5/_static/js/theme.js                         |     3 +
 1.10.5/_static/language_data.js                    |   297 +
 1.10.5/_static/minus.png                           |   Bin 0 -> 90 bytes
 1.10.5/_static/plus.png                            |   Bin 0 -> 90 bytes
 1.10.5/_static/pygments.css                        |    63 +
 1.10.5/_static/searchtools.js                      |   506 +
 1.10.5/_static/underscore-1.3.1.js                 |   999 ++
 1.10.5/_static/underscore.js                       |    31 +
 1.10.5/api.html                                    |   510 +
 1.10.5/changelog.html                              |  3489 +++++++
 1.10.5/cli.html                                    |  1627 +++
 1.10.5/concepts.html                               |  1345 +++
 1.10.5/faq.html                                    |   523 +
 1.10.5/genindex.html                               |  9635 +++++++++++++++++
 1.10.5/howto/check-health.html                     |   394 +
 1.10.5/howto/connection/aws.html                   |   419 +
 1.10.5/howto/connection/gcp.html                   |   467 +
 1.10.5/howto/connection/gcp_sql.html               |   429 +
 1.10.5/howto/connection/grpc.html                  |   431 +
 1.10.5/howto/connection/index.html                 |   445 +
 1.10.5/howto/connection/mysql.html                 |   450 +
 1.10.5/howto/connection/oracle.html                |   439 +
 1.10.5/howto/connection/postgres.html              |   435 +
 1.10.5/howto/connection/ssh.html                   |   424 +
 1.10.5/howto/define_extra_link.html                |   395 +
 1.10.5/howto/executor/use-celery.html              |   407 +
 1.10.5/howto/executor/use-dask.html                |   388 +
 1.10.5/howto/executor/use-mesos.html               |   430 +
 1.10.5/howto/index.html                            |   411 +
 1.10.5/howto/initialize-database.html              |   393 +
 1.10.5/howto/operator/bash.html                    |   423 +
 1.10.5/howto/operator/dingding.html                |   496 +
 1.10.5/howto/operator/gcp/bigtable.html            |   607 ++
 1.10.5/howto/operator/gcp/cloud_build.html         |   499 +
 1.10.5/howto/operator/gcp/compute.html             |   745 ++
 1.10.5/howto/operator/gcp/function.html            |   599 ++
 1.10.5/howto/operator/gcp/gcs.html                 |   510 +
 1.10.5/howto/operator/gcp/index.html               |   408 +
 1.10.5/howto/operator/gcp/natural_language.html    |   577 ++
 1.10.5/howto/operator/gcp/spanner.html             |   721 ++
 1.10.5/howto/operator/gcp/speech.html              |   505 +
 1.10.5/howto/operator/gcp/sql.html                 |  1369 +++
 1.10.5/howto/operator/gcp/transfer.html            |   900 ++
 1.10.5/howto/operator/gcp/translate-speech.html    |   449 +
 1.10.5/howto/operator/gcp/translate.html           |   441 +
 1.10.5/howto/operator/gcp/video.html               |   583 ++
 1.10.5/howto/operator/gcp/vision.html              |  1553 +++
 1.10.5/howto/operator/index.html                   |   417 +
 1.10.5/howto/operator/python.html                  |   428 +
 1.10.5/howto/run-behind-proxy.html                 |   428 +
 1.10.5/howto/run-with-systemd.html                 |   378 +
 1.10.5/howto/run-with-upstart.html                 |   388 +
 1.10.5/howto/secure-connections.html               |   406 +
 1.10.5/howto/set-config.html                       |   403 +
 1.10.5/howto/tracking-user-activity.html           |   380 +
 1.10.5/howto/use-test-config.html                  |   373 +
 1.10.5/howto/write-logs.html                       |   532 +
 1.10.5/http-routingtable.html                      |   402 +
 1.10.5/index.html                                  |  1032 ++
 1.10.5/installation.html                           |   528 +
 1.10.5/integration.html                            |  1143 +++
 1.10.5/kubernetes.html                             |   486 +
 1.10.5/license.html                                |   520 +
 1.10.5/lineage.html                                |   429 +
 1.10.5/macros.html                                 |   666 ++
 1.10.5/metrics.html                                |   489 +
 1.10.5/objects.inv                                 |   Bin 0 -> 39960 bytes
 1.10.5/plugins.html                                |   604 ++
 1.10.5/privacy_notice.html                         |   380 +
 1.10.5/profiling.html                              |   381 +
 1.10.5/project.html                                |   411 +
 1.10.5/py-modindex.html                            |  1919 ++++
 1.10.5/scheduler.html                              |   522 +
 1.10.5/search.html                                 |   345 +
 1.10.5/searchindex.js                              |     1 +
 1.10.5/security.html                               |   893 ++
 1.10.5/start.html                                  |   392 +
 1.10.5/timezone.html                               |   474 +
 1.10.5/tutorial.html                               |   775 ++
 1.10.5/ui.html                                     |   427 +
 _api/airflow/contrib/executors/index.html          |    39 +-
 .../executors/kubernetes_executor/index.html       |    39 +-
 .../contrib/executors/mesos_executor/index.html    |    39 +-
 .../contrib/hooks/aws_athena_hook/index.html       |    39 +-
 .../contrib/hooks/aws_dynamodb_hook/index.html     |    39 +-
 .../contrib/hooks/aws_firehose_hook/index.html     |    39 +-
 .../contrib/hooks/aws_glue_catalog_hook/index.html |    51 +-
 _api/airflow/contrib/hooks/aws_hook/index.html     |    39 +-
 .../contrib/hooks/aws_lambda_hook/index.html       |    43 +-
 .../airflow/contrib/hooks/aws_logs_hook/index.html |   422 +
 _api/airflow/contrib/hooks/aws_sns_hook/index.html |    43 +-
 _api/airflow/contrib/hooks/aws_sqs_hook/index.html |    39 +-
 .../hooks/azure_container_instance_hook/index.html |    39 +-
 .../hooks/azure_container_registry_hook/index.html |    39 +-
 .../hooks/azure_container_volume_hook/index.html   |    39 +-
 .../contrib/hooks/azure_cosmos_hook/index.html     |    39 +-
 .../contrib/hooks/azure_data_lake_hook/index.html  |    39 +-
 .../contrib/hooks/azure_fileshare_hook/index.html  |    39 +-
 .../airflow/contrib/hooks/bigquery_hook/index.html |   159 +-
 .../contrib/hooks/cassandra_hook/index.html        |    69 +-
 .../airflow/contrib/hooks/cloudant_hook/index.html |    39 +-
 .../contrib/hooks/databricks_hook/index.html       |    45 +-
 _api/airflow/contrib/hooks/datadog_hook/index.html |    39 +-
 .../contrib/hooks/datastore_hook/index.html        |    39 +-
 .../airflow/contrib/hooks/dingding_hook/index.html |    39 +-
 .../contrib/hooks/discord_webhook_hook/index.html  |    39 +-
 _api/airflow/contrib/hooks/emr_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/fs_hook/index.html      |    39 +-
 _api/airflow/contrib/hooks/ftp_hook/index.html     |    53 +-
 .../contrib/hooks/gcp_api_base_hook/index.html     |    53 +-
 .../contrib/hooks/gcp_bigtable_hook/index.html     |    39 +-
 .../contrib/hooks/gcp_cloud_build_hook/index.html  |    39 +-
 .../contrib/hooks/gcp_compute_hook/index.html      |    39 +-
 .../contrib/hooks/gcp_container_hook/index.html    |    39 +-
 .../contrib/hooks/gcp_dataflow_hook/index.html     |    39 +-
 .../contrib/hooks/gcp_dataproc_hook/index.html     |    52 +-
 _api/airflow/contrib/hooks/gcp_dlp_hook/index.html |    39 +-
 .../contrib/hooks/gcp_function_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/gcp_kms_hook/index.html |    39 +-
 .../contrib/hooks/gcp_mlengine_hook/index.html     |    47 +-
 .../hooks/gcp_natural_language_hook/index.html     |    39 +-
 .../contrib/hooks/gcp_pubsub_hook/index.html       |    39 +-
 .../contrib/hooks/gcp_spanner_hook/index.html      |    39 +-
 .../hooks/gcp_speech_to_text_hook/index.html       |    39 +-
 _api/airflow/contrib/hooks/gcp_sql_hook/index.html |    39 +-
 .../hooks/gcp_text_to_speech_hook/index.html       |    39 +-
 .../contrib/hooks/gcp_transfer_hook/index.html     |    39 +-
 .../contrib/hooks/gcp_translate_hook/index.html    |    39 +-
 .../hooks/gcp_video_intelligence_hook/index.html   |    39 +-
 .../contrib/hooks/gcp_vision_hook/index.html       |    39 +-
 _api/airflow/contrib/hooks/gcs_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/grpc_hook/index.html    |    39 +-
 _api/airflow/contrib/hooks/imap_hook/index.html    |    39 +-
 _api/airflow/contrib/hooks/index.html              |    40 +-
 _api/airflow/contrib/hooks/jenkins_hook/index.html |    39 +-
 _api/airflow/contrib/hooks/jira_hook/index.html    |    39 +-
 _api/airflow/contrib/hooks/mongo_hook/index.html   |    43 +-
 .../airflow/contrib/hooks/openfaas_hook/index.html |    39 +-
 .../contrib/hooks/opsgenie_alert_hook/index.html   |    39 +-
 _api/airflow/contrib/hooks/pinot_hook/index.html   |    39 +-
 .../contrib/hooks/qubole_check_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/qubole_hook/index.html  |    39 +-
 _api/airflow/contrib/hooks/redis_hook/index.html   |    39 +-
 .../airflow/contrib/hooks/redshift_hook/index.html |    39 +-
 .../contrib/hooks/sagemaker_hook/index.html        |    78 +-
 .../contrib/hooks/salesforce_hook/index.html       |    39 +-
 _api/airflow/contrib/hooks/segment_hook/index.html |    39 +-
 _api/airflow/contrib/hooks/sftp_hook/index.html    |    43 +-
 .../contrib/hooks/slack_webhook_hook/index.html    |    42 +-
 .../contrib/hooks/snowflake_hook/index.html        |    39 +-
 .../contrib/hooks/spark_jdbc_hook/index.html       |    39 +-
 .../contrib/hooks/spark_jdbc_script/index.html     |    39 +-
 .../contrib/hooks/spark_sql_hook/index.html        |    39 +-
 .../contrib/hooks/spark_submit_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/sqoop_hook/index.html   |    39 +-
 _api/airflow/contrib/hooks/ssh_hook/index.html     |    39 +-
 _api/airflow/contrib/hooks/vertica_hook/index.html |    39 +-
 _api/airflow/contrib/hooks/wasb_hook/index.html    |    39 +-
 _api/airflow/contrib/hooks/winrm_hook/index.html   |    39 +-
 .../operators/adls_list_operator/index.html        |    47 +-
 .../contrib/operators/adls_to_gcs/index.html       |    55 +-
 .../operators/aws_athena_operator/index.html       |    39 +-
 .../operators/aws_sqs_publish_operator/index.html  |    39 +-
 .../contrib/operators/awsbatch_operator/index.html |    43 +-
 .../azure_container_instances_operator/index.html  |    79 +-
 .../operators/azure_cosmos_operator/index.html     |    39 +-
 .../operators/bigquery_check_operator/index.html   |    43 +-
 .../contrib/operators/bigquery_get_data/index.html |    53 +-
 .../contrib/operators/bigquery_operator/index.html |   135 +-
 .../bigquery_table_delete_operator/index.html      |    39 +-
 .../operators/bigquery_to_bigquery/index.html      |    49 +-
 .../contrib/operators/bigquery_to_gcs/index.html   |    39 +-
 .../contrib/operators/cassandra_to_gcs/index.html  |    39 +-
 .../operators/databricks_operator/index.html       |    85 +-
 .../contrib/operators/dataflow_operator/index.html |   133 +-
 .../contrib/operators/dataproc_operator/index.html |    84 +-
 .../operators/datastore_export_operator/index.html |    39 +-
 .../operators/datastore_import_operator/index.html |    39 +-
 .../contrib/operators/dingding_operator/index.html |    39 +-
 .../operators/discord_webhook_operator/index.html  |    39 +-
 .../contrib/operators/druid_operator/index.html    |    39 +-
 .../contrib/operators/ecs_operator/index.html      |    56 +-
 .../operators/emr_add_steps_operator/index.html    |    39 +-
 .../emr_create_job_flow_operator/index.html        |    39 +-
 .../emr_terminate_job_flow_operator/index.html     |    39 +-
 .../contrib/operators/file_to_gcs/index.html       |    39 +-
 .../contrib/operators/file_to_wasb/index.html      |    39 +-
 .../operators/gcp_bigtable_operator/index.html     |    39 +-
 .../operators/gcp_cloud_build_operator/index.html  |    43 +-
 .../operators/gcp_compute_operator/index.html      |    39 +-
 .../operators/gcp_container_operator/index.html    |    71 +-
 .../contrib/operators/gcp_dlp_operator/index.html  |    39 +-
 .../operators/gcp_function_operator/index.html     |    39 +-
 .../gcp_natural_language_operator/index.html       |    39 +-
 .../operators/gcp_spanner_operator/index.html      |    39 +-
 .../gcp_speech_to_text_operator/index.html         |    39 +-
 .../contrib/operators/gcp_sql_operator/index.html  |    39 +-
 .../gcp_text_to_speech_operator/index.html         |    39 +-
 .../operators/gcp_transfer_operator/index.html     |    61 +-
 .../operators/gcp_translate_operator/index.html    |    39 +-
 .../gcp_translate_speech_operator/index.html       |    39 +-
 .../gcp_video_intelligence_operator/index.html     |    53 +-
 .../operators/gcp_vision_operator/index.html       |    39 +-
 .../contrib/operators/gcs_acl_operator/index.html  |    39 +-
 .../operators/gcs_delete_operator/index.html       |    39 +-
 .../operators/gcs_download_operator/index.html     |    39 +-
 .../contrib/operators/gcs_list_operator/index.html |    49 +-
 .../contrib/operators/gcs_operator/index.html      |    53 +-
 .../airflow/contrib/operators/gcs_to_bq/index.html |    51 +-
 .../contrib/operators/gcs_to_gcs/index.html        |    75 +-
 .../airflow/contrib/operators/gcs_to_s3/index.html |    39 +-
 .../contrib/operators/hipchat_operator/index.html  |    39 +-
 .../contrib/operators/hive_to_dynamodb/index.html  |    39 +-
 .../imap_attachment_to_s3_operator/index.html      |    39 +-
 _api/airflow/contrib/operators/index.html          |    39 +-
 .../jenkins_job_trigger_operator/index.html        |    39 +-
 .../contrib/operators/jira_operator/index.html     |    39 +-
 .../operators/kubernetes_pod_operator/index.html   |    39 +-
 .../contrib/operators/mlengine_operator/index.html |    45 +-
 .../contrib/operators/mongo_to_s3/index.html       |    39 +-
 .../contrib/operators/mssql_to_gcs/index.html      |    55 +-
 .../contrib/operators/mysql_to_gcs/index.html      |    39 +-
 .../operators/opsgenie_alert_operator/index.html   |    39 +-
 .../oracle_to_azure_data_lake_transfer/index.html  |    39 +-
 .../operators/oracle_to_oracle_transfer/index.html |    39 +-
 .../operators/postgres_to_gcs_operator/index.html  |    39 +-
 .../contrib/operators/pubsub_operator/index.html   |   125 +-
 .../operators/qubole_check_operator/index.html     |    39 +-
 .../contrib/operators/qubole_operator/index.html   |    39 +-
 .../operators/redis_publish_operator/index.html    |    39 +-
 .../operators/s3_copy_object_operator/index.html   |    39 +-
 .../s3_delete_objects_operator/index.html          |    39 +-
 .../contrib/operators/s3_list_operator/index.html  |    51 +-
 .../operators/s3_to_gcs_operator/index.html        |    51 +-
 .../operators/s3_to_sftp_operator/index.html       |    39 +-
 .../operators/sagemaker_base_operator/index.html   |    39 +-
 .../sagemaker_endpoint_config_operator/index.html  |    41 +-
 .../sagemaker_endpoint_operator/index.html         |    55 +-
 .../operators/sagemaker_model_operator/index.html  |    41 +-
 .../sagemaker_training_operator/index.html         |    41 +-
 .../sagemaker_transform_operator/index.html        |    51 +-
 .../operators/sagemaker_tuning_operator/index.html |    41 +-
 .../segment_track_event_operator/index.html        |    39 +-
 .../contrib/operators/sftp_operator/index.html     |    53 +-
 .../operators/sftp_to_s3_operator/index.html       |    39 +-
 .../operators/slack_webhook_operator/index.html    |    42 +-
 .../operators/snowflake_operator/index.html        |    39 +-
 .../operators/sns_publish_operator/index.html      |    39 +-
 .../operators/spark_jdbc_operator/index.html       |    39 +-
 .../operators/spark_sql_operator/index.html        |    39 +-
 .../operators/spark_submit_operator/index.html     |    39 +-
 .../contrib/operators/sql_to_gcs/index.html        |    39 +-
 .../contrib/operators/sqoop_operator/index.html    |    39 +-
 .../contrib/operators/ssh_operator/index.html      |    39 +-
 .../contrib/operators/vertica_operator/index.html  |    39 +-
 .../contrib/operators/vertica_to_hive/index.html   |    39 +-
 .../contrib/operators/vertica_to_mysql/index.html  |    39 +-
 .../operators/wasb_delete_blob_operator/index.html |    39 +-
 .../contrib/operators/winrm_operator/index.html    |    39 +-
 .../contrib/sensors/aws_athena_sensor/index.html   |    39 +-
 .../aws_glue_catalog_partition_sensor/index.html   |    39 +-
 .../sensors/aws_redshift_cluster_sensor/index.html |    39 +-
 .../contrib/sensors/aws_sqs_sensor/index.html      |    39 +-
 .../contrib/sensors/azure_cosmos_sensor/index.html |    49 +-
 .../airflow/contrib/sensors/bash_sensor/index.html |    39 +-
 .../contrib/sensors/bigquery_sensor/index.html     |    39 +-
 .../sensors/cassandra_record_sensor/index.html     |    47 +-
 .../sensors/cassandra_table_sensor/index.html      |    45 +-
 .../contrib/sensors/datadog_sensor/index.html      |    39 +-
 .../contrib/sensors/emr_base_sensor/index.html     |    39 +-
 .../contrib/sensors/emr_job_flow_sensor/index.html |    39 +-
 .../contrib/sensors/emr_step_sensor/index.html     |    39 +-
 .../airflow/contrib/sensors/file_sensor/index.html |    39 +-
 _api/airflow/contrib/sensors/ftp_sensor/index.html |    39 +-
 .../contrib/sensors/gcp_transfer_sensor/index.html |    39 +-
 _api/airflow/contrib/sensors/gcs_sensor/index.html |    39 +-
 .../airflow/contrib/sensors/hdfs_sensor/index.html |    39 +-
 .../sensors/imap_attachment_sensor/index.html      |    39 +-
 _api/airflow/contrib/sensors/index.html            |    39 +-
 .../airflow/contrib/sensors/jira_sensor/index.html |    39 +-
 .../contrib/sensors/mongo_sensor/index.html        |    47 +-
 .../contrib/sensors/pubsub_sensor/index.html       |    39 +-
 .../contrib/sensors/python_sensor/index.html       |    39 +-
 .../contrib/sensors/qubole_sensor/index.html       |    39 +-
 .../contrib/sensors/redis_key_sensor/index.html    |    39 +-
 .../sensors/redis_pub_sub_sensor/index.html        |    39 +-
 .../sensors/sagemaker_base_sensor/index.html       |    39 +-
 .../sensors/sagemaker_endpoint_sensor/index.html   |    39 +-
 .../sensors/sagemaker_training_sensor/index.html   |    39 +-
 .../sensors/sagemaker_transform_sensor/index.html  |    39 +-
 .../sensors/sagemaker_tuning_sensor/index.html     |    39 +-
 .../airflow/contrib/sensors/sftp_sensor/index.html |    39 +-
 .../airflow/contrib/sensors/wasb_sensor/index.html |    39 +-
 .../contrib/sensors/weekday_sensor/index.html      |    61 +-
 _api/airflow/executors/base_executor/index.html    |    39 +-
 _api/airflow/executors/celery_executor/index.html  |    39 +-
 _api/airflow/executors/dask_executor/index.html    |    39 +-
 _api/airflow/executors/index.html                  |    39 +-
 _api/airflow/executors/local_executor/index.html   |    39 +-
 .../executors/sequential_executor/index.html       |    39 +-
 _api/airflow/hooks/S3_hook/index.html              |    39 +-
 _api/airflow/hooks/base_hook/index.html            |    39 +-
 _api/airflow/hooks/dbapi_hook/index.html           |    39 +-
 _api/airflow/hooks/docker_hook/index.html          |    39 +-
 _api/airflow/hooks/druid_hook/index.html           |    39 +-
 _api/airflow/hooks/hdfs_hook/index.html            |    39 +-
 _api/airflow/hooks/hive_hooks/index.html           |    99 +-
 _api/airflow/hooks/http_hook/index.html            |    43 +-
 _api/airflow/hooks/index.html                      |    39 +-
 _api/airflow/hooks/jdbc_hook/index.html            |    39 +-
 _api/airflow/hooks/mssql_hook/index.html           |    39 +-
 _api/airflow/hooks/mysql_hook/index.html           |    39 +-
 _api/airflow/hooks/oracle_hook/index.html          |    39 +-
 _api/airflow/hooks/pig_hook/index.html             |    45 +-
 _api/airflow/hooks/postgres_hook/index.html        |    39 +-
 _api/airflow/hooks/presto_hook/index.html          |    43 +-
 _api/airflow/hooks/samba_hook/index.html           |    39 +-
 _api/airflow/hooks/slack_hook/index.html           |    39 +-
 _api/airflow/hooks/sqlite_hook/index.html          |    39 +-
 _api/airflow/hooks/webhdfs_hook/index.html         |    39 +-
 _api/airflow/hooks/zendesk_hook/index.html         |    39 +-
 _api/airflow/models/base/index.html                |    39 +-
 _api/airflow/models/baseoperator/index.html        |    45 +-
 _api/airflow/models/chart/index.html               |    39 +-
 _api/airflow/models/connection/index.html          |    39 +-
 _api/airflow/models/crypto/index.html              |    39 +-
 _api/airflow/models/dag/index.html                 |    57 +-
 _api/airflow/models/dagbag/index.html              |    39 +-
 _api/airflow/models/dagpickle/index.html           |    39 +-
 _api/airflow/models/dagrun/index.html              |    39 +-
 _api/airflow/models/errors/index.html              |    39 +-
 _api/airflow/models/index.html                     |    74 +-
 _api/airflow/models/knownevent/index.html          |    39 +-
 _api/airflow/models/kubernetes/index.html          |    39 +-
 _api/airflow/models/log/index.html                 |    39 +-
 _api/airflow/models/pool/index.html                |    39 +-
 _api/airflow/models/skipmixin/index.html           |    39 +-
 _api/airflow/models/slamiss/index.html             |    39 +-
 _api/airflow/models/taskfail/index.html            |    39 +-
 _api/airflow/models/taskinstance/index.html        |    50 +-
 _api/airflow/models/taskreschedule/index.html      |    39 +-
 _api/airflow/models/user/index.html                |    39 +-
 _api/airflow/models/variable/index.html            |    39 +-
 _api/airflow/models/xcom/index.html                |    42 +-
 _api/airflow/operators/bash_operator/index.html    |    39 +-
 _api/airflow/operators/branch_operator/index.html  |    39 +-
 _api/airflow/operators/check_operator/index.html   |    39 +-
 _api/airflow/operators/dagrun_operator/index.html  |    39 +-
 _api/airflow/operators/docker_operator/index.html  |    39 +-
 .../operators/druid_check_operator/index.html      |    39 +-
 _api/airflow/operators/dummy_operator/index.html   |    39 +-
 _api/airflow/operators/email_operator/index.html   |    39 +-
 _api/airflow/operators/generic_transfer/index.html |    39 +-
 _api/airflow/operators/hive_operator/index.html    |    39 +-
 .../operators/hive_stats_operator/index.html       |    41 +-
 _api/airflow/operators/hive_to_druid/index.html    |    39 +-
 _api/airflow/operators/hive_to_mysql/index.html    |    39 +-
 .../operators/hive_to_samba_operator/index.html    |    39 +-
 _api/airflow/operators/http_operator/index.html    |    39 +-
 _api/airflow/operators/index.html                  |    49 +-
 _api/airflow/operators/jdbc_operator/index.html    |    39 +-
 .../operators/latest_only_operator/index.html      |    39 +-
 _api/airflow/operators/mssql_operator/index.html   |    39 +-
 _api/airflow/operators/mssql_to_hive/index.html    |    39 +-
 _api/airflow/operators/mysql_operator/index.html   |    39 +-
 _api/airflow/operators/mysql_to_hive/index.html    |    39 +-
 _api/airflow/operators/oracle_operator/index.html  |    39 +-
 _api/airflow/operators/pig_operator/index.html     |    39 +-
 .../airflow/operators/postgres_operator/index.html |    39 +-
 .../operators/presto_check_operator/index.html     |    39 +-
 _api/airflow/operators/presto_to_mysql/index.html  |    39 +-
 _api/airflow/operators/python_operator/index.html  |    39 +-
 .../operators/redshift_to_s3_operator/index.html   |    39 +-
 .../s3_file_transform_operator/index.html          |    39 +-
 .../operators/s3_to_hive_operator/index.html       |    39 +-
 .../operators/s3_to_redshift_operator/index.html   |    39 +-
 _api/airflow/operators/sensors/index.html          |    39 +-
 _api/airflow/operators/slack_operator/index.html   |    39 +-
 _api/airflow/operators/sqlite_operator/index.html  |    39 +-
 _api/airflow/operators/subdag_operator/index.html  |    39 +-
 .../sensors/base_sensor_operator/index.html        |    39 +-
 .../sensors/external_task_sensor/index.html        |    39 +-
 _api/airflow/sensors/hdfs_sensor/index.html        |    39 +-
 .../sensors/hive_partition_sensor/index.html       |    39 +-
 _api/airflow/sensors/http_sensor/index.html        |    39 +-
 _api/airflow/sensors/index.html                    |    39 +-
 .../sensors/metastore_partition_sensor/index.html  |    39 +-
 .../sensors/named_hive_partition_sensor/index.html |    39 +-
 _api/airflow/sensors/s3_key_sensor/index.html      |    39 +-
 _api/airflow/sensors/s3_prefix_sensor/index.html   |    39 +-
 _api/airflow/sensors/sql_sensor/index.html         |    39 +-
 _api/airflow/sensors/time_delta_sensor/index.html  |    39 +-
 _api/airflow/sensors/time_sensor/index.html        |    39 +-
 _api/airflow/sensors/web_hdfs_sensor/index.html    |    39 +-
 _api/index.html                                    |    47 +-
 .../example_dags/example_dingding_operator.html    |   295 +-
 .../example_gcp_bigtable_operators.html            |   161 +-
 .../example_dags/example_gcp_cloud_build.html      |   141 +-
 .../contrib/example_dags/example_gcp_compute.html  |   139 +-
 .../example_dags/example_gcp_compute_igm.html      |   165 +-
 .../contrib/example_dags/example_gcp_function.html |   169 +-
 .../example_dags/example_gcp_natural_language.html |   163 +-
 .../contrib/example_dags/example_gcp_spanner.html  |   177 +-
 .../contrib/example_dags/example_gcp_speech.html   |   139 +-
 .../contrib/example_dags/example_gcp_sql.html      |   437 +-
 .../example_dags/example_gcp_sql_query.html        |   409 +-
 .../contrib/example_dags/example_gcp_transfer.html |   207 +-
 .../example_dags/example_gcp_translate.html        |   101 +-
 .../example_gcp_video_intelligence.html            |   155 +-
 .../contrib/example_dags/example_gcp_vision.html   |   447 +-
 .../contrib/example_dags/example_gcs_acl.html      |   105 +-
 .../example_dags/example_gcs_to_bq_operator.html   |   111 +-
 .../contrib/executors/kubernetes_executor.html     |   611 +-
 .../airflow/contrib/executors/mesos_executor.html  |   217 +-
 _modules/airflow/contrib/hooks.html                |   155 +-
 .../airflow/contrib/hooks/aws_athena_hook.html     |   129 +-
 .../airflow/contrib/hooks/aws_dynamodb_hook.html   |    87 +-
 .../airflow/contrib/hooks/aws_firehose_hook.html   |    77 +-
 .../contrib/hooks/aws_glue_catalog_hook.html       |   105 +-
 _modules/airflow/contrib/hooks/aws_hook.html       |   201 +-
 .../airflow/contrib/hooks/aws_lambda_hook.html     |    83 +-
 _modules/airflow/contrib/hooks/aws_logs_hook.html  |   431 +
 _modules/airflow/contrib/hooks/aws_sns_hook.html   |    81 +-
 _modules/airflow/contrib/hooks/aws_sqs_hook.html   |    79 +-
 .../hooks/azure_container_instance_hook.html       |   101 +-
 .../hooks/azure_container_registry_hook.html       |    75 +-
 .../contrib/hooks/azure_container_volume_hook.html |    85 +-
 .../airflow/contrib/hooks/azure_cosmos_hook.html   |   239 +-
 .../contrib/hooks/azure_data_lake_hook.html        |    89 +-
 .../contrib/hooks/azure_fileshare_hook.html        |    79 +-
 _modules/airflow/contrib/hooks/bigquery_hook.html  |  1254 +--
 _modules/airflow/contrib/hooks/cassandra_hook.html |   149 +-
 _modules/airflow/contrib/hooks/cloudant_hook.html  |   103 +-
 .../airflow/contrib/hooks/databricks_hook.html     |   179 +-
 _modules/airflow/contrib/hooks/datadog_hook.html   |   105 +-
 _modules/airflow/contrib/hooks/datastore_hook.html |   142 +-
 _modules/airflow/contrib/hooks/dingding_hook.html  |   131 +-
 .../contrib/hooks/discord_webhook_hook.html        |   125 +-
 _modules/airflow/contrib/hooks/emr_hook.html       |    81 +-
 _modules/airflow/contrib/hooks/fs_hook.html        |    79 +-
 _modules/airflow/contrib/hooks/ftp_hook.html       |   137 +-
 .../airflow/contrib/hooks/gcp_api_base_hook.html   |   181 +-
 .../airflow/contrib/hooks/gcp_bigtable_hook.html   |   115 +-
 .../contrib/hooks/gcp_cloud_build_hook.html        |   116 +-
 .../airflow/contrib/hooks/gcp_compute_hook.html    |   180 +-
 .../airflow/contrib/hooks/gcp_container_hook.html  |   125 +-
 .../airflow/contrib/hooks/gcp_dataflow_hook.html   |   270 +-
 .../airflow/contrib/hooks/gcp_dataproc_hook.html   |   314 +-
 _modules/airflow/contrib/hooks/gcp_dlp_hook.html   |   543 +-
 .../airflow/contrib/hooks/gcp_function_hook.html   |   130 +-
 _modules/airflow/contrib/hooks/gcp_kms_hook.html   |   102 +-
 .../airflow/contrib/hooks/gcp_mlengine_hook.html   |   163 +-
 .../contrib/hooks/gcp_natural_language_hook.html   |    93 +-
 .../airflow/contrib/hooks/gcp_pubsub_hook.html     |   152 +-
 .../airflow/contrib/hooks/gcp_spanner_hook.html    |   141 +-
 .../contrib/hooks/gcp_speech_to_text_hook.html     |    83 +-
 _modules/airflow/contrib/hooks/gcp_sql_hook.html   |   556 +-
 .../contrib/hooks/gcp_text_to_speech_hook.html     |    83 +-
 .../airflow/contrib/hooks/gcp_transfer_hook.html   |   206 +-
 .../airflow/contrib/hooks/gcp_translate_hook.html  |    81 +-
 .../contrib/hooks/gcp_video_intelligence_hook.html |    97 +-
 .../airflow/contrib/hooks/gcp_vision_hook.html     |   315 +-
 _modules/airflow/contrib/hooks/gcs_hook.html       |   294 +-
 _modules/airflow/contrib/hooks/grpc_hook.html      |   103 +-
 _modules/airflow/contrib/hooks/imap_hook.html      |   147 +-
 _modules/airflow/contrib/hooks/jenkins_hook.html   |    95 +-
 _modules/airflow/contrib/hooks/jira_hook.html      |   123 +-
 _modules/airflow/contrib/hooks/mongo_hook.html     |   139 +-
 _modules/airflow/contrib/hooks/openfaas_hook.html  |   123 +-
 .../airflow/contrib/hooks/opsgenie_alert_hook.html |    93 +-
 _modules/airflow/contrib/hooks/pinot_hook.html     |   107 +-
 .../airflow/contrib/hooks/qubole_check_hook.html   |   131 +-
 _modules/airflow/contrib/hooks/qubole_hook.html    |   223 +-
 _modules/airflow/contrib/hooks/redis_hook.html     |    91 +-
 _modules/airflow/contrib/hooks/redshift_hook.html  |   103 +-
 _modules/airflow/contrib/hooks/sagemaker_hook.html |   433 +-
 .../airflow/contrib/hooks/salesforce_hook.html     |   239 +-
 _modules/airflow/contrib/hooks/segment_hook.html   |    97 +-
 _modules/airflow/contrib/hooks/sftp_hook.html      |   159 +-
 .../airflow/contrib/hooks/slack_webhook_hook.html  |   127 +-
 _modules/airflow/contrib/hooks/snowflake_hook.html |   139 +-
 .../airflow/contrib/hooks/spark_jdbc_hook.html     |   207 +-
 .../airflow/contrib/hooks/spark_jdbc_script.html   |   173 +-
 _modules/airflow/contrib/hooks/spark_sql_hook.html |   145 +-
 .../airflow/contrib/hooks/spark_submit_hook.html   |   449 +-
 _modules/airflow/contrib/hooks/sqoop_hook.html     |   233 +-
 _modules/airflow/contrib/hooks/ssh_hook.html       |   197 +-
 _modules/airflow/contrib/hooks/vertica_hook.html   |    93 +-
 _modules/airflow/contrib/hooks/wasb_hook.html      |    91 +-
 _modules/airflow/contrib/hooks/winrm_hook.html     |   207 +-
 _modules/airflow/contrib/operators.html            |   125 +-
 .../contrib/operators/adls_list_operator.html      |    83 +-
 .../airflow/contrib/operators/adls_to_gcs.html     |    99 +-
 .../contrib/operators/aws_athena_operator.html     |   117 +-
 .../operators/aws_sqs_publish_operator.html        |    85 +-
 .../contrib/operators/awsbatch_operator.html       |   153 +-
 .../azure_container_instances_operator.html        |   199 +-
 .../contrib/operators/azure_cosmos_operator.html   |    89 +-
 .../contrib/operators/bigquery_check_operator.html |   105 +-
 .../contrib/operators/bigquery_get_data.html       |    99 +-
 .../contrib/operators/bigquery_operator.html       |   315 +-
 .../operators/bigquery_table_delete_operator.html  |    87 +-
 .../contrib/operators/bigquery_to_bigquery.html    |   107 +-
 .../airflow/contrib/operators/bigquery_to_gcs.html |    97 +-
 .../contrib/operators/cassandra_to_gcs.html        |   275 +-
 .../contrib/operators/databricks_operator.html     |   227 +-
 .../contrib/operators/dataflow_operator.html       |   155 +-
 .../contrib/operators/dataproc_operator.html       |   601 +-
 .../operators/datastore_export_operator.html       |   103 +-
 .../operators/datastore_import_operator.html       |    99 +-
 .../contrib/operators/dingding_operator.html       |    91 +-
 .../operators/discord_webhook_operator.html        |    97 +-
 .../airflow/contrib/operators/druid_operator.html  |    89 +-
 .../airflow/contrib/operators/ecs_operator.html    |   215 +-
 .../contrib/operators/emr_add_steps_operator.html  |    93 +-
 .../operators/emr_create_job_flow_operator.html    |    99 +-
 .../operators/emr_terminate_job_flow_operator.html |    89 +-
 .../airflow/contrib/operators/file_to_gcs.html     |    87 +-
 .../airflow/contrib/operators/file_to_wasb.html    |    87 +-
 .../contrib/operators/gcp_bigtable_operator.html   |   249 +-
 .../operators/gcp_cloud_build_operator.html        |   127 +-
 .../contrib/operators/gcp_compute_operator.html    |   329 +-
 .../contrib/operators/gcp_container_operator.html  |   193 +-
 .../contrib/operators/gcp_dlp_operator.html        |   745 +-
 .../contrib/operators/gcp_function_operator.html   |   233 +-
 .../operators/gcp_natural_language_operator.html   |   159 +-
 .../contrib/operators/gcp_spanner_operator.html    |   271 +-
 .../operators/gcp_speech_to_text_operator.html     |    97 +-
 .../contrib/operators/gcp_sql_operator.html        |   491 +-
 .../operators/gcp_text_to_speech_operator.html     |   115 +-
 .../contrib/operators/gcp_transfer_operator.html   |   280 +-
 .../contrib/operators/gcp_translate_operator.html  |    87 +-
 .../operators/gcp_translate_speech_operator.html   |   101 +-
 .../operators/gcp_video_intelligence_operator.html |   172 +-
 .../contrib/operators/gcp_vision_operator.html     |   415 +-
 .../contrib/operators/gcs_acl_operator.html        |   101 +-
 .../contrib/operators/gcs_delete_operator.html     |    89 +-
 .../contrib/operators/gcs_download_operator.html   |    93 +-
 .../contrib/operators/gcs_list_operator.html       |    89 +-
 .../airflow/contrib/operators/gcs_operator.html    |    99 +-
 _modules/airflow/contrib/operators/gcs_to_bq.html  |   166 +-
 _modules/airflow/contrib/operators/gcs_to_gcs.html |   113 +-
 _modules/airflow/contrib/operators/gcs_to_s3.html  |   121 +-
 .../contrib/operators/hipchat_operator.html        |   127 +-
 .../contrib/operators/hive_to_dynamodb.html        |   105 +-
 .../operators/imap_attachment_to_s3_operator.html  |    91 +-
 .../operators/jenkins_job_trigger_operator.html    |   215 +-
 .../airflow/contrib/operators/jira_operator.html   |   111 +-
 .../contrib/operators/kubernetes_pod_operator.html |   131 +-
 .../contrib/operators/mlengine_operator.html       |   351 +-
 .../airflow/contrib/operators/mongo_to_s3.html     |   105 +-
 .../airflow/contrib/operators/mssql_to_gcs.html    |    93 +-
 .../airflow/contrib/operators/mysql_to_gcs.html    |   139 +-
 .../contrib/operators/opsgenie_alert_operator.html |   113 +-
 .../oracle_to_azure_data_lake_transfer.html        |    97 +-
 .../operators/oracle_to_oracle_transfer.html       |    89 +-
 .../operators/postgres_to_gcs_operator.html        |   117 +-
 .../airflow/contrib/operators/pubsub_operator.html |   137 +-
 .../contrib/operators/qubole_check_operator.html   |   133 +-
 .../airflow/contrib/operators/qubole_operator.html |   119 +-
 .../contrib/operators/redis_publish_operator.html  |    83 +-
 .../contrib/operators/s3_copy_object_operator.html |    89 +-
 .../operators/s3_delete_objects_operator.html      |    91 +-
 .../contrib/operators/s3_list_operator.html        |    89 +-
 .../contrib/operators/s3_to_gcs_operator.html      |   157 +-
 .../contrib/operators/s3_to_sftp_operator.html     |    85 +-
 .../contrib/operators/sagemaker_base_operator.html |    97 +-
 .../sagemaker_endpoint_config_operator.html        |    87 +-
 .../operators/sagemaker_endpoint_operator.html     |   131 +-
 .../operators/sagemaker_model_operator.html        |    89 +-
 .../operators/sagemaker_training_operator.html     |   101 +-
 .../operators/sagemaker_transform_operator.html    |   115 +-
 .../operators/sagemaker_tuning_operator.html       |   107 +-
 .../operators/segment_track_event_operator.html    |    87 +-
 .../airflow/contrib/operators/sftp_operator.html   |   135 +-
 .../contrib/operators/sftp_to_s3_operator.html     |    87 +-
 .../contrib/operators/slack_webhook_operator.html  |   106 +-
 .../contrib/operators/snowflake_operator.html      |    89 +-
 .../contrib/operators/sns_publish_operator.html    |    81 +-
 .../contrib/operators/spark_jdbc_operator.html     |   133 +-
 .../contrib/operators/spark_sql_operator.html      |   105 +-
 .../contrib/operators/spark_submit_operator.html   |   135 +-
 _modules/airflow/contrib/operators/sql_to_gcs.html |   191 +-
 .../airflow/contrib/operators/sqoop_operator.html  |   179 +-
 .../airflow/contrib/operators/ssh_operator.html    |   149 +-
 .../contrib/operators/vertica_operator.html        |    85 +-
 .../airflow/contrib/operators/vertica_to_hive.html |   127 +-
 .../contrib/operators/vertica_to_mysql.html        |   127 +-
 .../operators/wasb_delete_blob_operator.html       |    87 +-
 .../airflow/contrib/operators/winrm_operator.html  |   135 +-
 .../airflow/contrib/sensors/aws_athena_sensor.html |    97 +-
 .../sensors/aws_glue_catalog_partition_sensor.html |    95 +-
 .../sensors/aws_redshift_cluster_sensor.html       |    83 +-
 .../airflow/contrib/sensors/aws_sqs_sensor.html    |    99 +-
 .../contrib/sensors/azure_cosmos_sensor.html       |    83 +-
 _modules/airflow/contrib/sensors/bash_sensor.html  |   105 +-
 .../airflow/contrib/sensors/bigquery_sensor.html   |    87 +-
 .../contrib/sensors/cassandra_record_sensor.html   |    79 +-
 .../contrib/sensors/cassandra_table_sensor.html    |    79 +-
 .../airflow/contrib/sensors/datadog_sensor.html    |   105 +-
 .../airflow/contrib/sensors/emr_base_sensor.html   |    95 +-
 .../contrib/sensors/emr_job_flow_sensor.html       |    95 +-
 .../airflow/contrib/sensors/emr_step_sensor.html   |    95 +-
 _modules/airflow/contrib/sensors/file_sensor.html  |    95 +-
 _modules/airflow/contrib/sensors/ftp_sensor.html   |    91 +-
 .../contrib/sensors/gcp_transfer_sensor.html       |    89 +-
 _modules/airflow/contrib/sensors/gcs_sensor.html   |   143 +-
 _modules/airflow/contrib/sensors/hdfs_sensor.html  |    97 +-
 .../contrib/sensors/imap_attachment_sensor.html    |    85 +-
 _modules/airflow/contrib/sensors/jira_sensor.html  |   137 +-
 _modules/airflow/contrib/sensors/mongo_sensor.html |    85 +-
 .../airflow/contrib/sensors/pubsub_sensor.html     |    91 +-
 .../airflow/contrib/sensors/python_sensor.html     |    89 +-
 .../airflow/contrib/sensors/qubole_sensor.html     |   101 +-
 .../airflow/contrib/sensors/redis_key_sensor.html  |    81 +-
 .../contrib/sensors/redis_pub_sub_sensor.html      |    93 +-
 .../contrib/sensors/sagemaker_base_sensor.html     |   103 +-
 .../contrib/sensors/sagemaker_endpoint_sensor.html |    83 +-
 .../contrib/sensors/sagemaker_training_sensor.html |   105 +-
 .../sensors/sagemaker_transform_sensor.html        |    83 +-
 .../contrib/sensors/sagemaker_tuning_sensor.html   |    83 +-
 _modules/airflow/contrib/sensors/sftp_sensor.html  |    85 +-
 _modules/airflow/contrib/sensors/wasb_sensor.html  |    97 +-
 .../airflow/contrib/sensors/weekday_sensor.html    |    85 +-
 .../example_dags/example_bash_operator.html        |   105 +-
 .../example_dags/example_python_operator.html      |   101 +-
 _modules/airflow/exceptions.html                   |    79 +-
 _modules/airflow/executors.html                    |   109 +-
 _modules/airflow/executors/base_executor.html      |   147 +-
 _modules/airflow/executors/celery_executor.html    |   161 +-
 _modules/airflow/executors/dask_executor.html      |   113 +-
 _modules/airflow/executors/local_executor.html     |   111 +-
 .../airflow/executors/sequential_executor.html     |    83 +-
 _modules/airflow/hooks.html                        |   169 +-
 _modules/airflow/hooks/S3_hook.html                |   259 +-
 _modules/airflow/hooks/base_hook.html              |    99 +-
 _modules/airflow/hooks/dbapi_hook.html             |   175 +-
 _modules/airflow/hooks/docker_hook.html            |   103 +-
 _modules/airflow/hooks/druid_hook.html             |   161 +-
 _modules/airflow/hooks/hdfs_hook.html              |   107 +-
 _modules/airflow/hooks/hive_hooks.html             |   543 +-
 _modules/airflow/hooks/http_hook.html              |   149 +-
 _modules/airflow/hooks/jdbc_hook.html              |    85 +-
 _modules/airflow/hooks/mssql_hook.html             |    83 +-
 _modules/airflow/hooks/mysql_hook.html             |   171 +-
 _modules/airflow/hooks/oracle_hook.html            |   237 +-
 _modules/airflow/hooks/pig_hook.html               |   103 +-
 _modules/airflow/hooks/postgres_hook.html          |   125 +-
 _modules/airflow/hooks/presto_hook.html            |   119 +-
 _modules/airflow/hooks/samba_hook.html             |    73 +-
 _modules/airflow/hooks/slack_hook.html             |    91 +-
 _modules/airflow/hooks/sqlite_hook.html            |    79 +-
 _modules/airflow/hooks/webhdfs_hook.html           |   103 +-
 _modules/airflow/hooks/zendesk_hook.html           |   123 +-
 _modules/airflow/macros.html                       |   107 +-
 _modules/airflow/macros/hive.html                  |    99 +-
 _modules/airflow/models.html                       |   119 +-
 _modules/airflow/models/base.html                  |    79 +-
 _modules/airflow/models/baseoperator.html          |   441 +-
 _modules/airflow/models/chart.html                 |    95 +-
 _modules/airflow/models/connection.html            |   289 +-
 _modules/airflow/models/crypto.html                |    95 +-
 _modules/airflow/models/dag.html                   |   717 +-
 _modules/airflow/models/dagbag.html                |   253 +-
 _modules/airflow/models/dagpickle.html             |    81 +-
 _modules/airflow/models/dagrun.html                |   247 +-
 _modules/airflow/models/errors.html                |    77 +-
 _modules/airflow/models/knownevent.html            |    93 +-
 _modules/airflow/models/kubernetes.html            |    97 +-
 _modules/airflow/models/log.html                   |    97 +-
 _modules/airflow/models/pool.html                  |    99 +-
 _modules/airflow/models/skipmixin.html             |    97 +-
 _modules/airflow/models/slamiss.html               |    87 +-
 _modules/airflow/models/taskfail.html              |    89 +-
 _modules/airflow/models/taskinstance.html          |   793 +-
 _modules/airflow/models/taskreschedule.html        |   105 +-
 _modules/airflow/models/user.html                  |    81 +-
 _modules/airflow/models/variable.html              |   157 +-
 _modules/airflow/models/xcom.html                  |   209 +-
 _modules/airflow/operators.html                    |   231 +-
 _modules/airflow/operators/bash_operator.html      |   125 +-
 _modules/airflow/operators/branch_operator.html    |    77 +-
 _modules/airflow/operators/check_operator.html     |   205 +-
 _modules/airflow/operators/dagrun_operator.html    |   103 +-
 _modules/airflow/operators/docker_operator.html    |   187 +-
 .../airflow/operators/druid_check_operator.html    |    87 +-
 _modules/airflow/operators/dummy_operator.html     |    77 +-
 _modules/airflow/operators/email_operator.html     |    91 +-
 _modules/airflow/operators/generic_transfer.html   |    91 +-
 _modules/airflow/operators/hive_operator.html      |   129 +-
 .../airflow/operators/hive_stats_operator.html     |   193 +-
 _modules/airflow/operators/hive_to_druid.html      |   243 +-
 _modules/airflow/operators/hive_to_mysql.html      |   107 +-
 .../airflow/operators/hive_to_samba_operator.html  |    89 +-
 _modules/airflow/operators/http_operator.html      |    99 +-
 _modules/airflow/operators/jdbc_operator.html      |    85 +-
 .../airflow/operators/latest_only_operator.html    |   105 +-
 _modules/airflow/operators/mssql_operator.html     |    87 +-
 _modules/airflow/operators/mssql_to_hive.html      |   115 +-
 _modules/airflow/operators/mysql_operator.html     |    87 +-
 _modules/airflow/operators/mysql_to_hive.html      |   129 +-
 _modules/airflow/operators/oracle_operator.html    |    87 +-
 _modules/airflow/operators/pig_operator.html       |    91 +-
 _modules/airflow/operators/postgres_operator.html  |    89 +-
 .../airflow/operators/presto_check_operator.html   |    89 +-
 _modules/airflow/operators/presto_to_mysql.html    |    93 +-
 _modules/airflow/operators/python_operator.html    |   299 +-
 .../airflow/operators/redshift_to_s3_operator.html |   145 +-
 .../operators/s3_file_transform_operator.html      |   125 +-
 .../airflow/operators/s3_to_hive_operator.html     |   191 +-
 .../airflow/operators/s3_to_redshift_operator.html |   109 +-
 _modules/airflow/operators/sensors.html            |    93 +-
 _modules/airflow/operators/slack_operator.html     |   127 +-
 _modules/airflow/operators/sqlite_operator.html    |    85 +-
 _modules/airflow/operators/subdag_operator.html    |   123 +-
 _modules/airflow/sensors.html                      |   125 +-
 _modules/airflow/sensors/base_sensor_operator.html |   121 +-
 _modules/airflow/sensors/external_task_sensor.html |   125 +-
 _modules/airflow/sensors/hdfs_sensor.html          |   131 +-
 .../airflow/sensors/hive_partition_sensor.html     |    95 +-
 _modules/airflow/sensors/http_sensor.html          |    99 +-
 .../sensors/metastore_partition_sensor.html        |   121 +-
 .../sensors/named_hive_partition_sensor.html       |   103 +-
 _modules/airflow/sensors/s3_key_sensor.html        |    97 +-
 _modules/airflow/sensors/s3_prefix_sensor.html     |    89 +-
 _modules/airflow/sensors/sql_sensor.html           |   111 +-
 _modules/airflow/sensors/time_delta_sensor.html    |    81 +-
 _modules/airflow/sensors/time_sensor.html          |    77 +-
 _modules/airflow/sensors/web_hdfs_sensor.html      |    81 +-
 _modules/airflow/utils/log/logging_mixin.html      |   119 +-
 _modules/index.html                                |    38 +-
 .../contrib/hooks/aws_logs_hook/index.rst.txt      |    60 +
 .../contrib/hooks/bigquery_hook/index.rst.txt      |    62 +-
 .../contrib/hooks/gcp_api_base_hook/index.rst.txt  |     9 +
 .../contrib/hooks/gcp_dataproc_hook/index.rst.txt  |    12 +-
 _sources/_api/airflow/contrib/hooks/index.rst.txt  |     1 +
 .../contrib/hooks/sagemaker_hook/index.rst.txt     |    24 +-
 .../contrib/hooks/slack_webhook_hook/index.rst.txt |     4 +-
 .../operators/awsbatch_operator/index.rst.txt      |     4 +-
 .../bigquery_check_operator/index.rst.txt          |     2 +-
 .../operators/bigquery_operator/index.rst.txt      |    29 +-
 .../operators/bigquery_to_bigquery/index.rst.txt   |     9 +-
 .../operators/dataproc_operator/index.rst.txt      |    18 +-
 .../contrib/operators/ecs_operator/index.rst.txt   |    20 +-
 .../operators/gcp_transfer_operator/index.rst.txt  |     2 +-
 .../gcp_video_intelligence_operator/index.rst.txt  |    20 +-
 .../contrib/operators/gcs_to_bq/index.rst.txt      |    11 +-
 .../operators/slack_webhook_operator/index.rst.txt |     4 +-
 _sources/_api/airflow/models/dag/index.rst.txt     |    12 +
 _sources/_api/airflow/models/index.rst.txt         |    17 +-
 .../_api/airflow/models/taskinstance/index.rst.txt |     5 +-
 _sources/_api/index.rst.txt                        |    10 +-
 _sources/api.rst.txt                               |    23 +-
 _sources/changelog.rst.txt                         |     8 +-
 _sources/cli.rst.txt                               |    11 +-
 _sources/concepts.rst.txt                          |    71 +-
 _sources/faq.rst.txt                               |     8 +-
 _sources/howto/check-health.rst.txt                |     9 +-
 _sources/howto/connection/aws.rst.txt              |     8 +-
 _sources/howto/connection/gcp.rst.txt              |     8 +-
 _sources/howto/connection/gcp_sql.rst.txt          |     8 +-
 _sources/howto/connection/grpc.rst.txt             |    10 +-
 _sources/howto/connection/index.rst.txt            |     8 +-
 _sources/howto/connection/mysql.rst.txt            |     8 +-
 _sources/howto/connection/oracle.rst.txt           |     8 +-
 _sources/howto/connection/postgres.rst.txt         |     8 +-
 _sources/howto/connection/ssh.rst.txt              |    12 +-
 _sources/howto/define_extra_link.rst.txt           |     8 +-
 _sources/howto/executor/use-celery.rst.txt         |    10 +-
 _sources/howto/executor/use-dask.rst.txt           |    10 +-
 _sources/howto/executor/use-mesos.rst.txt          |     6 +-
 _sources/howto/index.rst.txt                       |     9 +-
 _sources/howto/initialize-database.rst.txt         |     6 +-
 _sources/howto/operator/bash.rst.txt               |     8 +-
 _sources/howto/operator/dingding.rst.txt           |     8 +-
 _sources/howto/operator/gcp/bigtable.rst.txt       |     8 +-
 _sources/howto/operator/gcp/cloud_build.rst.txt    |     8 +-
 _sources/howto/operator/gcp/compute.rst.txt        |     8 +-
 _sources/howto/operator/gcp/function.rst.txt       |     8 +-
 _sources/howto/operator/gcp/gcs.rst.txt            |     8 +-
 _sources/howto/operator/gcp/index.rst.txt          |     8 +-
 .../howto/operator/gcp/natural_language.rst.txt    |     8 +-
 _sources/howto/operator/gcp/spanner.rst.txt        |     8 +-
 _sources/howto/operator/gcp/speech.rst.txt         |     8 +-
 _sources/howto/operator/gcp/sql.rst.txt            |     8 +-
 _sources/howto/operator/gcp/transfer.rst.txt       |     8 +-
 .../howto/operator/gcp/translate-speech.rst.txt    |    17 +
 _sources/howto/operator/gcp/translate.rst.txt      |     8 +-
 _sources/howto/operator/gcp/video.rst.txt          |    17 +
 _sources/howto/operator/gcp/vision.rst.txt         |     8 +-
 _sources/howto/operator/index.rst.txt              |     8 +-
 _sources/howto/operator/python.rst.txt             |     8 +-
 _sources/howto/run-behind-proxy.rst.txt            |     8 +-
 _sources/howto/run-with-systemd.rst.txt            |     8 +-
 _sources/howto/run-with-upstart.rst.txt            |     8 +-
 _sources/howto/secure-connections.rst.txt          |     8 +-
 _sources/howto/set-config.rst.txt                  |     8 +-
 _sources/howto/tracking-user-activity.rst.txt      |    36 +
 _sources/howto/use-test-config.rst.txt             |     8 +-
 _sources/howto/write-logs.rst.txt                  |    29 +-
 _sources/index.rst.txt                             |    11 +-
 _sources/installation.rst.txt                      |     8 +-
 _sources/integration.rst.txt                       |   135 +-
 _sources/kubernetes.rst.txt                        |     9 +-
 _sources/license.rst.txt                           |     8 +-
 _sources/lineage.rst.txt                           |    32 +-
 _sources/macros.rst.txt                            |     8 +-
 _sources/metrics.rst.txt                           |     8 +-
 _sources/plugins.rst.txt                           |     8 +-
 _sources/privacy_notice.rst.txt                    |    68 +
 _sources/profiling.rst.txt                         |     6 +-
 _sources/project.rst.txt                           |     9 +-
 _sources/scheduler.rst.txt                         |     9 +-
 _sources/security.rst.txt                          |     9 +-
 _sources/start.rst.txt                             |     8 +-
 _sources/timezone.rst.txt                          |     9 +-
 _sources/tutorial.rst.txt                          |     8 +-
 _sources/ui.rst.txt                                |     8 +-
 _static/pygments.css                               |     6 -
 api.html                                           |    65 +-
 changelog.html                                     |   240 +-
 cli.html                                           |   121 +-
 concepts.html                                      |   279 +-
 faq.html                                           |    49 +-
 genindex.html                                      |    61 +-
 howto/check-health.html                            |    48 +-
 howto/connection/aws.html                          |    48 +-
 howto/connection/gcp.html                          |    48 +-
 howto/connection/gcp_sql.html                      |    50 +-
 howto/connection/grpc.html                         |    46 +-
 howto/connection/index.html                        |    46 +-
 howto/connection/mysql.html                        |    52 +-
 howto/connection/oracle.html                       |    50 +-
 howto/connection/postgres.html                     |    50 +-
 howto/connection/ssh.html                          |    52 +-
 howto/define_extra_link.html                       |    62 +-
 howto/executor/use-celery.html                     |    60 +-
 howto/executor/use-dask.html                       |    64 +-
 howto/executor/use-mesos.html                      |    54 +-
 howto/index.html                                   |    52 +-
 howto/initialize-database.html                     |    48 +-
 howto/operator/bash.html                           |    70 +-
 howto/operator/dingding.html                       |   116 +-
 howto/operator/gcp/bigtable.html                   |   106 +-
 howto/operator/gcp/cloud_build.html                |    88 +-
 howto/operator/gcp/compute.html                    |   174 +-
 howto/operator/gcp/function.html                   |   132 +-
 howto/operator/gcp/gcs.html                        |    96 +-
 howto/operator/gcp/index.html                      |    46 +-
 howto/operator/gcp/natural_language.html           |   108 +-
 howto/operator/gcp/spanner.html                    |   208 +-
 howto/operator/gcp/speech.html                     |    94 +-
 howto/operator/gcp/sql.html                        |   692 +-
 howto/operator/gcp/transfer.html                   |   258 +-
 howto/operator/gcp/translate-speech.html           |    62 +-
 howto/operator/gcp/translate.html                  |    66 +-
 howto/operator/gcp/video.html                      |   106 +-
 howto/operator/gcp/vision.html                     |   376 +-
 howto/operator/index.html                          |    46 +-
 howto/operator/python.html                         |    60 +-
 howto/run-behind-proxy.html                        |    58 +-
 howto/run-with-systemd.html                        |    46 +-
 howto/run-with-upstart.html                        |    48 +-
 howto/secure-connections.html                      |    54 +-
 howto/set-config.html                              |    52 +-
 howto/tracking-user-activity.html                  |   380 +
 howto/use-test-config.html                         |    48 +-
 howto/write-logs.html                              |   124 +-
 http-routingtable.html                             |    37 +-
 index.html                                         |    95 +-
 installation.html                                  |    47 +-
 integration.html                                   |   102 +-
 kubernetes.html                                    |   136 +-
 license.html                                       |    73 +-
 lineage.html                                       |    73 +-
 macros.html                                        |    59 +-
 metrics.html                                       |    47 +-
 objects.inv                                        |   Bin 39815 -> 39960 bytes
 plugins.html                                       |   173 +-
 privacy_notice.html                                |   380 +
 profiling.html                                     |    45 +-
 project.html                                       |    42 +-
 py-modindex.html                                   |    42 +-
 scheduler.html                                     |    69 +-
 search.html                                        |    37 +-
 searchindex.js                                     |     2 +-
 security.html                                      |   281 +-
 start.html                                         |    69 +-
 timezone.html                                      |    75 +-
 tutorial.html                                      |   271 +-
 ui.html                                            |    45 +-
 1996 files changed, 496812 insertions(+), 26238 deletions(-)

diff --git a/.buildinfo b/.buildinfo
index 74f4ee9..9ac6a72 100644
--- a/.buildinfo
+++ b/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: f2e98561f7424cf7f40f59134c898a70
+config: ab201de8b04254f935fbd0f1eb3d7254
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.5/.buildinfo b/1.10.5/.buildinfo
new file mode 100644
index 0000000..9ac6a72
--- /dev/null
+++ b/1.10.5/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: ab201de8b04254f935fbd0f1eb3d7254
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/1.10.5/_api/airflow/contrib/executors/index.html b/1.10.5/_api/airflow/contrib/executors/index.html
new file mode 100644
index 0000000..7854af5
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/executors/index.html
@@ -0,0 +1,366 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.kubernetes_executor" href="kubernetes_executor/index.html" />
+    <link rel="prev" title="airflow.executors.sequential_executor" href="../../executors/sequential_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../index.html">Python API Reference</a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../_sources/_api/airflow/contrib/executors/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors">
+<span id="airflow-contrib-executors"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors" title="airflow.contrib.executors"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="mesos_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="kubernetes_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.kubernetes_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../../executors/sequential_executor/index.html" class="btn btn-neutral float-left" title="airflow.executors.sequential_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
new file mode 100644
index 0000000..4a24d4e
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/executors/kubernetes_executor/index.html
@@ -0,0 +1,624 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.executors.mesos_executor" href="../mesos_executor/index.html" />
+    <link rel="prev" title="airflow.contrib.executors" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/kubernetes_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.kubernetes_executor">
+<span id="airflow-contrib-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.kubernetes_executor" title="airflow.contrib.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutorConfig</code><span class="sig-paren">(</span><em class="sig-param">image=None</em>, <em class="sig-param">image_pull_policy=None</em>, <em class="sig-param">request_memory=None</em>, <em class="sig-param">request_cpu=None</em>, <em class="sig-param">limit_memory=None</em>, <em class="sig-param">limit_cpu=None</em>,  [...]
+<dd><dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__">
+<code class="sig-name descname">__repr__</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict">
+<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.from_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict" title="Perma [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict">
+<code class="sig-name descname">as_dict</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubeConfig</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section">
+<code class="sig-name descname">core_section</code><em class="property"> = core</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.core_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section">
+<code class="sig-name descname">kubernetes_section</code><em class="property"> = kubernetes</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.kubernetes_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_context_val">
+<code class="sig-name descname">_get_security_context_val</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">scontext</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._get_security_context_val"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._validate">
+<code class="sig-name descname">_validate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._validate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em class="sig-param">namespace</em>, <em class="sig-param">watcher_queue</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../.. [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code>, <a class="reference external" href="https://docs.python.org/3/library/function [...]
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run">
+<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run">
+<code class="sig-name descname">_run</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher._run"><span class="viewcode-link">[source]</span></a><a c [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
+<code class="sig-name descname">process_error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">event</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error" title= [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
+<code class="sig-name descname">process_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em>, <em class="sig-param">status</em>, <em class="sig-param">labels</em>, <em class="sig-param">resource_version</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_status"><span class="viewcode-link">[source]</span></a [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em class="sig-param">kube_config</em>, <em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../. [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
+<code class="sig-name descname">_make_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Permal [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
+<code class="sig-name descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kub [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
+<code class="sig-name descname">run_next</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">next_job</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.run_next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next" title= [...]
+<dd><p>The run_next command will check the task_queue for any un-run jobs.
+It will then create a unique job-id, launch that job in the cluster,
+and store relevant info in the current_jobs map so we can track the job’s
+status</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
+<code class="sig-name descname">delete_pod</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.delete_pod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod" ti [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>The sync function checks the status of all currently running kubernetes jobs.
+If a job is completed, it’s status is placed in the result queue to
+be sent back to the scheduler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
+<code class="sig-name descname">process_watcher_task</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">task</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.process_watcher_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesSchedu [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars">
+<em class="property">static </em><code class="sig-name descname">_strip_unsafe_kubernetes_special_chars</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuber [...]
+<dd><p>Kubernetes only supports lowercase alphanumeric characters and “-” and “.” in
+the pod name
+However, there are special rules about how “-” and “.” can be used so let’s
+only keep
+alphanumeric chars  see here for detail:
+<a class="reference external" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – The requested Pod name</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> Pod name stripped of any unsafe characters</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id">
+<em class="property">static </em><code class="sig-name descname">_make_safe_pod_id</code><span class="sig-paren">(</span><em class="sig-param">safe_dag_id</em>, <em class="sig-param">safe_task_id</em>, <em class="sig-param">safe_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerli [...]
+<dd><p>Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for
+validation
+“^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>safe_dag_id</strong> – a dag_id with only alphanumeric characters</p></li>
+<li><p><strong>safe_task_id</strong> – a task_id with only alphanumeric characters</p></li>
+<li><p><strong>random_uuid</strong> – a uuid</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> valid Pod name of appropriate length</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value">
+<em class="property">static </em><code class="sig-name descname">_make_safe_label_value</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_label_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetes [...]
+<dd><p>Valid label values must be 63 characters or less and must be empty or begin and
+end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
+dots (.), and alphanumerics between.</p>
+<p>If the label value is then greater than 63 chars once made safe, or differs in any
+way from the original value sent to this function, then we need to truncate to
+53chars, and append it with a unique hash.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id">
+<em class="property">static </em><code class="sig-name descname">_create_pod_id</code><span class="sig-paren">(</span><em class="sig-param">dag_id</em>, <em class="sig-param">task_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._create_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_execut [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime">
+<em class="property">static </em><code class="sig-name descname">_label_safe_datestring_to_datetime</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._label_safe_datestring_to_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_ex [...]
+<dd><p>Kubernetes doesn’t permit “:” in labels. ISO datetime format uses “:” but not
+“_”, let’s
+replace “:” with “_”</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>string</strong> – str</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>datetime.datetime object</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring">
+<em class="property">static </em><code class="sig-name descname">_datetime_to_label_safe_datestring</code><span class="sig-paren">(</span><em class="sig-param">datetime_obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._datetime_to_label_safe_datestring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kuberne [...]
+<dd><p>Kubernetes doesn’t like “:” in labels, since ISO datetime format uses “:” but
+not “_” let’s
+replace “:” with “_”
+:param datetime_obj: datetime.datetime object
+:return: ISO-like string representing the datetime</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key">
+<code class="sig-name descname">_labels_to_key</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">labels</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._labels_to_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition"> [...]
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
+<code class="sig-name descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">session=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.K [...]
+<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
+may not
+have been launched Thus, on starting up the scheduler let’s check every
+“Queued” task to
+see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
+<p>If it has been launched then do nothing, otherwise reset the state to “None” so
+the task
+will be rescheduled</p>
+<p>This will not be necessary in a future version of airflow in which there is
+proper support
+for State.LAUNCHED</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets">
+<code class="sig-name descname">_inject_secrets</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._inject_secrets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.execute_async"><span class="viewcode-link">[source]</span>< [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state">
+<code class="sig-name descname">_change_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">state</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._change_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executo [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../mesos_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.mesos_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
new file mode 100644
index 0000000..d5ef3c7
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/executors/mesos_executor/index.html
@@ -0,0 +1,471 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.executors.mesos_executor &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.models" href="../../../models/index.html" />
+    <link rel="prev" title="airflow.contrib.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/executors/mesos_executor/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.executors.mesos_executor">
+<span id="airflow-contrib-executors-mesos-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.mesos_executor" title="airflow.contrib.executors.mesos_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.mesos_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.mesos_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">DEFAULT_FRAMEWORK_NAME</code><em class="property"> = Airflow</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#DEFAULT_FRAMEWORK_NAME"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.DEFAULT_FRAMEWORK_NAME" title="Permalink to this definition" [...]
+<dd></dd></dl>
+
+<dl class="data">
+<dt id="airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">FRAMEWORK_CONNID_PREFIX</code><em class="property"> = mesos_framework_</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#FRAMEWORK_CONNID_PREFIX"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.FRAMEWORK_CONNID_PREFIX" title="Permalink to this [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.executors.mesos_executor.get_framework_name">
+<code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">get_framework_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#get_framework_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.get_framework_name" title="Permalink to  [...]
+<dd></dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">AirflowMesosScheduler</code><span class="sig-paren">(</span><em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">task_cpu=1</em>, <em class="sig-param">task_mem=256</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/meso [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">mesos.interface.Scheduler</span></code></p>
+<p>Airflow Mesos scheduler implements mesos scheduler interface
+to schedule airflow tasks on mesos.
+Basically, it schedules a command like
+‘airflow run &lt;dag_id&gt; &lt;task_instance_id&gt; &lt;start_date&gt; –local -p=&lt;pickle&gt;’
+to run on a mesos slave.</p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.registered">
+<code class="sig-name descname">registered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">frameworkId</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.registered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.ex [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.reregistered">
+<code class="sig-name descname">reregistered</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">masterInfo</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.reregistered"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected">
+<code class="sig-name descname">disconnected</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.disconnected"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.disconnected" title="Permalink [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.offerRescinded">
+<code class="sig-name descname">offerRescinded</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offerId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.offerRescinded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesos [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.frameworkMessage">
+<code class="sig-name descname">frameworkMessage</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.frameworkMessage"><span class="viewcode-link">[source]</span></a><a  [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.executorLost">
+<code class="sig-name descname">executorLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">executorId</em>, <em class="sig-param">slaveId</em>, <em class="sig-param">status</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.executorLost"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.slaveLost">
+<code class="sig-name descname">slaveLost</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">slaveId</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.slaveLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler. [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error">
+<code class="sig-name descname">error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.error" t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.resourceOffers">
+<code class="sig-name descname">resourceOffers</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">offers</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.resourceOffers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosS [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.AirflowMesosScheduler.statusUpdate">
+<code class="sig-name descname">statusUpdate</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">driver</em>, <em class="sig-param">update</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#AirflowMesosScheduler.statusUpdate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.AirflowMesosSched [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.mesos_executor.</code><code class="sig-name descname">MesosExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>MesosExecutor allows distributing the execution of task
+instances to multiple mesos workers.</p>
+<p>Apache Mesos is a distributed systems kernel which abstracts
+CPU, memory, storage, and other compute resources away from
+machines (physical or virtual), enabling fault-tolerant and
+elastic distributed systems to easily be built and run effectively.
+See <a class="reference external" href="http://mesos.apache.org/">http://mesos.apache.org/</a></p>
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a clas [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.executors.mesos_executor.MesosExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/mesos_executor.html#MesosExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.mesos_executor.MesosExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../../../models/index.html" class="btn btn-neutral float-right" title="airflow.models" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../kubernetes_executor/index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors.kubernetes_executor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
new file mode 100644
index 0000000..a3f1849
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_athena_hook/index.html
@@ -0,0 +1,492 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_athena_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks" href="../index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_athena_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_athena_hook">
+<span id="airflow-contrib-hooks-aws-athena-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_athena_hook" title="airflow.contrib.hooks.aws_athena_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_athena_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_athena_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_athena_hook.</code><code class="sig-name descname">AWSAthenaHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">sleep_time=30</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_h [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Athena to run, poll queries and return query results</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws connection to use.</p></li>
+<li><p><strong>sleep_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Time to wait between two consecutive call to check query status on athena</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES">
+<code class="sig-name descname">INTERMEDIATE_STATES</code><em class="property"> = ['QUEUED', 'RUNNING']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.INTERMEDIATE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.INTERMEDIATE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES">
+<code class="sig-name descname">FAILURE_STATES</code><em class="property"> = ['FAILED', 'CANCELLED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.FAILURE_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.FAILURE_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES">
+<code class="sig-name descname">SUCCESS_STATES</code><em class="property"> = ['SUCCEEDED']</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.SUCCESS_STATES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.SUCCESS_STATES" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>check if aws conn exists already or create one and return it</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>boto3 session</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.run_query">
+<code class="sig-name descname">run_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query</em>, <em class="sig-param">query_context</em>, <em class="sig-param">result_configuration</em>, <em class="sig-param">client_request_token=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.run_query"><span class="viewcode-link">[source]</span [...]
+<dd><p>Run Presto query on athena with provided config and return submitted query_execution_id</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Presto query to run</p></li>
+<li><p><strong>query_context</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Context in which query need to be run</p></li>
+<li><p><strong>result_configuration</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – Dict with path to store results in and config related to encryption</p></li>
+<li><p><strong>client_request_token</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Unique token created by user to avoid multiple executions of same query</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status">
+<code class="sig-name descname">check_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.check_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.check_query_status" title="P [...]
+<dd><p>Fetch the status of submitted athena query. Returns None or one of valid query states.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_reason">
+<code class="sig-name descname">get_state_change_reason</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_state_change_reason"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_state_change_r [...]
+<dd><p>Fetch the reason for a state change (e.g. error message). Returns None or reason string.
+:param query_execution_id: Id of submitted athena query
+:type query_execution_id: str
+:return: str</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results">
+<code class="sig-name descname">get_query_results</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.get_query_results"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.get_query_results" title="Perm [...]
+<dd><p>Fetch submitted athena query results. returns none if query is in intermediate state or
+failed/cancelled state else dict of query output</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.poll_query_status">
+<code class="sig-name descname">poll_query_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em>, <em class="sig-param">max_tries=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.poll_query_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.A [...]
+<dd><p>Poll the status of submitted athena query until query state reaches final state.
+Returns one of the final states</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p></li>
+<li><p><strong>max_tries</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of times to poll for query state before function exits</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query">
+<code class="sig-name descname">stop_query</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">query_execution_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_athena_hook.html#AWSAthenaHook.stop_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_athena_hook.AWSAthenaHook.stop_query" title="Permalink to this definit [...]
+<dd><p>Cancel the submitted athena query</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>query_execution_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Id of submitted athena query</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
new file mode 100644
index 0000000..2833b86
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.html
@@ -0,0 +1,389 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_dynamodb_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_athena_hook" href="../aws_athena_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_dynamodb_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_dynamodb_hook">
+<span id="airflow-contrib-hooks-aws-dynamodb-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="airflow.contrib.hooks.aws_dynamodb_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_dynamodb_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_dynamodb_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_dynamodb_hook.</code><code class="sig-name descname">AwsDynamoDBHook</code><span class="sig-paren">(</span><em class="sig-param">table_keys=None</em>, <em class="sig-param">table_name=None</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_m [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS DynamoDB.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>table_keys</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)"><em>list</em></a>) – partition key and sort key</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – target DynamoDB table</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data">
+<code class="sig-name descname">write_batch_data</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">items</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_dynamodb_hook.html#AwsDynamoDBHook.write_batch_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_dynamodb_hook.AwsDynamoDBHook.write_batch_data" title="Permalink to [...]
+<dd><p>Write batch items to dynamodb table with provisioned throughout capacity.</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_athena_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_athena_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
new file mode 100644
index 0000000..62c0bf2
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_firehose_hook/index.html
@@ -0,0 +1,385 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_firehose_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_dynamodb_hook" href="../aws_dynamodb_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_firehose_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_firehose_hook">
+<span id="airflow-contrib-hooks-aws-firehose-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="airflow.contrib.hooks.aws_firehose_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_firehose_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_firehose_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_firehose_hook.</code><code class="sig-name descname">AwsFirehoseHook</code><span class="sig-paren">(</span><em class="sig-param">delivery_stream</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_ho [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Kinesis Firehose.
+:param delivery_stream: Name of the delivery stream
+:type delivery_stream: str
+:param region_name: AWS region name (example: us-east-1)
+:type region_name: str</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns AwsHook connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records">
+<code class="sig-name descname">put_records</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">records</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_firehose_hook.html#AwsFirehoseHook.put_records"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_firehose_hook.AwsFirehoseHook.put_records" title="Permalink to this definit [...]
+<dd><p>Write batch records to Kinesis Firehose</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_dynamodb_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_dynamodb_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
new file mode 100644
index 0000000..7561248
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.html
@@ -0,0 +1,474 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_glue_catalog_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_firehose_hook" href="../aws_firehose_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_glue_catalog_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_glue_catalog_hook">
+<span id="airflow-contrib-hooks-aws-glue-catalog-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="airflow.contrib.hooks.aws_glue_catalog_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_glue_catalog_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_glue_catalog_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_glue_catalog_hook.</code><code class="sig-name descname">AwsGlueCatalogHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hook [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Glue Catalog</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aws_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – ID of the Airflow connection where
+credentials and extra configuration are stored</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – aws region name (example: us-east-1)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Returns glue connection object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_partitions">
+<code class="sig-name descname">get_partitions</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression=''</em>, <em class="sig-param">page_size=None</em>, <em class="sig-param">max_items=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_par [...]
+<dd><p>Retrieves the partition values for a table.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the catalog database where the partitions reside.</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the partitions’ table.</p></li>
+<li><p><strong>expression</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – An expression filtering the partitions to be returned.
+Please see official AWS documentation for further information.
+<a class="reference external" href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions">https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions</a></p></li>
+<li><p><strong>page_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – pagination size</p></li>
+<li><p><strong>max_items</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – maximum items to return</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>set of partition values where each value is a tuple since
+a partition may be composed of multiple columns. For example:
+<code class="docutils literal notranslate"><span class="pre">{('2018-01-01','1'),</span> <span class="pre">('2018-01-01','2')}</span></code></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.check_for_partition">
+<code class="sig-name descname">check_for_partition</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em>, <em class="sig-param">expression</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.check_for_partition"><span class="viewcode-link">[source]</span></a><a class="headerlink" h [...]
+<dd><p>Checks whether a partition exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table &#64;partition belongs to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Expression</dt>
+<dd class="field-even"><p>Expression that matches the partitions to check for
+(eg <cite>a = ‘b’ AND c = ‘d’</cite>)</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">t</span> <span class="o">=</span> <span class="s">&#39;static_babynames_partitioned&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span><span class="o">.</span><span class="n">check_for_partition</span><span class="p">(</span><span class="s">&#39;airflow&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="s">&quot;ds=&#39;2015-01-01&#39;&quot;</span><span class="p">)</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table">
+<code class="sig-name descname">get_table</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCa [...]
+<dd><p>Get the information of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">hook</span> <span class="o">=</span> <span class="n">AwsGlueCatalogHook</span><span class="p">()</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">hook</span><span class="o">.</span><span class="n">get_table</span><span class="p">(</span><span class="s">&#39;db&#39;</span><span class="p">,</span> <span class="s">&#39;table_foo&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;table_foo&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_glue_catalog_hook.AwsGlueCatalogHook.get_table_location">
+<code class="sig-name descname">get_table_location</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em>, <em class="sig-param">table_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_glue_catalog_hook.html#AwsGlueCatalogHook.get_table_location"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_glue_cata [...]
+<dd><p>Get the physical location of the table</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>database_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive database (schema) &#64;table belongs to</p></li>
+<li><p><strong>table_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of hive table</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>str</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_firehose_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_firehose_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
new file mode 100644
index 0000000..b189308
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_hook/index.html
@@ -0,0 +1,432 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_glue_catalog_hook" href="../aws_glue_catalog_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_hook">
+<span id="airflow-contrib-hooks-aws-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_hook" title="airflow.contrib.hooks.aws_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="function">
+<dt id="airflow.contrib.hooks.aws_hook._parse_s3_config">
+<code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">_parse_s3_config</code><span class="sig-paren">(</span><em class="sig-param">config_file_name</em>, <em class="sig-param">config_format='boto'</em>, <em class="sig-param">profile=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#_parse_s3_config"><span class="viewcode-link">[source]</span></a>< [...]
+<dt>
+<code class="sig-name descname">Parses a config file for s3 credentials. Can currently</code></dt>
+<dt>
+<code class="sig-name descname">parse boto, s3cmd.conf and AWS SDK config formats</code></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>config_file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – path to the config file</p></li>
+<li><p><strong>config_format</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – config type. One of “boto”, “s3cmd” or “aws”.
+Defaults to “boto”</p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – profile name in AWS type config file</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_hook.</code><code class="sig-name descname">AwsHook</code><span class="sig-paren">(</span><em class="sig-param">aws_conn_id='aws_default'</em>, <em class="sig-param">verify=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href=" [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interact with AWS.
+This class is a thin wrapper around the boto3 python library.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook._get_credentials">
+<code class="sig-name descname">_get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook._get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook._get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_client_type">
+<code class="sig-name descname">get_client_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">client_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_client_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_resource_type">
+<code class="sig-name descname">get_resource_type</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_type</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_resource_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_session">
+<code class="sig-name descname">get_session</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_session" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying boto3.session.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.get_credentials">
+<code class="sig-name descname">get_credentials</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">region_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.get_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.get_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the underlying <cite>botocore.Credentials</cite> object.</p>
+<p>This contains the following authentication attributes: access_key, secret_key and token.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_hook.AwsHook.expand_role">
+<code class="sig-name descname">expand_role</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">role</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_hook.html#AwsHook.expand_role"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_hook.AwsHook.expand_role" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the IAM role is a role name, get the Amazon Resource Name (ARN) for the role.
+If IAM role is already an IAM role ARN, no change is made.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>role</strong> – IAM role name or ARN</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>IAM role ARN</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_glue_catalog_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_glue_catalog_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
new file mode 100644
index 0000000..b08bde0
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_lambda_hook/index.html
@@ -0,0 +1,391 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_lambda_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_logs_hook" href="../aws_logs_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_hook" href="../aws_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_lambda_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_lambda_hook">
+<span id="airflow-contrib-hooks-aws-lambda-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="airflow.contrib.hooks.aws_lambda_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_lambda_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_lambda_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_lambda_hook.</code><code class="sig-name descname">AwsLambdaHook</code><span class="sig-paren">(</span><em class="sig-param">function_name</em>, <em class="sig-param">region_name=None</em>, <em class="sig-param">log_type='None'</em>, <em class="sig-param">qualifier='$LATEST'</em>, <em class="sig-param">invocation_type='RequestResponse'</em>, <em class="sig-param">*args</em>, <em class="sig-p [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS Lambda</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>function_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Name</p></li>
+<li><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p></li>
+<li><p><strong>log_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Tail Invocation Request</p></li>
+<li><p><strong>qualifier</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Function Version or Alias Name</p></li>
+<li><p><strong>invocation_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Lambda Invocation Type (RequestResponse, Event etc)</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda">
+<code class="sig-name descname">invoke_lambda</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">payload</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_lambda_hook.html#AwsLambdaHook.invoke_lambda"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_lambda_hook.AwsLambdaHook.invoke_lambda" title="Permalink to this definitio [...]
+<dd><p>Invoke Lambda Function</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_logs_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_logs_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
new file mode 100644
index 0000000..a892019
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_logs_hook/index.html
@@ -0,0 +1,422 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_logs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_lambda_hook" href="../aws_lambda_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_logs_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_logs_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_logs_hook">
+<span id="airflow-contrib-hooks-aws-logs-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_logs_hook" title="airflow.contrib.hooks.aws_logs_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_logs_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_logs_hook" title="Permalink to this headline">¶</a></h1>
+<p><p>This module contains a hook (AwsLogsHook) with some very basic
+functionality for interacting with AWS CloudWatch.</p>
+</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_logs_hook.</code><code class="sig-name descname">AwsLogsHook</code><span class="sig-paren">(</span><em class="sig-param">region_name=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook"><span class="viewcode-link">[source [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with AWS CloudWatch Logs</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>region_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – AWS Region Name (example: us-west-2)</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Establish an AWS connection for retrieving logs.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client" title="(in Boto 3 Docs v1.9.221)">CloudWatchLogs.Client</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_logs_hook.AwsLogsHook.get_log_events">
+<code class="sig-name descname">get_log_events</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">log_group</em>, <em class="sig-param">log_stream_name</em>, <em class="sig-param">start_time=0</em>, <em class="sig-param">skip=0</em>, <em class="sig-param">start_from_head=True</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_logs_hook.html#AwsLogsHook.get_log_events"><span cl [...]
+<dd><p>A generator for log items in a single stream. This will yield all the
+items that are available at the current moment.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>log_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the log group.</p></li>
+<li><p><strong>log_stream_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the specific stream.</p></li>
+<li><p><strong>start_time</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – The time stamp value to start reading the logs from (default: 0).</p></li>
+<li><p><strong>skip</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – The number of log entries to skip at the start (default: 0).
+This is for when there are multiple entries at the same timestamp.</p></li>
+<li><p><strong>start_from_head</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – whether to start from the beginning (True) of the log or
+at the end of the log (False).</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><div class="line-block">
+<div class="line">A CloudWatch log event with the following key-value pairs:</div>
+<div class="line-block">
+<div class="line">’timestamp’ (int): The time in milliseconds of the event.</div>
+<div class="line">’message’ (str): The log event data.</div>
+<div class="line">’ingestionTime’ (int): The time in milliseconds the event was ingested.</div>
+</div>
+</div>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sns_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_lambda_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_lambda_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
new file mode 100644
index 0000000..6ee9b03
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sns_hook/index.html
@@ -0,0 +1,390 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sns_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_logs_hook" href="../aws_logs_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sns_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sns_hook">
+<span id="airflow-contrib-hooks-aws-sns-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sns_hook" title="airflow.contrib.hooks.aws_sns_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sns_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sns_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sns_hook.</code><code class="sig-name descname">AwsSnsHook</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Interact with Amazon Simple Notification Service.</p>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get an SNS connection</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_target">
+<code class="sig-name descname">publish_to_target</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">target_arn</em>, <em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sns_hook.html#AwsSnsHook.publish_to_target"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sns_hook.AwsSnsHook.publish_to_tar [...]
+<dd><p>Publish a message to a topic or an endpoint.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>target_arn</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – either a TopicArn or an EndpointArn</p></li>
+<li><p><strong>message</strong> – the default message you want to send</p></li>
+<li><p><strong>message</strong> – str</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_logs_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_logs_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
new file mode 100644
index 0000000..5e935bd
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/aws_sqs_hook/index.html
@@ -0,0 +1,428 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.aws_sqs_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sns_hook" href="../aws_sns_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/aws_sqs_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.aws_sqs_hook">
+<span id="airflow-contrib-hooks-aws-sqs-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="airflow.contrib.hooks.aws_sqs_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_sqs_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.aws_sqs_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.aws_sqs_hook.</code><code class="sig-name descname">SQSHook</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="../aws_hook/index.html#airflow.contrib.hooks.aws_hook.AwsHook" title="airflow.contrib.hooks.aws_hook.AwsHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.contrib.hooks.aws_hook.AwsHook</span></code></a></p>
+<p>Get the SQS client using boto3 library</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>SQS client</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>botocore.client.SQS</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue">
+<code class="sig-name descname">create_queue</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_name</em>, <em class="sig-param">attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.create_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.aws_sqs_hook.SQSHook.create_queue" title="P [...]
+<dd><p>Create queue using connection object</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – name of the queue.</p></li>
+<li><p><strong>attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – additional attributes for the queue (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the queue
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.create_queue()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.aws_sqs_hook.SQSHook.send_message">
+<code class="sig-name descname">send_message</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">queue_url</em>, <em class="sig-param">message_body</em>, <em class="sig-param">delay_seconds=0</em>, <em class="sig-param">message_attributes=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/aws_sqs_hook.html#SQSHook.send_message"><span class="viewcode-link">[source]</span></a><a [...]
+<dd><p>Send message to the queue</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>queue_url</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – queue url</p></li>
+<li><p><strong>message_body</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the contents of the message</p></li>
+<li><p><strong>delay_seconds</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – seconds to delay the message</p></li>
+<li><p><strong>message_attributes</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)"><em>dict</em></a>) – additional attributes for the message (default: None)
+For details of the attributes parameter see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>dict with the information about the message sent
+For details of the returned value see <code class="xref py py-meth docutils literal notranslate"><span class="pre">botocore.client.SQS.send_message()</span></code></p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.7)">dict</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sns_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sns_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
new file mode 100644
index 0000000..435022d
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_instance_hook/index.html
@@ -0,0 +1,510 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_instance_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.aws_sqs_hook" href="../aws_sqs_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_instance_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_instance_hook">
+<span id="airflow-contrib-hooks-azure-container-instance-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="airflow.contrib.hooks.azure_container_instance_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_instance_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_instance_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_instance_hook.</code><code class="sig-name descname">AzureContainerInstanceHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook"><span class="viewcode-link">[source]< [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with Azure Container Instances.</p>
+<p>This hook requires a service principal in order to work.
+After creating this service principal
+(Azure Active Directory/App Registrations), you need to fill in the
+client_id (Application ID) as login, the generated password as password,
+and tenantId and subscriptionId in the extra’s field as a json.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.create_or_update">
+<code class="sig-name descname">create_or_update</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">container_group</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.create_or_update"><span class="viewcode-link">[source]</span></a><a class="hea [...]
+<dd><p>Create a new container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>container_group</strong> (<em>azure.mgmt.containerinstance.models.ContainerGroup</em>) – the properties of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state_exitcode_details">
+<code class="sig-name descname">get_state_exitcode_details</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state_exitcode_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd><p>Get the state and exitcode of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A tuple with the state, exitcode, and details.
+If the exitcode is unknown 0 is returned.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)">tuple</a>(state,exitcode,details)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_messages">
+<code class="sig-name descname">get_messages</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_messages"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_containe [...]
+<dd><p>Get the messages of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of the event messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_state">
+<code class="sig-name descname">get_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_inst [...]
+<dd><p>Get the state of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>ContainerGroup</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>ContainerGroup</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.get_logs">
+<code class="sig-name descname">get_logs</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em>, <em class="sig-param">tail=1000</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflo [...]
+<dd><p>Get the tail from logs of a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+<li><p><strong>tail</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – the size of the tail</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of log messages</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)">str</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.delete">
+<code class="sig-name descname">delete</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Delete a container group</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_instance_hook.AzureContainerInstanceHook.exists">
+<code class="sig-name descname">exists</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">resource_group</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_instance_hook.html#AzureContainerInstanceHook.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_instance_h [...]
+<dd><p>Test if a container group exists</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>resource_group</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the resource group</p></li>
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – the name of the container group</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../aws_sqs_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.aws_sqs_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
new file mode 100644
index 0000000..41a872e
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_registry_hook/index.html
@@ -0,0 +1,380 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_registry_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_instance_hook" href="../azure_container_instance_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_registry_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_registry_hook">
+<span id="airflow-contrib-hooks-azure-container-registry-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="airflow.contrib.hooks.azure_container_registry_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_registry_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_registry_hook" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_registry_hook.</code><code class="sig-name descname">AzureContainerRegistryHook</code><span class="sig-paren">(</span><em class="sig-param">conn_id='azure_registry'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook"><span class="viewcode-link">[source] [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook to communicate with a Azure Container Registry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a service principal which will be used
+to start the container instance</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_registry_hook.html#AzureContainerRegistryHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_registry_hook.AzureContainerRegistryHook.get_conn" title="Permalink to this defini [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_instance_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_instance_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
new file mode 100644
index 0000000..00948ce
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_container_volume_hook/index.html
@@ -0,0 +1,385 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_container_volume_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_registry_hook" href="../azure_container_registry_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_container_volume_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_container_volume_hook">
+<span id="airflow-contrib-hooks-azure-container-volume-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="airflow.contrib.hooks.azure_container_volume_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_container_volume_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_container_volume_hook" title="Permalink to this headline">¶< [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_container_volume_hook.</code><code class="sig-name descname">AzureContainerVolumeHook</code><span class="sig-paren">(</span><em class="sig-param">wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook"><span class="viewcode-link">[source]</spa [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>A hook which wraps an Azure Volume.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – connection id of a Azure storage account of
+which file shares should be mounted</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey">
+<code class="sig-name descname">get_storagekey</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_storagekey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_storagekey" title="Permalink to t [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_container_volume_hook.AzureContainerVolumeHook.get_file_volume">
+<code class="sig-name descname">get_file_volume</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">mount_name</em>, <em class="sig-param">share_name</em>, <em class="sig-param">storage_account_name</em>, <em class="sig-param">read_only=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_container_volume_hook.html#AzureContainerVolumeHook.get_file_volume"><span class="vi [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_registry_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_registry_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
new file mode 100644
index 0000000..0ed2333
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_cosmos_hook/index.html
@@ -0,0 +1,475 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_cosmos_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_container_volume_hook" href="../azure_container_volume_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_cosmos_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_cosmos_hook">
+<span id="airflow-contrib-hooks-azure-cosmos-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="airflow.contrib.hooks.azure_cosmos_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_cosmos_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_cosmos_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">AzureCosmosDBHook</code><span class="sig-paren">(</span><em class="sig-param">azure_cosmos_conn_id='azure_cosmos_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook"><span class="viewcode-link">[source]</span></a><a class="he [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure CosmosDB.</p>
+<p>login should be the endpoint uri, password should be the master key
+optionally, you can use the following extras to default these values
+{“database_name”: “&lt;DATABASE_NAME&gt;”, “collection_name”: “COLLECTION_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_cosmos_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure CosmosDB connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a cosmos db client.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database_name">
+<code class="sig-name descname">__get_database_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_database_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_database [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_collection_name">
+<code class="sig-name descname">__get_collection_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.__get_collection_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.__get_co [...]
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_collection_exist">
+<code class="sig-name descname">does_collection_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_collection_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.az [...]
+<dd><p>Checks if a collection exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_collection">
+<code class="sig-name descname">create_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Creates a new collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist">
+<code class="sig-name descname">does_database_exist</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.does_database_exist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.does_database_exist [...]
+<dd><p>Checks if a database exists in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database">
+<code class="sig-name descname">create_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.create_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.create_database" title="Per [...]
+<dd><p>Creates a new database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database">
+<code class="sig-name descname">delete_database</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">database_name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_database" title="Per [...]
+<dd><p>Deletes an existing database in CosmosDB.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_collection">
+<code class="sig-name descname">delete_collection</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">collection_name</em>, <em class="sig-param">database_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_collection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosm [...]
+<dd><p>Deletes an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.upsert_document">
+<code class="sig-name descname">upsert_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">document_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.upsert_document"><span class="viewcode-lin [...]
+<dd><p>Inserts a new document (or updates an existing one) into an existing
+collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.insert_documents">
+<code class="sig-name descname">insert_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">documents</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.insert_documents"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Insert a list of new documents into an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.delete_document">
+<code class="sig-name descname">delete_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.delete_document"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Delete an existing document out of a collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_document">
+<code class="sig-name descname">get_document</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">document_id</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_document"><span class="viewcode-link">[source]</span></a><a class="headerlink" href [...]
+<dd><p>Get a document from an existing collection in the CosmosDB database.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.AzureCosmosDBHook.get_documents">
+<code class="sig-name descname">get_documents</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">sql_string</em>, <em class="sig-param">database_name=None</em>, <em class="sig-param">collection_name=None</em>, <em class="sig-param">partition_key=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#AzureCosmosDBHook.get_documents"><span class="viewcode-lin [...]
+<dd><p>Get a list of documents from an existing collection in the CosmosDB database via SQL query.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_database_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_database_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_database_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_cosmos_hook.get_dat [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_collection_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_collection_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_collection_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#a [...]
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="airflow.contrib.hooks.azure_cosmos_hook.get_document_link">
+<code class="sig-prename descclassname">airflow.contrib.hooks.azure_cosmos_hook.</code><code class="sig-name descname">get_document_link</code><span class="sig-paren">(</span><em class="sig-param">database_id</em>, <em class="sig-param">collection_id</em>, <em class="sig-param">document_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_cosmos_hook.html#get_document_link"><span class="viewcode-link">[source]</spa [...]
+<dd></dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_data_lake_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_data_lake_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_container_volume_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_container_volume_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
new file mode 100644
index 0000000..7e4a8f1
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_data_lake_hook/index.html
@@ -0,0 +1,457 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_data_lake_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.azure_fileshare_hook" href="../azure_fileshare_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_cosmos_hook" href="../azure_cosmos_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_data_lake_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_data_lake_hook">
+<span id="airflow-contrib-hooks-azure-data-lake-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="airflow.contrib.hooks.azure_data_lake_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_data_lake_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_data_lake_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_data_lake_hook.</code><code class="sig-name descname">AzureDataLakeHook</code><span class="sig-paren">(</span><em class="sig-param">azure_data_lake_conn_id='azure_data_lake_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook"><span class="viewcode-link">[source]</span></a> [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure Data Lake.</p>
+<p>Client ID and client secret should be in user and password parameters.
+Tenant and account name should be extra field as
+{“tenant”: “&lt;TENANT&gt;”, “account_name”: “ACCOUNT_NAME”}.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>azure_data_lake_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the Azure Data Lake connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return a AzureDLFileSystem object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file">
+<code class="sig-name descname">check_for_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">file_path</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data_lake_hook.html#AzureDataLakeHook.check_for_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.check_for_file" title="Perm [...]
+<dd><p>Check if a file exists on Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Path and name of the file.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.upload_file">
+<code class="sig-name descname">upload_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">local_path</em>, <em class="sig-param">remote_path</em>, <em class="sig-param">nthreads=64</em>, <em class="sig-param">overwrite=True</em>, <em class="sig-param">buffersize=4194304</em>, <em class="sig-param">blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_data [...]
+<dd><p>Upload a file to Azure Data Lake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. Can be single file, directory (in which case,
+upload recursively) or glob pattern. Recursive glob patterns using <cite>**</cite>
+are not supported.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Remote path to upload to; if multiple files, this is the
+directory root to write within.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_data_lake_hook.AzureDataLakeHook.download_file">
+<code class="sig-name descname">download_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">local_path</em>, <em class="sig-param">remote_path</em>, <em class="sig-param">nthreads=64</em>, <em class="sig-param">overwrite=True</em>, <em class="sig-param">buffersize=4194304</em>, <em class="sig-param">blocksize=4194304</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_da [...]
+<dd><p>Download a file from Azure Blob Storage.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>local_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – local path. If downloading a single file, will write to this
+specific file, unless it is an existing directory, in which case a file is
+created within it. If downloading multiple files, this is the root
+directory to write within. Will create directories as required.</p></li>
+<li><p><strong>remote_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – remote path/globstring to use to find remote files.
+Recursive glob patterns using <cite>**</cite> are not supported.</p></li>
+<li><p><strong>nthreads</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – Number of threads to use. If None, uses the number of cores.</p></li>
+<li><p><strong>overwrite</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Whether to forcibly overwrite existing files/directories.
+If False and remote path is a directory, will quit regardless if any files
+would be overwritten or not. If True, only matching filenames are actually
+overwritten.</p></li>
+<li><p><strong>buffersize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for internal buffer. This block cannot be bigger than
+a chunk and cannot be smaller than a block.</p></li>
+<li><p><strong>blocksize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.7)"><em>int</em></a>) – int [2**22]
+Number of bytes for a block. Within each chunk, we write a smaller
+block for each API call. This block cannot be bigger than a chunk.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          
+
+<footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../azure_fileshare_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.azure_fileshare_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../azure_cosmos_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.azure_cosmos_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div class="footer">This page uses <a href="https://analytics.google.com/">
+    Google Analytics</a> to collect statistics. You can disable it by blocking
+    the JavaScript coming from www.google-analytics.com. Check our
+    <a href="../../../../../privacy_notice.html">Privacy Policy</a>
+    for more details.
+    <script type="text/javascript">
+      (function() {
+        var ga = document.createElement('script');
+        ga.src = ('https:' == document.location.protocol ?
+          'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        ga.setAttribute('async', 'true');
+        document.documentElement.firstChild.appendChild(ga);
+      })();
+    </script>
+  </div>
+
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
new file mode 100644
index 0000000..2bea5df
--- /dev/null
+++ b/1.10.5/_api/airflow/contrib/hooks/azure_fileshare_hook/index.html
@@ -0,0 +1,562 @@
+
+
+<!--
+Javascript to render AIRFLOW-XXX and PR references in text
+as HTML links.
+
+Overrides extrahead block from sphinx_rtd_theme
+https://www.sphinx-doc.org/en/master/templating.html
+-->
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>airflow.contrib.hooks.azure_fileshare_hook &mdash; Airflow Documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../../../search.html" />
+    <link rel="next" title="airflow.contrib.hooks.bigquery_hook" href="../bigquery_hook/index.html" />
+    <link rel="prev" title="airflow.contrib.hooks.azure_data_lake_hook" href="../azure_data_lake_hook/index.html" />
+   
+  <script>
+    document.addEventListener('DOMContentLoaded', function() {
+      var el = document.getElementById('changelog');
+      if (el !== null ) {
+        // [AIRFLOW-...]
+        el.innerHTML = el.innerHTML.replace(
+            /\[(AIRFLOW-[\d]+)\]/g,
+            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
+        );
+        // (#...)
+        el.innerHTML = el.innerHTML.replace(
+            /\(#([\d]+)\)/g,
+            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
+        );
+      };
+    })
+  </script>
+    <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-140539454-1']);
+    _gaq.push(['_trackPageview']);
+  </script>
+  <style>
+    .example-header {
+      position: relative;
+      background: #9AAA7A;
+      padding: 8px 16px;
+      margin-bottom: 0;
+    }
+    .example-header--with-button {
+      padding-right: 166px;
+    }
+    .example-header:after{
+      content: '';
+      display: table;
+      clear: both;
+    }
+    .example-title {
+      display:block;
+      padding: 4px;
+      margin-right: 16px;
+      color: white;
+      overflow-x: auto;
+    }
+    .example-header-button {
+      top: 8px;
+      right: 16px;
+      position: absolute;
+    }
+    .example-header + .highlight-python {
+      margin-top: 0 !important;
+    }
+    .viewcode-button {
+      display: inline-block;
+      padding: 8px 16px;
+      border: 0;
+      margin: 0;
+      outline: 0;
+      border-radius: 2px;
+      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
+      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+      color: #404040;
+      background-color: #e7e7e7;
+      cursor: pointer;
+      font-size: 16px;
+      font-weight: 500;
+      line-height: 1;
+      text-decoration: none;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      text-transform: uppercase;
+      -webkit-transition: background-color .2s;
+      transition: background-color .2s;
+      vertical-align: middle;
+      white-space: nowrap;
+    }
+    .viewcode-button:visited {
+      color: #404040;
+    }
+    .viewcode-button:hover, .viewcode-button:focus {
+      color: #404040;
+      background-color: #d6d6d6;
+    }
+  </style>
+
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../../../index.html" class="icon icon-home"> Airflow
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.10.4
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../../../index.html">Airflow</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
+        
+          <li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
+        
+      <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../../../../_sources/_api/airflow/contrib/hooks/azure_fileshare_hook/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="module-airflow.contrib.hooks.azure_fileshare_hook">
+<span id="airflow-contrib-hooks-azure-fileshare-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="airflow.contrib.hooks.azure_fileshare_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.azure_fileshare_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.azure_fileshare_hook" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.azure_fileshare_hook.</code><code class="sig-name descname">AzureFileShareHook</code><span class="sig-paren">(</span><em class="sig-param">wasb_conn_id='wasb_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook"><span class="viewcode-link">[source]</span></a><a class="headerlink [...]
+<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
+<p>Interacts with Azure FileShare Storage.</p>
+<p>Additional options passed in the ‘extra’ field of the connection will be
+passed to the <cite>FileService()</cite> constructor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>wasb_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Reference to the wasb connection.</p>
+</dd>
+</dl>
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn">
+<code class="sig-name descname">get_conn</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.get_conn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.get_conn" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the FileService object.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_directory">
+<code class="sig-name descname">check_for_directory</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" hre [...]
+<dd><p>Check if a directory exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.check_for_file">
+<code class="sig-name descname">check_for_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">file_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.check_for_file"><span class="viewcode-link">[source]</span>< [...]
+<dd><p>Check if a file exists on Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>file_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the file.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.exists()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the file exists, False otherwise.</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.list_directories_and_files">
+<code class="sig-name descname">list_directories_and_files</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name=None</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.list_directories_and_files"><span class="viewcode-link">[source]</span></a><a cla [...]
+<dd><p>Return the list of directories and files stored on a Azure File Share.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>share_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the share.</p></li>
+<li><p><strong>directory_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Name of the directory.</p></li>
+<li><p><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><em>object</em></a>) – Optional keyword arguments that
+<cite>FileService.list_directories_and_files()</cite> takes.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A list of files and directories</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.7)">list</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="airflow.contrib.hooks.azure_fileshare_hook.AzureFileShareHook.create_directory">
+<code class="sig-name descname">create_directory</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">share_name</em>, <em class="sig-param">directory_name</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/azure_fileshare_hook.html#AzureFileShareHook.create_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ai [...]
... 601075 lines suppressed ...